(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.4)} spids:[233])]
      spids: [233]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TIMESTAMP) op:Equal rhs:{(DQ )} spids:[236])]
      spids: [236]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:package_revision) op:Equal rhs:{(1.3293)} spids:[240])]
      spids: [240]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(test)} {(-n)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name ZSH_VERSION>
                            suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                            spids: [254 258]
                          )
                        )
                      }
                    )
                    (Subshell
                      child: (C {(emulate)} {(sh)})
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [269]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [272]
                        )
                      ]
                      spids: [263 267]
                    )
                  ]
                  op_id: Op_DAmp
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(emulate)} {(sh)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NULLCMD)
                  op: Equal
                  rhs: {(Lit_Other ":")}
                  spids: [284]
                )
              ]
              spids: [284]
            )
            (C {(alias)} {(-g)} {(SQ <"${1+\"$@\"}">) (Lit_Other "=") (SQ <"\"$@\"">)})
            (C {(setopt)} {(NO_GLOB_SUBST)})
          ]
          spids: [-1 276]
        )
      ]
      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:[325])]
                        spids: [319 323]
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [318 327]
              )
            }
          arms: [
            (case_arm
              pat_list: [{(Lit_Other "*") (posix) (Lit_Other "*")}]
              action: [(C {(set)} {(-o)} {(posix)})]
              spids: [331 334 341 -1]
            )
          ]
          spids: [316 329 343]
        )
      ]
      spids: [313 345]
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:BIN_SH) op:Equal rhs:{(xpg4)} spids:[347])]
          spids: [347]
        )
      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:[358])]
          spids: [358]
        )
      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: [378]
        )
      spids: [373 377]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_user_locale) op:Equal rhs:{(SQ )} spids:[395])]
      spids: [395]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_safe_locale) op:Equal rhs:{(SQ )} spids:[397])]
      spids: [397]
    )
    (ForEach
      iter_name: lt_var
      iter_words: [{(LANG)} {(LANGUAGE)} {(LC_ALL)} {(LC_CTYPE)} {(LC_COLLATE)} {(LC_MESSAGES)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(eval)} 
              {
                (DQ ("if test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{") ($ 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: [417 467]
        )
      spids: [404 -1]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:LC_ALL) op:Equal rhs:{(C)} spids:[469])]
      spids: [469]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:LANGUAGE) op:Equal rhs:{(C)} spids:[472])]
      spids: [472]
    )
    (C {(export)} {(LANGUAGE)} {(LC_ALL)})
    (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: [503]
        )
      ]
      spids: [503]
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name CP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("cp -f"))})
          spids: [513 519]
        )
      }
    )
    (AndOr
      children: [
        (C {(test)} 
          {
            (DQ 
              (BracedVarSub
                token: <VSub_Name ECHO>
                suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                spids: [524 528]
              )
            )
          } {(Lit_Other "=")} {(set)}
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:ECHO)
              op: Equal
              rhs: 
                {
                  (BracedVarSub
                    token: <VSub_Name as_echo>
                    suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ <"printf %s\\n">)})
                    spids: [538 544]
                  )
                }
              spids: [537]
            )
          ]
          spids: [537]
        )
      ]
      op_id: Op_DPipe
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name EGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("grep -E"))})
          spids: [548 554]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name FGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("grep -F"))})
          spids: [558 564]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name GREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (grep))})
          spids: [568 574]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name LN_S>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("ln -s"))})
          spids: [578 584]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name MAKE>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (make))})
          spids: [588 594]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name MKDIR>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (mkdir))})
          spids: [598 604]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name MV>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("mv -f"))})
          spids: [608 614]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name RM>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("rm -f"))})
          spids: [618 624]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name SED>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (sed))})
          spids: [628 634]
        )
      }
    )
    (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: [642 649]
                    )
                  )
                }
            )
          spids: [638 651]
        )
      }
    )
    (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: [655 662]
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SUCCESS) op:Equal rhs:{(0)} spids:[668])]
      spids: [668]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_FAILURE) op:Equal rhs:{(1)} spids:[671])]
      spids: [671]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_MISMATCH) op:Equal rhs:{(63)} spids:[674])]
      spids: [674]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SKIP) op:Equal rhs:{(77)} spids:[680])]
      spids: [680]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:exit_status)
          op: Equal
          rhs: {($ VSub_Name "$EXIT_SUCCESS")}
          spids: [687]
        )
      ]
      spids: [687]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_nl) op:Equal rhs:{(SQ <"\n">)} spids:[694])]
      spids: [694]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:IFS)
          op: Equal
          rhs: {(DQ (" \t") ($ VSub_Name "$lt_nl"))}
          spids: [699]
        )
      ]
      spids: [699]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:dirname)
          op: Equal
          rhs: {(DQ ("s,/[^/]*") (Lit_Other "$") (",,"))}
          spids: [706]
        )
      ]
      spids: [706]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:basename) op:Equal rhs:{(DQ ("s,^.*/,,"))} spids:[713])]
      spids: [713]
    )
    (FuncDef
      name: func_dirname
      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")} {(DQ ($ VSub_Name "$dirname"))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [737 753]
                      )
                    }
                  spids: [736]
                )
              ]
              spids: [736]
            )
            (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: [778]
                        )
                      ]
                      spids: [778]
                    )
                  ]
                  spids: [-1 775]
                )
              ]
              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: [789]
                    )
                  ]
                  spids: [789]
                )
              ]
              spids: [786 798]
            )
          ]
          spids: [733]
        )
      spids: [728 732]
    )
    (FuncDef
      name: func_basename
      body: 
        (BraceGroup
          children: [
            (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")} {(DQ ($ VSub_Name "$basename"))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [819 835]
                      )
                    }
                  spids: [818]
                )
              ]
              spids: [818]
            )
          ]
          spids: [815]
        )
      spids: [810 814]
    )
    (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: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [893 911]
                      )
                    }
                  spids: [892]
                )
              ]
              spids: [892]
            )
            (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: [936]
                        )
                      ]
                      spids: [936]
                    )
                  ]
                  spids: [-1 933]
                )
              ]
              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: [947]
                    )
                  ]
                  spids: [947]
                )
              ]
              spids: [944 956]
            )
            (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: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [960 978]
                      )
                    }
                  spids: [959]
                )
              ]
              spids: [959]
            )
          ]
          spids: [885]
        )
      spids: [880 884]
    )
    (FuncDef
      name: func_stripname
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {(${ VSub_Number 2)}
              arms: [
                (case_arm
                  pat_list: [{(.) (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_stripname_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name "$ECHO")} {(DQ (${ VSub_Number 3))})
                                          (C {($ VSub_Name "$SED")} 
                                            {
                                              (DQ ("s%^") (${ VSub_Number 1) ("%%; s%") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\\\">
                                                ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (${ VSub_Number 2) 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\$">
                                                ) ("%%")
                                              )
                                            }
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [1027 1054]
                              )
                            }
                          spids: [1026]
                        )
                      ]
                      spids: [1026]
                    )
                  ]
                  spids: [1022 1024 1055 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_stripname_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name "$ECHO")} {(DQ (${ VSub_Number 3))})
                                          (C {($ VSub_Name "$SED")} 
                                            {
                                              (DQ ("s%^") (${ VSub_Number 1) ("%%; s%") 
                                                (${ VSub_Number 2) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("%%")
                                              )
                                            }
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [1062 1087]
                              )
                            }
                          spids: [1061]
                        )
                      ]
                      spids: [1061]
                    )
                  ]
                  spids: [1058 1059 1088 -1]
                )
              ]
              spids: [1013 1019 1091]
            )
          ]
          spids: [1010]
        )
      spids: [1005 1009]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pathcar)
          op: Equal
          rhs: {(SQ <"s,^/\\([^/]*\\).*$,\\1,">)}
          spids: [1103]
        )
      ]
      spids: [1103]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pathcdr)
          op: Equal
          rhs: {(SQ <"s,^/[^/]*,,">)}
          spids: [1108]
        )
      ]
      spids: [1108]
    )
    (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: [1113]
        )
      ]
      spids: [1113]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:collapseslashes)
          op: Equal
          rhs: {(SQ <"s@/\\{1,\\}@/@g">)}
          spids: [1121]
        )
      ]
      spids: [1121]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:finalslash)
          op: Equal
          rhs: {(SQ <"s,/*$,/,">)}
          spids: [1126]
        )
      ]
      spids: [1126]
    )
    (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: {(SQ )}
                  spids: [1159]
                )
              ]
              spids: [1159]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_tpath)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [1162]
                )
              ]
              spids: [1162]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_altnamespace)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [1166]
                )
              ]
              spids: [1166]
            )
            (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: [1195 1197]
                          )
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_result)
                          op: Equal
                          rhs: {($ VSub_Name "$func_stripname_result")}
                          spids: [1201]
                        )
                      ]
                      spids: [1201]
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [-1 1178 1208 -1]
                )
                (case_arm pat_list:[{(///) (Lit_Other "*")}] spids:[122312251232-1])
                (case_arm
                  pat_list: [{(//) (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_altnamespace)
                          op: Equal
                          rhs: {(/)}
                          spids: [1252]
                        )
                      ]
                      spids: [1252]
                    )
                  ]
                  spids: [1235 1237 1256 -1]
                )
                (case_arm pat_list:[{(/) (Lit_Other "*")}] spids:[125912611268-1])
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_tpath)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(pwd)})])
                                left_token: <Left_Backtick "`">
                                spids: [1280 1282]
                              ) (/) ($ VSub_Name "$func_normal_abspath_tpath")
                            }
                          spids: [1279]
                        )
                      ]
                      spids: [1279]
                    )
                  ]
                  spids: [1271 1272 1287 -1]
                )
              ]
              spids: [1169 1173 1290]
            )
            (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: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [1306 1336]
                      )
                    }
                  spids: [1305]
                )
              ]
              spids: [1305]
            )
            (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: [1387]
                                        )
                                      ]
                                      spids: [1387]
                                    )
                                  ]
                                  spids: [-1 1384]
                                )
                              ]
                              spids: [-1 1391]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [-1 1365]
                        )
                      ]
                      spids: [-1 1397]
                    )
                    (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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [1401 1419]
                              )
                            }
                          spids: [1400]
                        )
                      ]
                      spids: [1400]
                    )
                    (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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [1423 1441]
                              )
                            }
                          spids: [1422]
                        )
                      ]
                      spids: [1422]
                    )
                    (Case
                      to_match: {($ VSub_Name "$func_normal_abspath_tcomponent")}
                      arms: [
                        (case_arm pat_list:[{(DQ )}] spids:[-114571464-1])
                        (case_arm
                          pat_list: [{(..)}]
                          action: [
                            (C {(func_dirname)} {(DQ ($ VSub_Name "$func_normal_abspath_result"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_normal_abspath_result)
                                  op: Equal
                                  rhs: {($ VSub_Name "$func_dirname_result")}
                                  spids: [1482]
                                )
                              ]
                              spids: [1482]
                            )
                          ]
                          spids: [1467 1468 1486 -1]
                        )
                        (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: [1497]
                                )
                              ]
                              spids: [1497]
                            )
                          ]
                          spids: [1489 1490 1503 -1]
                        )
                      ]
                      spids: [1448 1452 1506]
                    )
                  ]
                  spids: [1344 1509]
                )
            )
            (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: [1516]
                )
              ]
              spids: [1516]
            )
          ]
          spids: [1152]
        )
      spids: [1147 1151]
    )
    (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: {(SQ )}
                  spids: [1546]
                )
              ]
              spids: [1546]
            )
            (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: [1556]
                )
              ]
              spids: [1556]
            )
            (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: [1567]
                )
              ]
              spids: [1567]
            )
            (While
              cond: [(Sentence child:(C {(Lit_Other ":")}) terminator:<Op_Semi ";">)]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$func_relative_path_tbindir")}
                      arms: [
                        (case_arm
                          pat_list: [{($ VSub_Name "$func_relative_path_tlibdir")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_tcancelled)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [1603]
                                )
                              ]
                              spids: [1603]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [1595 1596 1609 -1]
                        )
                        (case_arm
                          pat_list: [{($ VSub_Name "$func_relative_path_tlibdir") (Lit_Other "*")}]
                          action: [
                            (C {(func_stripname)} {(DQ ($ VSub_Name "$func_relative_path_tlibdir"))} {(SQ )} 
                              {(DQ ($ VSub_Name "$func_relative_path_tbindir"))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_tcancelled)
                                  op: Equal
                                  rhs: {($ VSub_Name "$func_stripname_result")}
                                  spids: [1635]
                                )
                              ]
                              spids: [1635]
                            )
                            (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: [1653]
                                        )
                                      ]
                                      spids: [1653]
                                    )
                                  ]
                                  spids: [-1 1650]
                                )
                              ]
                              spids: [-1 1657]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [1612 1614 1663 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (C {(func_dirname)} {($ VSub_Name "$func_relative_path_tlibdir")})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_tlibdir)
                                  op: Equal
                                  rhs: {(${ VSub_Name func_dirname_result)}
                                  spids: [1675]
                                )
                              ]
                              spids: [1675]
                            )
                            (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: [1703]
                                        )
                                      ]
                                      spids: [1703]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_relative_path_tcancelled)
                                          op: Equal
                                          rhs: {($ VSub_Name "$func_relative_path_tbindir")}
                                          spids: [1708]
                                        )
                                      ]
                                      spids: [1708]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [-1 1696]
                                )
                              ]
                              spids: [-1 1715]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_result)
                                  op: Equal
                                  rhs: {(../) ($ VSub_Name "$func_relative_path_result")}
                                  spids: [1718]
                                )
                              ]
                              spids: [1718]
                            )
                          ]
                          spids: [1666 1667 1723 -1]
                        )
                      ]
                      spids: [1588 1592 1726]
                    )
                  ]
                  spids: [1581 1729]
                )
            )
            (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: [1751]
                )
              ]
              spids: [1751]
            )
            (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: [1789]
                        )
                      ]
                      spids: [1789]
                    )
                  ]
                  spids: [-1 1786]
                )
              ]
              spids: [-1 1799]
            )
            (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: [1846]
                        )
                      ]
                      spids: [1846]
                    )
                  ]
                  spids: [-1 1828]
                )
              ]
              spids: [-1 1850]
            )
          ]
          spids: [1543]
        )
      spids: [1538 1542]
    )
    (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: [1864]
        )
      ]
      spids: [1864]
    )
    (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: [1878 1890 1892 -1]
        )
        (case_arm
          pat_list: [
            {(Lit_Other "*") (Lit_Other "[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (/) 
              (Lit_Other "]") (Lit_Other "*")
            }
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progdir)
                  op: Equal
                  rhs: {($ VSub_Name "$func_dirname_result")}
                  spids: [1904]
                )
              ]
              spids: [1904]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progdir)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                children: [(C {(cd)} {(DQ ($ VSub_Name "$progdir"))}) (C {(pwd)})]
                                op_id: Op_DAmp
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [1909 1919]
                      )
                    }
                  spids: [1908]
                )
              ]
              spids: [1908]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$progdir") (/) ($ VSub_Name "$progname"))}
                  spids: [1922]
                )
              ]
              spids: [1922]
            )
          ]
          spids: [1895 1901 1930 -1]
        )
        (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: [1937]
                )
              ]
              spids: [1937]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {(Lit_Other ":")}
                  spids: [1943]
                )
              ]
              spids: [1943]
            )
            (ForEach
              iter_name: progdir
              iter_words: [{($ VSub_Name "$PATH")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$save_IFS"))}
                          spids: [1959]
                        )
                      ]
                      spids: [1959]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-x)} {(DQ ($ VSub_Name "$progdir") (/) ($ VSub_Name "$progname"))})
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [1956 1980]
                )
              spids: [1952 1954]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$save_IFS"))}
                  spids: [1983]
                )
              ]
              spids: [1983]
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$progdir"))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:progdir)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(pwd)})])
                            left_token: <Left_Backtick "`">
                            spids: [2000 2002]
                          )
                        }
                      spids: [1999]
                    )
                  ]
                  spids: [1999]
                )
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$progdir") (/) ($ VSub_Name "$progname"))}
                  spids: [2005]
                )
              ]
              spids: [2005]
            )
          ]
          spids: [1933 1934 2013 -1]
        )
      ]
      spids: [1871 1875 2015]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:Xsed)
          op: Equal
          rhs: {(DQ (${ VSub_Name SED)) (SQ <" -e 1s/^X//">)}
          spids: [2024]
        )
      ]
      spids: [2024]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_quote_subst)
          op: Equal
          rhs: {(SQ <"s/\\([`\"$\\\\]\\)/\\\\\\1/g">)}
          spids: [2034]
        )
      ]
      spids: [2034]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:double_quote_subst)
          op: Equal
          rhs: {(SQ <"s/\\([\"`\\\\]\\)/\\\\\\1/g">)}
          spids: [2043]
        )
      ]
      spids: [2043]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_make_literal_regex)
          op: Equal
          rhs: {(SQ <"s,[].[^$\\\\*\\/],\\\\&,g">)}
          spids: [2055]
        )
      ]
      spids: [2055]
    )
    (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: [2070]
        )
      ]
      spids: [2070]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:bs) op:Equal rhs:{(SQ <"\\\\">)} spids:[2091])]
      spids: [2091]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:bs2) op:Equal rhs:{(SQ <"\\\\\\\\">)} spids:[2096])]
      spids: [2096]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:bs4)
          op: Equal
          rhs: {(SQ <"\\\\\\\\\\\\\\\\">)}
          spids: [2101]
        )
      ]
      spids: [2101]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:dollar) op:Equal rhs:{(SQ <"\\$">)} spids:[2106])]
      spids: [2106]
    )
    (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/") 
                (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) (//g)
              )
            }
          spids: [2111]
        )
      ]
      spids: [2111]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[2151])]
      spids: [2151]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_help) op:Equal rhs:{(false)} spids:[2154])]
      spids: [2154]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_quiet) op:Equal rhs:{(false)} spids:[2157])]
      spids: [2157]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_verbose) op:Equal rhs:{(false)} spids:[2160])]
      spids: [2160]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:opt_warning)
          op: Equal
          rhs: {(Lit_Other ":")}
          spids: [2163]
        )
      ]
      spids: [2163]
    )
    (FuncDef
      name: func_echo
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ($ VSub_Name "$progname") (": ") 
                  (BracedVarSub
                    token: <VSub_Name opt_mode>
                    suffix_op: 
                      (StringUnary
                        op_id: VTest_Plus
                        arg_word: {($ VSub_Name "$opt_mode") (": ")}
                      )
                    spids: [2189 2194]
                  ) ($ VSub_Star "$*")
                )
              }
            )
          ]
          spids: [2181]
        )
      spids: [2176 2180]
    )
    (FuncDef
      name: func_verbose
      body: 
        (BraceGroup
          children: [
            (AndOr
              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: [2221 2227]
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
            (C {(Lit_Other ":")})
          ]
          spids: [2212]
        )
      spids: [2207 2211]
    )
    (FuncDef
      name: func_echo_all
      body: 
        (BraceGroup
          children: [(C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Star "$*"))})]
          spids: [2259]
        )
      spids: [2254 2258]
    )
    (FuncDef
      name: func_error
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name "$ECHO")}
                {
                  (DQ ($ VSub_Name "$progname") (": ") 
                    (BracedVarSub
                      token: <VSub_Name opt_mode>
                      suffix_op: 
                        (StringUnary
                          op_id: VTest_Plus
                          arg_word: {($ VSub_Name "$opt_mode") (": ")}
                        )
                      spids: [2290 2295]
                    )
                  ) 
                  (BracedVarSub
                    token: <VSub_Number 1>
                    suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                    spids: [2297 2303]
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2305])]
            )
          ]
          spids: [2282]
        )
      spids: [2277 2281]
    )
    (FuncDef
      name: func_warning
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {($ VSub_Name "$opt_warning")})
                (SimpleCommand
                  words: [
                    {($ VSub_Name "$ECHO")}
                    {
                      (DQ ($ VSub_Name "$progname") (": ") 
                        (BracedVarSub
                          token: <VSub_Name opt_mode>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_Plus
                              arg_word: {($ VSub_Name "$opt_mode") (": ")}
                            )
                          spids: [2334 2339]
                        ) ("warning: ")
                      ) 
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                        spids: [2342 2348]
                      )
                    }
                  ]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2350])]
                )
              ]
              op_id: Op_DAmp
            )
            (C {(Lit_Other ":")})
          ]
          spids: [2322]
        )
      spids: [2317 2321]
    )
    (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: [2380 2386]
                )
              }
            )
            (C {(exit)} {($ VSub_Name "$EXIT_FAILURE")})
          ]
          spids: [2375]
        )
      spids: [2370 2374]
    )
    (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: [2415 2421]
                )
              }
            )
            (C {(func_fatal_error)} {(DQ ($ VSub_Name "$help"))})
          ]
          spids: [2410]
        )
      spids: [2405 2409]
    )
    (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: [2432]
        )
      ]
      spids: [2432]
    )
    (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:-1 arg_word:{(/dev/null)} spids:[2469])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[2472])
              ]
            )
          ]
          spids: [2456]
        )
      spids: [2451 2455]
    )
    (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: [2493]
                )
              ]
              spids: [2493]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_dir_list) op:Equal rhs:{(SQ )} spids:[2499])]
              spids: [2499]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$my_directory_path"))})
                            (C {(test)} {(DQ ($ VSub_Name "$opt_dry_run"))} 
                              {(KW_Bang "!") (Lit_Other "=")} {(DQ (":"))}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      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: [2548]
                                )
                              ]
                              spids: [2548]
                            )
                          ]
                          spids: [2544 2546 2554 -1]
                        )
                      ]
                      spids: [2537 2541 2557]
                    )
                    (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: [2589]
                                )
                              ]
                              spids: [2589]
                            )
                            (Case
                              to_match: {($ VSub_Name "$my_directory_path")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (/) (Lit_Other "*")}]
                                  spids: [2608 2611 2613 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [2615 2616 2620 -1]
                                )
                              ]
                              spids: [2602 2606 2622]
                            )
                            (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: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [2631 2647]
                                      )
                                    }
                                  spids: [2630]
                                )
                              ]
                              spids: [2630]
                            )
                          ]
                          spids: [2578 2650]
                        )
                    )
                    (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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [2654 2668]
                              )
                            }
                          spids: [2653]
                        )
                      ]
                      spids: [2653]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:save_mkdir_p_IFS)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$IFS"))}
                              spids: [2672]
                            )
                          ]
                          spids: [2672]
                        )
                      terminator: <Op_Semi ";">
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(SQ <":">)}
                          spids: [2678]
                        )
                      ]
                      spids: [2678]
                    )
                    (ForEach
                      iter_name: my_dir
                      iter_words: [{($ VSub_Name "$my_dir_list")}]
                      do_arg_iter: False
                      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: [2696]
                                )
                              ]
                              spids: [2696]
                            )
                            (AndOr
                              children: [
                                (SimpleCommand
                                  words: [{($ VSub_Name "$MKDIR")} {(DQ ($ VSub_Name "$my_dir"))}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [2720]
                                    )
                                  ]
                                )
                                (C {(Lit_Other ":")})
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [2693 2728]
                        )
                      spids: [2689 2691]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$save_mkdir_p_IFS"))}
                          spids: [2731]
                        )
                      ]
                      spids: [2731]
                    )
                    (AndOr
                      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") ("'")
                            )
                          }
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [-1 2529]
                )
              ]
              spids: [-1 2764]
            )
          ]
          spids: [2490]
        )
      spids: [2485 2489]
    )
    (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: [2792 2797]
                        ) (/) 
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_Hyphen
                              arg_word: {($ VSub_Name "$progname")}
                            )
                          spids: [2799 2803]
                        )
                      )
                    }
                  spids: [2790]
                )
              ]
              spids: [2790]
            )
            (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: [2830]
                        )
                      ]
                      spids: [2830]
                    )
                  ]
                  spids: [-1 2823]
                )
              ]
              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: [2861]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_Backtick "`">
                            spids: [2849 2863]
                          )
                        }
                      spids: [2848]
                    )
                  ]
                  spids: [2848]
                )
                (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: [2893 2897]
                                    ) ($ VSub_Dollar "$$")
                                  )
                                }
                              spids: [2887]
                            )
                          ]
                          spids: [2887]
                        )
                        (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: [2904 2906]
                                  )
                                }
                              spids: [2903]
                            )
                          ]
                          spids: [2903]
                        )
                        (C {(umask)} {(0077)})
                        (C {($ VSub_Name "$MKDIR")} {(DQ ($ VSub_Name "$my_tmpdir"))})
                        (C {(umask)} {($ VSub_Name "$save_mktempdir_umask")})
                      ]
                      spids: [-1 2880]
                    )
                  ]
                  spids: [-1 2926]
                )
                (AndOr
                  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") ("'")
                        )
                      }
                    )
                  ]
                  op_id: Op_DPipe
                )
              ]
              spids: [2840 2956]
            )
            (C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Name "$my_tmpdir"))})
          ]
          spids: [2787]
        )
      spids: [2782 2786]
    )
    (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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [3015 3029]
                              )
                            }
                          spids: [3014]
                        )
                      ]
                      spids: [3014]
                    )
                  ]
                  spids: [3003 3011 3031 -1]
                )
                (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: [3038]
                        )
                      ]
                      spids: [3038]
                    )
                  ]
                  spids: [3034 3035 3043 -1]
                )
              ]
              spids: [2996 3000 3046]
            )
            (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: [3109]
                        )
                      ]
                      spids: [3109]
                    )
                  ]
                  spids: [3077 3106 3117 -1]
                )
                (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: [3124]
                        )
                      ]
                      spids: [3124]
                    )
                  ]
                  spids: [3120 3121 -1 3130]
                )
              ]
              spids: [3050 3054 3130]
            )
          ]
          spids: [2993]
        )
      spids: [2988 2992]
    )
    (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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [3171 3195]
                              )
                            }
                          spids: [3170]
                        )
                      ]
                      spids: [3170]
                    )
                  ]
                  spids: [3160 3167 3197 -1]
                )
                (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: [3204]
                        )
                      ]
                      spids: [3204]
                    )
                  ]
                  spids: [3200 3201 3209 -1]
                )
              ]
              spids: [3153 3157 3212]
            )
            (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: [3271]
                        )
                      ]
                      spids: [3271]
                    )
                  ]
                  spids: [3239 3268 3279 -1]
                )
              ]
              spids: [3216 3220 3282]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_quote_for_expand_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$my_arg"))}
                  spids: [3286]
                )
              ]
              spids: [3286]
            )
          ]
          spids: [3150]
        )
      spids: [3145 3149]
    )
    (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: [3315]
                )
              ]
              spids: [3315]
            )
            (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: [3323 3327]
                        )
                      )
                    }
                  spids: [3321]
                )
              ]
              spids: [3321]
            )
            (AndOr
              children: [
                (C 
                  {
                    (BracedVarSub
                      token: <VSub_Name opt_silent>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                      spids: [3332 3336]
                    )
                  }
                )
                (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: [3340]
                )
              ]
              op_id: Op_DPipe
            )
            (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: [3364 3368]
                            )
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(Sentence child:(C {(Lit_Other ":")}) terminator:<Op_Semi ";">)]
                  spids: [-1 3371]
                )
              ]
              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: [3386]
                    )
                  ]
                  spids: [3386]
                )
                (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: [-1 3403]
                    )
                  ]
                  else_action: [
                    (C {(eval)} 
                      {
                        (DQ ("(exit ") ($ VSub_Name "$my_status") ("); ") ($ VSub_Name "$my_fail_exp"))
                      }
                    )
                  ]
                  spids: [3408 3421]
                )
              ]
              spids: [3376 3424]
            )
          ]
          spids: [3312]
        )
      spids: [3307 3311]
    )
    (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: [3450]
                )
              ]
              spids: [3450]
            )
            (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: [3458 3462]
                        )
                      )
                    }
                  spids: [3456]
                )
              ]
              spids: [3456]
            )
            (AndOr
              children: [
                (C 
                  {
                    (BracedVarSub
                      token: <VSub_Name opt_silent>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                      spids: [3467 3471]
                    )
                  }
                )
                (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: [3475]
                )
              ]
              op_id: Op_DPipe
            )
            (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: [3499 3503]
                            )
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(Sentence child:(C {(Lit_Other ":")}) terminator:<Op_Semi ";">)]
                  spids: [-1 3506]
                )
              ]
              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: [3524]
                    )
                  ]
                  spids: [3524]
                )
                (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: [-1 3548]
                    )
                  ]
                  else_action: [
                    (C {(eval)} 
                      {
                        (DQ ("(exit ") ($ VSub_Name "$my_status") ("); ") ($ VSub_Name "$my_fail_exp"))
                      }
                    )
                  ]
                  spids: [3553 3566]
                )
              ]
              spids: [3511 3569]
            )
          ]
          spids: [3447]
        )
      spids: [3442 3446]
    )
    (FuncDef
      name: func_tr_sh
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "*")}
                    {(Lit_Other "*") (Lit_Other "[") (KW_Bang "!") (a-zA-Z0-9_) (Lit_Other "]") 
                      (Lit_Other "*")
                    }
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_tr_sh_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Number "$1"))})
                                          (C {($ VSub_Name "$SED")} 
                                            {(SQ <"s/^\\([0-9]\\)/_\\1/; s/[^a-zA-Z0-9_]/_/g">)}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [3621 3635]
                              )
                            }
                          spids: [3620]
                        )
                      ]
                      spids: [3620]
                    )
                  ]
                  spids: [3604 3617 3638 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_tr_sh_result)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [3646]
                        )
                      ]
                      spids: [3646]
                    )
                  ]
                  spids: [3641 3643 3650 -1]
                )
              ]
              spids: [3597 3601 3653]
            )
          ]
          spids: [3594]
        )
      spids: [3589 3593]
    )
    (FuncDef
      name: func_version
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (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: -1
                  arg_word: {(DQ ($ VSub_Name "$progpath"))}
                  spids: [3702]
                )
              ]
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [3670]
        )
      spids: [3665 3669]
    )
    (FuncDef
      name: func_usage
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (SimpleCommand
              words: [
                {($ VSub_Name "$SED")}
                {(-n)}
                {
                  (SQ <"/^# Usage:/,/^#  *.*--help/ {\n"> <"        s/^# //\n"> <"\ts/^# *$//\n"> 
                    <"\ts/\\$progname/">
                  ) ($ VSub_Name "$progname") (SQ <"/\n"> <"\tp\n"> <"    }">)
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name "$progpath"))}
                  spids: [3751]
                )
              ]
            )
            (C {(echo)})
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("run ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  ($ VSub_Name "$progname") (" --help | more' for full usage")
                )
              }
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [3727]
        )
      spids: [3722 3726]
    )
    (FuncDef
      name: func_help
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (SimpleCommand
              words: [
                {($ VSub_Name "$SED")}
                {(-n)}
                {
                  (SQ <"/^# Usage:/,/# Report bugs to/ {\n"> <"\t:print\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: [3865]
                                    )
                                  ]
                                  spids: [3859 3863]
                                )
                                (C {($ VSub_Name "$SED")} {(1q)})
                              ]
                              negated: False
                            )
                          ]
                        )
                      left_token: <Left_Backtick "`">
                      spids: [3858 3872]
                    )
                  ) (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: [3886]
                                    )
                                  ]
                                  spids: [3880 3884]
                                )
                                (C {($ VSub_Name "$SED")} {(1q)})
                              ]
                              negated: False
                            )
                          ]
                        )
                      left_token: <Left_Backtick "`">
                      spids: [3879 3893]
                    )
                  ) 
                  (SQ <"/\n"> <"\tp\n"> <"\td\n"> <"     }\n"> <"     /^# .* home page:/b print\n"> 
                    <"     /^# General help using/b print\n"> <"     ">
                  )
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name "$progpath"))}
                  spids: [3905]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ret)
                  op: Equal
                  rhs: {($ VSub_QMark "$?")}
                  spids: [3912]
                )
              ]
              spids: [3912]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(exit)} {($ VSub_Name "$ret")})]
                  spids: [-1 3927]
                )
              ]
              spids: [-1 3935]
            )
          ]
          spids: [3792]
        )
      spids: [3787 3791]
    )
    (FuncDef
      name: func_missing_arg
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (C {(func_error)} {(DQ ("missing argument for ") ($ VSub_Number "$1") (.))})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:exit_cmd) op:Equal rhs:{(exit)} spids:[3970])]
              spids: [3970]
            )
          ]
          spids: [3954]
        )
      spids: [3949 3953]
    )
    (FuncDef
      name: func_split_short_opt
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_sed_short_opt)
                  op: Equal
                  rhs: {(SQ <"1s/^\\(..\\).*$/\\1/;q">)}
                  spids: [3994]
                )
              ]
              spids: [3994]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_sed_short_rest)
                  op: Equal
                  rhs: {(SQ <"1s/^..\\(.*\\)$/\\1/;q">)}
                  spids: [4000]
                )
              ]
              spids: [4000]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_split_short_opt_name)
                  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 "$my_sed_short_opt"))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [4008 4022]
                      )
                    }
                  spids: [4007]
                )
              ]
              spids: [4007]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_split_short_opt_arg)
                  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 "$my_sed_short_rest"))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [4026 4040]
                      )
                    }
                  spids: [4025]
                )
              ]
              spids: [4025]
            )
          ]
          spids: [3991]
        )
      spids: [3986 3990]
    )
    (FuncDef
      name: func_split_long_opt
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_sed_long_opt)
                  op: Equal
                  rhs: {(SQ <"1s/^\\(--[^=]*\\)=.*/\\1/;q">)}
                  spids: [4066]
                )
              ]
              spids: [4066]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_sed_long_arg)
                  op: Equal
                  rhs: {(SQ <"1s/^--[^=]*=//">)}
                  spids: [4072]
                )
              ]
              spids: [4072]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_split_long_opt_name)
                  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 "$my_sed_long_opt"))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [4080 4094]
                      )
                    }
                  spids: [4079]
                )
              ]
              spids: [4079]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_split_long_opt_arg)
                  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 "$my_sed_long_arg"))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [4098 4112]
                      )
                    }
                  spids: [4097]
                )
              ]
              spids: [4097]
            )
          ]
          spids: [4063]
        )
      spids: [4058 4062]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exit_cmd) op:Equal rhs:{(Lit_Other ":")} spids:[4120])]
      spids: [4120]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic)
          op: Equal
          rhs: {(DQ ("%%%MAGIC variable%%%"))}
          spids: [4128]
        )
      ]
      spids: [4128]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic_exe)
          op: Equal
          rhs: {(DQ ("%%%MAGIC EXE variable%%%"))}
          spids: [4133]
        )
      ]
      spids: [4133]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:nonopt) op:Equal rhs:{(SQ )} spids:[4142])]
      spids: [4142]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:preserve_args) op:Equal rhs:{(SQ )} spids:[4144])]
      spids: [4144]
    )
    (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: [4146]
        )
      ]
      spids: [4146]
    )
    (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: [4159]
        )
      ]
      spids: [4159]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_archives) op:Equal rhs:{(SQ )} spids:[4171])]
      spids: [4171]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_serial) op:Equal rhs:{(0)} spids:[4173])]
      spids: [4173]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exec_cmd) op:Equal rhs:{(SQ )} spids:[4186])]
      spids: [4186]
    )
    (FuncDef
      name: func_append
      body: 
        (BraceGroup
          children: [
            (C {(eval)} 
              {
                (DQ (${ VSub_Number 1) ("=") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                  (${ VSub_Number 1) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{2}")
                )
              }
            )
          ]
          spids: [4200]
        )
      spids: [4195 4199]
    )
    (FuncDef
      name: func_append_quoted
      body: 
        (BraceGroup
          children: [
            (C {(func_quote_for_eval)} {(DQ (${ VSub_Number 2))})
            (C {(eval)} 
              {
                (DQ (${ VSub_Number 1) ("=") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                  (${ VSub_Number 1) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (" ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (func_quote_for_eval_result)
                )
              }
            )
          ]
          spids: [4238]
        )
      spids: [4233 4237]
    )
    (FuncDef
      name: func_arith
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_arith_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(expr)} {(DQ (${ VSub_At "@"))})])
                        left_token: <Left_Backtick "`">
                        spids: [4286 4294]
                      )
                    }
                  spids: [4285]
                )
              ]
              spids: [4285]
            )
          ]
          spids: [4282]
        )
      spids: [4277 4281]
    )
    (FuncDef
      name: func_len
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_len_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(expr)}
                                      {(DQ (${ VSub_Number 1))}
                                      {(Lit_Other ":")}
                                      {(DQ (".*"))}
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [4333]
                                      )
                                    ]
                                  )
                                  (C {(echo)} {($ VSub_Name "$max_cmd_len")})
                                ]
                                op_id: Op_DPipe
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [4318 4341]
                      )
                    }
                  spids: [4317]
                )
              ]
              spids: [4317]
            )
          ]
          spids: [4314]
        )
      spids: [4309 4313]
    )
    (FuncDef
      name: func_lo2o
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_lo2o_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name "$ECHO")} {(DQ (${ VSub_Number 1))})
                                  (C {($ VSub_Name "$SED")} {(DQ ($ VSub_Name "$lo2o"))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [4362 4378]
                      )
                    }
                  spids: [4361]
                )
              ]
              spids: [4361]
            )
          ]
          spids: [4358]
        )
      spids: [4353 4357]
    )
    (FuncDef
      name: func_xform
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_xform_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name "$ECHO")} {(DQ (${ VSub_Number 1))})
                                  (C {($ VSub_Name "$SED")} {(SQ <"s/\\.[^.]*$/.lo/">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [4399 4415]
                      )
                    }
                  spids: [4398]
                )
              ]
              spids: [4398]
            )
          ]
          spids: [4395]
        )
      spids: [4390 4394]
    )
    (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: [4443 4449]
                )
              }
            )
            (C {(func_error)} 
              {(DQ ("See the ") ($ VSub_Name "$PACKAGE") (" documentation for more information."))}
            )
            (C {(func_fatal_error)} {(DQ ("Fatal configuration error."))})
          ]
          spids: [4438]
        )
      spids: [4433 4437]
    )
    (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: [4485]
                )
              ]
              spids: [4485]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:re_endcf)
                  op: Equal
                  rhs: {(SQ <"^# ### END LIBTOOL">)}
                  spids: [4491]
                )
              ]
              spids: [4491]
            )
            (SimpleCommand
              words: [
                {($ VSub_Name "$SED")}
                {
                  (DQ ("1,/") ($ VSub_Name "$re_begincf") (" CONFIG/d;/") ($ VSub_Name "$re_endcf") 
                    (" CONFIG/,") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (d)
                  )
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name "$progpath"))}
                  spids: [4514]
                )
              ]
            )
            (ForEach
              iter_name: tagname
              iter_words: [{($ VSub_Name "$taglist")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (SimpleCommand
                      words: [
                        {($ VSub_Name "$SED")}
                        {(-n)}
                        {
                          (DQ (/) ($ VSub_Name "$re_begincf") (" TAG CONFIG: ") ($ VSub_Name "$tagname") 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar "\\$">
                            ) ("/,/") ($ VSub_Name "$re_endcf") (" TAG CONFIG: ") ($ VSub_Name "$tagname") 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar "\\$">
                            ) (/p)
                          )
                        }
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Less
                          fd: -1
                          arg_word: {(DQ ($ VSub_Name "$progpath"))}
                          spids: [4556]
                        )
                      ]
                    )
                  ]
                  spids: [4535 4563]
                )
              spids: [4531 4533]
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [4482]
        )
      spids: [4477 4481]
    )
    (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: [-1 4609]
                )
              ]
              else_action: [(C {(echo)} {(DQ ("disable shared libraries"))})]
              spids: [4619 4629]
            )
            (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: [-1 4645]
                )
              ]
              else_action: [(C {(echo)} {(DQ ("disable static libraries"))})]
              spids: [4655 4665]
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [4585]
        )
      spids: [4580 4584]
    )
    (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: [4700]
                )
              ]
              spids: [4700]
            )
            (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: [4707]
                )
              ]
              spids: [4707]
            )
            (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: [4715]
                )
              ]
              spids: [4715]
            )
            (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: [4723]
                )
              ]
              spids: [4723]
            )
            (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: [4745 4753 4764 -1]
                )
              ]
              spids: [4738 4742 4767]
            )
            (Case
              to_match: {($ VSub_Name "$tagname")}
              arms: [
                (case_arm pat_list:[{(CC)}] spids:[478647874789-1])
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (SimpleCommand
                                  words: [
                                    {($ VSub_Name "$GREP")}
                                    {(DQ ($ VSub_Name "$re_begincf"))}
                                    {(DQ ($ VSub_Name "$progpath"))}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                      spids: [4808]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [4811]
                                    )
                                  ]
                                )
                              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: [4818]
                                )
                              ]
                              spids: [4818]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:extractedcf)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {($ VSub_Name "$SED")}
                                                  {(-n)}
                                                  {(-e)}
                                                  {(DQ ($ VSub_Name "$sed_extractcf"))}
                                                ]
                                                redirects: [
                                                  (Redir
                                                    op_id: Redir_Less
                                                    fd: -1
                                                    arg_word: {(DQ ($ VSub_Name "$progpath"))}
                                                    spids: [4855]
                                                  )
                                                ]
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [4844 4860]
                                      )
                                    }
                                  spids: [4843]
                                )
                              ]
                              spids: [4843]
                            )
                            (C {(eval)} {(DQ ($ VSub_Name "$extractedcf"))})
                          ]
                          spids: [-1 4815]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} {(DQ ("ignoring unknown tag ") ($ VSub_Name "$tagname"))})
                      ]
                      spids: [4870 4881]
                    )
                  ]
                  spids: [4792 4793 4884 -1]
                )
              ]
              spids: [4779 4783 4887]
            )
          ]
          spids: [4693]
        )
      spids: [4688 4692]
    )
    (FuncDef
      name: func_check_version_match
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name "$package_revision"))} 
                          {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$macro_revision"))}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$VERSION"))} 
                                  {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$macro_version"))}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name "$macro_version"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (SimpleCommand
                                      words: [{(cat)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {(2)}
                                          spids: [4963]
                                        )
                                        (HereDoc
                                          op_id: Redir_DLess
                                          fd: -1
                                          body: 
                                            {
                                              (DQ ($ VSub_Name "$progname") 
                                                (": Version mismatch error.  This is ") ($ VSub_Name "$PACKAGE") (" ") ($ VSub_Name "$VERSION") (", but the\n") ($ VSub_Name "$progname") 
                                                (
": definition of this LT_INIT comes from an older release.\n"
                                                ) ($ VSub_Name "$progname") (": You should recreate aclocal.m4 with macros from ") 
                                                ($ VSub_Name "$PACKAGE") (" ") ($ VSub_Name "$VERSION") ("\n") ($ VSub_Name "$progname") (": and run autoconf again.\n")
                                              )
                                            }
                                          do_expansion: True
                                          here_end: _LT_EOF
                                          was_filled: True
                                          spids: [4966]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [-1 4958]
                                )
                              ]
                              else_action: [
                                (SimpleCommand
                                  words: [{(cat)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: -1
                                      arg_word: {(2)}
                                      spids: [4991]
                                    )
                                    (HereDoc
                                      op_id: Redir_DLess
                                      fd: -1
                                      body: 
                                        {
                                          (DQ ($ VSub_Name "$progname") 
                                            (": Version mismatch error.  This is ") ($ VSub_Name "$PACKAGE") (" ") ($ VSub_Name "$VERSION") (", but the\n") ($ VSub_Name "$progname") 
                                            (": definition of this LT_INIT comes from ") ($ VSub_Name "$PACKAGE") (" ") ($ VSub_Name "$macro_version") (".\n") ($ VSub_Name "$progname") 
                                            (": You should recreate aclocal.m4 with macros from ") ($ VSub_Name "$PACKAGE") (" ") ($ VSub_Name "$VERSION") ("\n") ($ VSub_Name "$progname") 
                                            (": and run autoconf again.\n")
                                          )
                                        }
                                      do_expansion: True
                                      here_end: _LT_EOF
                                      was_filled: True
                                      spids: [4994]
                                    )
                                  ]
                                )
                              ]
                              spids: [4986 5018]
                            )
                          ]
                          spids: [-1 4944]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [{(cat)}]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: -1
                              arg_word: {(2)}
                              spids: [5026]
                            )
                            (HereDoc
                              op_id: Redir_DLess
                              fd: -1
                              body: 
                                {
                                  (DQ ($ VSub_Name "$progname") 
                                    (": Version mismatch error.  This is ") ($ VSub_Name "$PACKAGE") (" ") ($ VSub_Name "$VERSION") (", revision ") ($ VSub_Name "$package_revision") 
                                    (",\n") ($ VSub_Name "$progname") (": but the definition of this LT_INIT comes from revision ") 
                                    ($ VSub_Name "$macro_revision") (".\n") ($ VSub_Name "$progname") (": You should recreate aclocal.m4 with macros from revision ") 
                                    ($ VSub_Name "$package_revision") ("\n") ($ VSub_Name "$progname") (": of ") ($ VSub_Name "$PACKAGE") (" ") ($ VSub_Name "$VERSION") 
                                    (" and run autoconf again.\n")
                                  )
                                }
                              do_expansion: True
                              here_end: _LT_EOF
                              was_filled: True
                              spids: [5029]
                            )
                          ]
                        )
                      ]
                      spids: [5021 5055]
                    )
                    (C {(exit)} {($ VSub_Name "$EXIT_MISMATCH")})
                  ]
                  spids: [-1 4925]
                )
              ]
              spids: [-1 5064]
            )
          ]
          spids: [4906]
        )
      spids: [4901 4905]
    )
    (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: [5100 5106]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5079 5086 5112 -1]
        )
        (case_arm
          pat_list: [{(compile)} {(compil)} {(compi)} {(comp)} {(com)} {(co)} {(c)}]
          action: [
            (Sentence child:(C {(shift)}) terminator:<Op_Semi ";">)
            (Sentence
              child: 
                (C {(set)} {(dummy)} {(--mode)} {(compile)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                      spids: [5141 5147]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5114 5127 5153 -1]
        )
        (case_arm
          pat_list: [{(execute)} {(execut)} {(execu)} {(exec)} {(exe)} {(ex)} {(e)}]
          action: [
            (Sentence child:(C {(shift)}) terminator:<Op_Semi ";">)
            (Sentence
              child: 
                (C {(set)} {(dummy)} {(--mode)} {(execute)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                      spids: [5182 5188]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5155 5168 5194 -1]
        )
        (case_arm
          pat_list: [{(finish)} {(finis)} {(fini)} {(fin)} {(KW_Fi fi)} {(f)}]
          action: [
            (Sentence child:(C {(shift)}) terminator:<Op_Semi ";">)
            (Sentence
              child: 
                (C {(set)} {(dummy)} {(--mode)} {(finish)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                      spids: [5221 5227]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5196 5207 5233 -1]
        )
        (case_arm
          pat_list: [{(install)} {(instal)} {(insta)} {(inst)} {(ins)} {(KW_In in)} {(i)}]
          action: [
            (Sentence child:(C {(shift)}) terminator:<Op_Semi ";">)
            (Sentence
              child: 
                (C {(set)} {(dummy)} {(--mode)} {(install)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                      spids: [5262 5268]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5235 5248 5274 -1]
        )
        (case_arm
          pat_list: [{(link)} {(lin)} {(li)} {(l)}]
          action: [
            (Sentence child:(C {(shift)}) terminator:<Op_Semi ";">)
            (Sentence
              child: 
                (C {(set)} {(dummy)} {(--mode)} {(link)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                      spids: [5297 5303]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5276 5283 5309 -1]
        )
        (case_arm
          pat_list: [{(uninstall)} {(uninstal)} {(uninsta)} {(uninst)} {(unins)} {(unin)} {(uni)} {(un)} {(u)}]
          action: [
            (Sentence child:(C {(shift)}) terminator:<Op_Semi ";">)
            (Sentence
              child: 
                (C {(set)} {(dummy)} {(--mode)} {(uninstall)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                      spids: [5342 5348]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5311 5328 5354 -1]
        )
      ]
      spids: [5073 5077 5356]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_debug) op:Equal rhs:{(Lit_Other ":")} spids:[5364])]
      spids: [5364]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[5367])]
      spids: [5367]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_config) op:Equal rhs:{(false)} spids:[5370])]
      spids: [5370]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:opt_preserve_dup_deps)
          op: Equal
          rhs: {(false)}
          spids: [5373]
        )
      ]
      spids: [5373]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_features) op:Equal rhs:{(false)} spids:[5376])]
      spids: [5376]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_finish) op:Equal rhs:{(false)} spids:[5379])]
      spids: [5379]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_help) op:Equal rhs:{(false)} spids:[5382])]
      spids: [5382]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_help_all) op:Equal rhs:{(false)} spids:[5385])]
      spids: [5385]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_silent) op:Equal rhs:{(Lit_Other ":")} spids:[5388])]
      spids: [5388]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:opt_verbose)
          op: Equal
          rhs: {(Lit_Other ":")}
          spids: [5391]
        )
      ]
      spids: [5391]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_silent) op:Equal rhs:{(false)} spids:[5394])]
      spids: [5394]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_verbose) op:Equal rhs:{(false)} spids:[5397])]
      spids: [5397]
    )
    (BraceGroup
      children: [
        (While
          cond: [
            (Sentence
              child: (C {(test)} {($ VSub_Pound "$#")} {(-gt)} {(0)})
              terminator: <Op_Semi ";">
            )
          ]
          body: 
            (DoGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:opt)
                      op: Equal
                      rhs: {(DQ ($ VSub_Number "$1"))}
                      spids: [5429]
                    )
                  ]
                  spids: [5429]
                )
                (C {(shift)})
                (Case
                  to_match: {($ VSub_Name "$opt")}
                  arms: [
                    (case_arm
                      pat_list: [{(--debug)} {(-x)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_debug)
                              op: Equal
                              rhs: {(SQ <"set -x">)}
                              spids: [5450]
                            )
                          ]
                          spids: [5450]
                        )
                        (C {(func_echo)} {(DQ ("enabling shell trace mode"))})
                        (C {($ VSub_Name "$opt_debug")})
                      ]
                      spids: [5445 5448 5466 -1]
                    )
                    (case_arm
                      pat_list: [{(--dry-run)} {(--dryrun)} {(-n)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_dry_run)
                              op: Equal
                              rhs: {(Lit_Other ":")}
                              spids: [5477]
                            )
                          ]
                          spids: [5477]
                        )
                      ]
                      spids: [5469 5474 5481 -1]
                    )
                    (case_arm
                      pat_list: [{(--config)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_config)
                              op: Equal
                              rhs: {(Lit_Other ":")}
                              spids: [5488]
                            )
                          ]
                          spids: [5488]
                        )
                        (C {(func_config)})
                      ]
                      spids: [5484 5485 5494 -1]
                    )
                    (case_arm
                      pat_list: [{(--dlopen)} {(-dlopen)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:optarg)
                              op: Equal
                              rhs: {(DQ ($ VSub_Number "$1"))}
                              spids: [5503]
                            )
                          ]
                          spids: [5503]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_dlopen)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name opt_dlopen>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_Plus
                                          arg_word: {($ VSub_Name "$opt_dlopen") ("\n")}
                                        )
                                      spids: [5511 5516]
                                    ) ($ VSub_Name "$optarg")
                                  )
                                }
                              spids: [5509]
                            )
                          ]
                          spids: [5509]
                        )
                        (C {(shift)})
                      ]
                      spids: [5497 5500 5524 -1]
                    )
                    (case_arm
                      pat_list: [{(--preserve-dup-deps)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_preserve_dup_deps)
                              op: Equal
                              rhs: {(Lit_Other ":")}
                              spids: [5531]
                            )
                          ]
                          spids: [5531]
                        )
                      ]
                      spids: [5527 5528 5535 -1]
                    )
                    (case_arm
                      pat_list: [{(--features)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_features)
                              op: Equal
                              rhs: {(Lit_Other ":")}
                              spids: [5542]
                            )
                          ]
                          spids: [5542]
                        )
                        (C {(func_features)})
                      ]
                      spids: [5538 5539 5548 -1]
                    )
                    (case_arm
                      pat_list: [{(--finish)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_finish)
                              op: Equal
                              rhs: {(Lit_Other ":")}
                              spids: [5555]
                            )
                          ]
                          spids: [5555]
                        )
                        (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: [5566 5572]
                                )
                              }
                            )
                          terminator: <Op_Semi ";">
                        )
                        (C {(shift)})
                      ]
                      spids: [5551 5552 5578 -1]
                    )
                    (case_arm
                      pat_list: [{(--help)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_help)
                              op: Equal
                              rhs: {(Lit_Other ":")}
                              spids: [5585]
                            )
                          ]
                          spids: [5585]
                        )
                      ]
                      spids: [5581 5582 5589 -1]
                    )
                    (case_arm
                      pat_list: [{(--help-all)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_help_all)
                              op: Equal
                              rhs: {(Lit_Other ":")}
                              spids: [5596]
                            )
                          ]
                          spids: [5596]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_help)
                              op: Equal
                              rhs: {(SQ <": help-all">)}
                              spids: [5599]
                            )
                          ]
                          spids: [5599]
                        )
                      ]
                      spids: [5592 5593 5605 -1]
                    )
                    (case_arm
                      pat_list: [{(--mode)}]
                      action: [
                        (AndOr
                          children: [
                            (C {(test)} {($ VSub_Pound "$#")} {(Lit_Other "=")} {(0)})
                            (AndOr
                              children: [
                                (C {(func_missing_arg)} {($ VSub_Name "$opt")})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:optarg)
                              op: Equal
                              rhs: {(DQ ($ VSub_Number "$1"))}
                              spids: [5631]
                            )
                          ]
                          spids: [5631]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_mode)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$optarg"))}
                              spids: [5637]
                            )
                          ]
                          spids: [5637]
                        )
                        (Case
                          to_match: {($ VSub_Name "$optarg")}
                          arms: [
                            (case_arm
                              pat_list: [
                                {(clean)}
                                {(compile)}
                                {(execute)}
                                {(finish)}
                                {(install)}
                                {(link)}
                                {(relink)}
                                {(uninstall)}
                              ]
                              spids: [5653 5668 5670 -1]
                            )
                            (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: {(exit)}
                                      spids: [5689]
                                    )
                                  ]
                                  spids: [5689]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              spids: [5678 5679 5696 -1]
                            )
                          ]
                          spids: [5642 5646 5698]
                        )
                        (C {(shift)})
                      ]
                      spids: [5608 5609 5704 -1]
                    )
                    (case_arm
                      pat_list: [{(--no-silent)} {(--no-quiet)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_silent)
                              op: Equal
                              rhs: {(false)}
                              spids: [5713]
                            )
                          ]
                          spids: [5713]
                        )
                        (C {(func_append)} {(preserve_args)} {(DQ (" ") ($ VSub_Name "$opt"))})
                      ]
                      spids: [5707 5710 5726 -1]
                    )
                    (case_arm
                      pat_list: [{(--no-verbose)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_verbose)
                              op: Equal
                              rhs: {(false)}
                              spids: [5733]
                            )
                          ]
                          spids: [5733]
                        )
                        (C {(func_append)} {(preserve_args)} {(DQ (" ") ($ VSub_Name "$opt"))})
                      ]
                      spids: [5729 5730 5746 -1]
                    )
                    (case_arm
                      pat_list: [{(--silent)} {(--quiet)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_silent)
                              op: Equal
                              rhs: {(Lit_Other ":")}
                              spids: [5755]
                            )
                          ]
                          spids: [5755]
                        )
                        (C {(func_append)} {(preserve_args)} {(DQ (" ") ($ VSub_Name "$opt"))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_verbose)
                              op: Equal
                              rhs: {(false)}
                              spids: [5768]
                            )
                          ]
                          spids: [5768]
                        )
                      ]
                      spids: [5749 5752 5772 -1]
                    )
                    (case_arm
                      pat_list: [{(--verbose)} {(-v)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_verbose)
                              op: Equal
                              rhs: {(Lit_Other ":")}
                              spids: [5781]
                            )
                          ]
                          spids: [5781]
                        )
                        (C {(func_append)} {(preserve_args)} {(DQ (" ") ($ VSub_Name "$opt"))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_silent)
                              op: Equal
                              rhs: {(false)}
                              spids: [5793]
                            )
                          ]
                          spids: [5793]
                        )
                      ]
                      spids: [5775 5778 5797 -1]
                    )
                    (case_arm
                      pat_list: [{(--tag)}]
                      action: [
                        (AndOr
                          children: [
                            (C {(test)} {($ VSub_Pound "$#")} {(Lit_Other "=")} {(0)})
                            (AndOr
                              children: [
                                (C {(func_missing_arg)} {($ VSub_Name "$opt")})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:optarg)
                              op: Equal
                              rhs: {(DQ ($ VSub_Number "$1"))}
                              spids: [5823]
                            )
                          ]
                          spids: [5823]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_tag)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$optarg"))}
                              spids: [5829]
                            )
                          ]
                          spids: [5829]
                        )
                        (C {(func_append)} {(preserve_args)} 
                          {(DQ (" ") ($ VSub_Name "$opt") (" ") ($ VSub_Name "$optarg"))}
                        )
                        (C {(func_enable_tag)} {(DQ ($ VSub_Name "$optarg"))})
                        (C {(shift)})
                      ]
                      spids: [5800 5801 5855 -1]
                    )
                    (case_arm
                      pat_list: [{(-) (EscapedLiteralPart token:<Lit_EscapedChar "\\?">)} {(-h)}]
                      action: [(C {(func_usage)})]
                      spids: [5859 5863 5867 -1]
                    )
                    (case_arm
                      pat_list: [{(--help)}]
                      action: [(C {(func_help)})]
                      spids: [5870 5871 5875 -1]
                    )
                    (case_arm
                      pat_list: [{(--version)}]
                      action: [(C {(func_version)})]
                      spids: [5878 5879 5883 -1]
                    )
                    (case_arm
                      pat_list: [{(--) (Lit_Other "*") (Lit_Other "=") (Lit_Other "*")}]
                      action: [
                        (C {(func_split_long_opt)} {(DQ ($ VSub_Name "$opt"))})
                        (C {(set)} {(dummy)} {(DQ ($ VSub_Name "$func_split_long_opt_name"))} 
                          {(DQ ($ VSub_Name "$func_split_long_opt_arg"))} 
                          {
                            (BracedVarSub
                              token: <VSub_Number 1>
                              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                              spids: [5917 5923]
                            )
                          }
                        )
                        (C {(shift)})
                      ]
                      spids: [5891 5895 5929 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(-) (EscapedLiteralPart token:<Lit_EscapedChar "\\?">) (Lit_Other "*")}
                        {(-h) (Lit_Other "*")}
                        {(-n) (Lit_Other "*")}
                        {(-v) (Lit_Other "*")}
                      ]
                      action: [
                        (C {(func_split_short_opt)} {(DQ ($ VSub_Name "$opt"))})
                        (C {(set)} {(dummy)} {(DQ ($ VSub_Name "$func_split_short_opt_name"))} 
                          {(DQ (-) ($ VSub_Name "$func_split_short_opt_arg"))} 
                          {
                            (BracedVarSub
                              token: <VSub_Number 1>
                              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                              spids: [5972 5978]
                            )
                          }
                        )
                        (C {(shift)})
                      ]
                      spids: [5937 5949 5984 -1]
                    )
                    (case_arm
                      pat_list: [{(--)}]
                      action: [(ControlFlow token:<ControlFlow_Break break>)]
                      spids: [5988 5989 5993 -1]
                    )
                    (case_arm
                      pat_list: [{(-) (Lit_Other "*")}]
                      action: [
                        (C {(func_fatal_help)} 
                          {
                            (DQ ("unrecognized option ") 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\`">
                              ) ($ VSub_Name "$opt") ("'")
                            )
                          }
                        )
                      ]
                      spids: [5996 5998 6009 -1]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other "*")}]
                      action: [
                        (Sentence
                          child: 
                            (C {(set)} {(dummy)} {(DQ ($ VSub_Name "$opt"))} 
                              {
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_Plus
                                      arg_word: {(DQ ($ VSub_At "$@"))}
                                    )
                                  spids: [6023 6029]
                                )
                              }
                            )
                          terminator: <Op_Semi ";">
                        )
                        (Sentence
                          child: (C {(shift)})
                          terminator: <Op_Semi ";">
                        )
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      spids: [6012 6013 6037 -1]
                    )
                  ]
                  spids: [5438 5442 6040]
                )
              ]
              spids: [5426 6043]
            )
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: (C {(test)} {(DQ ($ VSub_Pound "$#"))} {(-gt)} {(0)})
                  terminator: <Op_Semi ";">
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:nonopt)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name "$opt"))}
                      spids: [6072]
                    )
                  ]
                  spids: [6072]
                )
                (C {(shift)})
              ]
              spids: [-1 6069]
            )
          ]
          spids: [-1 6081]
        )
        (AndOr
          children: [
            (C {(test)} {(DQ ($ VSub_Name "$opt_debug"))} {(Lit_Other "=")} {(Lit_Other ":")})
            (C {(func_append)} {(preserve_args)} {(DQ (" --debug"))})
          ]
          op_id: Op_DPipe
        )
        (Case
          to_match: {($ VSub_Name "$host")}
          arms: [
            (case_arm
              pat_list: [
                {(Lit_Other "*") (cygwin) (Lit_Other "*")}
                {(Lit_Other "*") (mingw) (Lit_Other "*")}
                {(Lit_Other "*") (pw32) (Lit_Other "*")}
                {(Lit_Other "*") (cegcc) (Lit_Other "*")}
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:opt_duplicate_compiler_generated_deps)
                      op: Equal
                      rhs: {(Lit_Other ":")}
                      spids: [6146]
                    )
                  ]
                  spids: [6146]
                )
              ]
              spids: [6118 6139 6150 -1]
            )
            (case_arm
              pat_list: [{(Lit_Other "*")}]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:opt_duplicate_compiler_generated_deps)
                      op: Equal
                      rhs: {($ VSub_Name "$opt_preserve_dup_deps")}
                      spids: [6157]
                    )
                  ]
                  spids: [6157]
                )
              ]
              spids: [6153 6154 6161 -1]
            )
          ]
          spids: [6111 6115 6164]
        )
        (AndOr
          children: [
            (C {($ VSub_Name "$opt_help")})
            (BraceGroup
              children: [
                (C {(func_check_version_match)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              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)}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (C {(func_fatal_configuration)} 
                          {(DQ ("not configured to build any kind of library"))}
                        )
                      ]
                      spids: [-1 6210]
                    )
                  ]
                  spids: [-1 6220]
                )
                (C {(eval)} 
                  {(Lit_VarLike "std_shrext=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                    ($ VSub_Name "$shrext_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                  }
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$opt_dlopen"))})
                                (C {(test)} {(DQ ($ VSub_Name "$opt_mode"))} 
                                  {(KW_Bang "!") (Lit_Other "=")} {(execute)}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          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:[6283])]
                        )
                        (C {(exit)} {($ VSub_Name "$EXIT_FAILURE")})
                      ]
                      spids: [-1 6265]
                    )
                  ]
                  spids: [-1 6292]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:generic_help)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name "$help"))}
                      spids: [6300]
                    )
                  ]
                  spids: [6300]
                )
                (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 "$opt_mode") ("' for more information.")
                          )
                        }
                      spids: [6306]
                    )
                  ]
                  spids: [6306]
                )
              ]
              spids: [6172]
            )
          ]
          op_id: Op_DPipe
        )
        (C {($ VSub_Name "$exit_cmd")} {($ VSub_Name "$EXIT_FAILURE")})
      ]
      spids: [5408]
    )
    (FuncDef
      name: func_lalib_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(test)} {(-f)} {(DQ ($ VSub_Number "$1"))})
                (Pipeline
                  children: [
                    (SimpleCommand
                      words: [{($ VSub_Name "$SED")} {(-e)} {(4q)} {(DQ ($ VSub_Number "$1"))}]
                      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[6387])]
                    )
                    (SimpleCommand
                      words: [
                        {($ VSub_Name "$GREP")}
                        {(DQ ("^# Generated by .*") ($ VSub_Name "$PACKAGE"))}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [6401]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [6405]
                        )
                      ]
                    )
                  ]
                  negated: False
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [6363]
        )
      spids: [6358 6362]
    )
    (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:[6440])]
              spids: [6440]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-f)} {(DQ ($ VSub_Number "$1"))})
                            (AndOr
                              children: [
                                (C {(test)} {(-r)} {(DQ ($ VSub_Number "$1"))})
                                (SimpleCommand
                                  words: [{(exec)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_LessAnd
                                      fd: 5
                                      arg_word: {(0)}
                                      spids: [6468]
                                    )
                                    (Redir
                                      op_id: Redir_Less
                                      fd: -1
                                      arg_word: {(DQ ($ VSub_Number "$1"))}
                                      spids: [6471]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (ForEach
                      iter_name: lalib_p_l
                      iter_words: [{(1)} {(2)} {(3)} {(4)}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(read)} {(lalib_p_line)})
                            (Case
                              to_match: {(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: [6524]
                                            )
                                          ]
                                          spids: [6524]
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [6512 6522 6529 -1]
                                )
                              ]
                              spids: [6503 6509 6532]
                            )
                          ]
                          spids: [6495 6535]
                        )
                      spids: [6485 -1]
                    )
                    (SimpleCommand
                      words: [{(exec)}]
                      redirects: [
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 0
                          arg_word: {(5)}
                          spids: [6540]
                        )
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 5
                          arg_word: {(-)}
                          spids: [6543]
                        )
                      ]
                    )
                  ]
                  spids: [-1 6477]
                )
              ]
              spids: [-1 6547]
            )
            (C {(test)} {(DQ ($ VSub_Name "$lalib_p"))} {(Lit_Other "=")} {(yes)})
          ]
          spids: [6437]
        )
      spids: [6432 6436]
    )
    (FuncDef
      name: func_ltwrapper_script_p
      body: (BraceGroup children:[(C {(func_lalib_p)} {(DQ ($ VSub_Number "$1"))})] spids:[6580])
      spids: [6575 6579]
    )
    (FuncDef
      name: func_ltwrapper_executable_p
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_ltwrapper_exec_suffix)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [6612]
                )
              ]
              spids: [6612]
            )
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm pat_list:[{(Lit_Other "*") (.exe)}] spids:[662266246626-1])
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_ltwrapper_exec_suffix)
                          op: Equal
                          rhs: {(.exe)}
                          spids: [6632]
                        )
                      ]
                      spids: [6632]
                    )
                  ]
                  spids: [6629 6630 6635 -1]
                )
              ]
              spids: [6615 6619 6638]
            )
            (SimpleCommand
              words: [
                {($ VSub_Name "$GREP")}
                {(DQ ($ VSub_Name "$magic_exe"))}
                {(DQ ($ VSub_Number "$1") ($ VSub_Name "$func_ltwrapper_exec_suffix"))}
              ]
              redirects: [
                (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[6652])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[6655])
              ]
            )
          ]
          spids: [6609]
        )
      spids: [6604 6608]
    )
    (FuncDef
      name: func_ltwrapper_scriptname
      body: 
        (BraceGroup
          children: [
            (C {(func_dirname_and_basename)} {(DQ ($ VSub_Number "$1"))} {(DQ )} {(DQ (.))})
            (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} {(DQ ($ VSub_Name "$func_basename_result"))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_ltwrapper_scriptname_result)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$func_dirname_result") (/) ($ VSub_Name "$objdir") (/) 
                        (${ VSub_Name func_stripname_result) (_ltshwrapper)
                      )
                    }
                  spids: [6709]
                )
              ]
              spids: [6709]
            )
          ]
          spids: [6678]
        )
      spids: [6673 6677]
    )
    (FuncDef
      name: func_ltwrapper_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(func_ltwrapper_script_p)} {(DQ ($ VSub_Number "$1"))})
                (C {(func_ltwrapper_executable_p)} {(DQ ($ VSub_Number "$1"))})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [6741]
        )
      spids: [6736 6740]
    )
    (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: [6785]
                    )
                  ]
                  spids: [6785]
                )
              terminator: <Op_Semi ";">
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <"~">)} spids:[6789])]
              spids: [6789]
            )
            (ForEach
              iter_name: cmd
              iter_words: [{($ VSub_Number "$1")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name "$save_ifs")}
                          spids: [6807]
                        )
                      ]
                      spids: [6807]
                    )
                    (C {(eval)} 
                      {(Lit_VarLike "cmd=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                        ($ VSub_Name "$cmd") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                      }
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name "$cmd"))} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Number 2>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(":")})
                            spids: [6826 6830]
                          )
                        )
                      }
                    )
                  ]
                  spids: [6804 6834]
                )
              spids: [6800 6802]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name "$save_ifs")}
                  spids: [6837]
                )
              ]
              spids: [6837]
            )
          ]
          spids: [6779]
        )
      spids: [6774 6778]
    )
    (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: [6880 6889 6897 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [(C {(.)} {(DQ (./) ($ VSub_Number "$1"))})]
                  spids: [6900 6901 6910 -1]
                )
              ]
              spids: [6873 6877 6913]
            )
          ]
          spids: [6867]
        )
      spids: [6862 6866]
    )
    (FuncDef
      name: func_resolve_sysroot
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_resolve_sysroot_result)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [6936]
                )
              ]
              spids: [6936]
            )
            (Case
              to_match: {($ VSub_Name "$func_resolve_sysroot_result")}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "=") (Lit_Other "*")}]
                  action: [
                    (C {(func_stripname)} {(SQ <"=">)} {(SQ )} 
                      {(DQ ($ VSub_Name "$func_resolve_sysroot_result"))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_resolve_sysroot_result)
                          op: Equal
                          rhs: {($ VSub_Name "$lt_sysroot") ($ VSub_Name "$func_stripname_result")}
                          spids: [6966]
                        )
                      ]
                      spids: [6966]
                    )
                  ]
                  spids: [6947 6949 6971 -1]
                )
              ]
              spids: [6940 6944 6974]
            )
          ]
          spids: [6933]
        )
      spids: [6928 6932]
    )
    (FuncDef
      name: func_replace_sysroot
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {(DQ ($ VSub_Name "$lt_sysroot") (":") ($ VSub_Number "$1"))}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other "?") (Lit_Other "*") (Lit_Other ":") (DQ ($ VSub_Name "$lt_sysroot")) 
                      (Lit_Other "*")
                    }
                  ]
                  action: [
                    (C {(func_stripname)} {(DQ ($ VSub_Name "$lt_sysroot"))} {(SQ )} 
                      {(DQ ($ VSub_Number "$1"))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_replace_sysroot_result)
                          op: Equal
                          rhs: {(DQ ("=") ($ VSub_Name "$func_stripname_result"))}
                          spids: [7031]
                        )
                      ]
                      spids: [7031]
                    )
                  ]
                  spids: [7007 7014 7038 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_replace_sysroot_result)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [7049]
                        )
                      ]
                      spids: [7049]
                    )
                  ]
                  spids: [7041 7042 7053 -1]
                )
              ]
              spids: [6996 7004 7056]
            )
          ]
          spids: [6993]
        )
      spids: [6988 6992]
    )
    (FuncDef
      name: func_infer_tag
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$available_tags"))})
                            (C {(test)} {(-z)} {(DQ ($ VSub_Name "$tagname"))})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CC_quoted)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [7114]
                        )
                      ]
                      spids: [7114]
                    )
                    (ForEach
                      iter_name: arg
                      iter_words: [{($ VSub_Name "$CC")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_append_quoted)} {(CC_quoted)} {(DQ ($ VSub_Name "$arg"))})
                          ]
                          spids: [7126 7138]
                        )
                      spids: [7122 7124]
                    )
                    (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: [7142 7146]
                              )
                            }
                          spids: [7141]
                        )
                      ]
                      spids: [7141]
                    )
                    (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: [7150 7154]
                              )
                            }
                          spids: [7149]
                        )
                      ]
                      spids: [7149]
                    )
                    (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: [7173 7238 7240 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (ForEach
                              iter_name: z
                              iter_words: [{($ VSub_Name "$available_tags")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name "$GREP")}
                                                    {
                                                      (DQ ("^# ### BEGIN LIBTOOL TAG CONFIG: ") 
                                                        ($ VSub_Name "$z") (Lit_Other "$")
                                                      )
                                                    }
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Less
                                                      fd: -1
                                                      arg_word: {(DQ ($ VSub_Name "$progpath"))}
                                                      spids: [7277]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: -1
                                                      arg_word: {(/dev/null)}
                                                      spids: [7283]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {
                                                (DQ 
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (SimpleCommand
                                                            words: [
                                                              {(${ VSub_Name SED)}
                                                              {(-n)}
                                                              {(-e)}
                                                              {
                                                                (SQ 
                                                                  <
"/^# ### BEGIN LIBTOOL TAG CONFIG: "
                                                                  >
                                                                ) ($ VSub_Name "$z") (SQ <"$/,/^# ### END LIBTOOL TAG CONFIG: ">) ($ VSub_Name "$z") (SQ <"$/p">)
                                                              }
                                                            ]
                                                            redirects: [
                                                              (Redir
                                                                op_id: Redir_Less
                                                                fd: -1
                                                                arg_word: {($ VSub_Name "$progpath")}
                                                                spids: [7319]
                                                              )
                                                            ]
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [7298 7322]
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_quoted)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [7326]
                                                )
                                              ]
                                              spids: [7326]
                                            )
                                            (ForEach
                                              iter_name: arg
                                              iter_words: [{($ VSub_Name "$CC")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_append_quoted)} {(CC_quoted)} 
                                                      {(DQ ($ VSub_Name "$arg"))}
                                                    )
                                                  ]
                                                  spids: [7338 7354]
                                                )
                                              spids: [7334 7336]
                                            )
                                            (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: [7358 7362]
                                                      )
                                                    }
                                                  spids: [7357]
                                                )
                                              ]
                                              spids: [7357]
                                            )
                                            (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: [7366 7370]
                                                      )
                                                    }
                                                  spids: [7365]
                                                )
                                              ]
                                              spids: [7365]
                                            )
                                            (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: [7464]
                                                        )
                                                      ]
                                                      spids: [7464]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [7384 7449 7471 -1]
                                                )
                                              ]
                                              spids: [7373 7380 7474]
                                            )
                                          ]
                                          spids: [-1 7288]
                                        )
                                      ]
                                      spids: [-1 7477]
                                    )
                                  ]
                                  spids: [7264 7480]
                                )
                              spids: [7260 7262]
                            )
                            (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: [-1 7506]
                                )
                              ]
                              spids: [-1 7531]
                            )
                          ]
                          spids: [7251 7252 7534 -1]
                        )
                      ]
                      spids: [7157 7161 7537]
                    )
                  ]
                  spids: [-1 7111]
                )
              ]
              spids: [-1 7540]
            )
          ]
          spids: [7084]
        )
      spids: [7079 7083]
    )
    (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: [7564]
                )
              ]
              spids: [7564]
            )
            (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: [7586]
                        )
                      ]
                      spids: [7586]
                    )
                  ]
                  spids: [-1 7583]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_lobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [7597]
                    )
                  ]
                  spids: [7597]
                )
              ]
              spids: [7594 7601]
            )
            (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: [7621]
                        )
                      ]
                      spids: [7621]
                    )
                  ]
                  spids: [-1 7618]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_oldobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [7632]
                    )
                  ]
                  spids: [7632]
                )
              ]
              spids: [7629 7636]
            )
            (AndOr
              children: [
                (C {($ VSub_Name "$opt_dry_run")})
                (BraceGroup
                  children: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(${ VSub_Name write_libobj) (T)}
                          spids: [7649]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("# ") ($ VSub_Name "$write_libobj") (" - a libtool object file\n") 
                                ("# Generated by ") ($ VSub_Name "$PROGRAM") (" (GNU ") ($ VSub_Name "$PACKAGE") ($ VSub_Name "$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: True
                          spids: [7655]
                        )
                      ]
                    )
                    (C {($ VSub_Name "$MV")} {(DQ (${ VSub_Name write_libobj) (T))} 
                      {(DQ (${ VSub_Name write_libobj))}
                    )
                  ]
                  spids: [7644]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [7561]
        )
      spids: [7556 7560]
    )
    (FuncDef
      name: func_convert_core_file_wine_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_convert_core_file_wine_to_w32_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [7754]
                )
              ]
              spids: [7754]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_convert_core_file_wine_to_w32_tmp)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [{(winepath)} {(-w)} {(DQ ($ VSub_Number "$1"))}]
                                        redirects: [
                                          (Redir
                                            op_id: Redir_Great
                                            fd: 2
                                            arg_word: {(/dev/null)}
                                            spids: [7804]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [7795 7806]
                              )
                            }
                          spids: [7794]
                        )
                      ]
                      spids: [7794]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(DQ ($ VSub_QMark "$?"))} {(-eq)} {(0)})
                                    (C {(test)} {(-n)} 
                                      {(DQ (${ VSub_Name func_convert_core_file_wine_to_w32_tmp))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_convert_core_file_wine_to_w32_result)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {
                                                      (DQ 
                                                        ($ VSub_Name 
"$func_convert_core_file_wine_to_w32_tmp"
                                                        )
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name "$SED")} {(-e)} 
                                                    {(DQ ($ VSub_Name "$lt_sed_naive_backslashify"))}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [7838 7855]
                                      )
                                    }
                                  spids: [7837]
                                )
                              ]
                              spids: [7837]
                            )
                          ]
                          spids: [-1 7834]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:func_convert_core_file_wine_to_w32_result)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [7861]
                            )
                          ]
                          spids: [7861]
                        )
                      ]
                      spids: [7858 7864]
                    )
                  ]
                  spids: [-1 7771]
                )
              ]
              spids: [-1 7867]
            )
          ]
          spids: [7748]
        )
      spids: [7743 7747]
    )
    (FuncDef
      name: func_convert_core_path_wine_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_convert_core_path_wine_to_w32_result)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [7921]
                )
              ]
              spids: [7921]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldIFS)
                          op: Equal
                          rhs: {($ VSub_Name "$IFS")}
                          spids: [7940]
                        )
                      ]
                      spids: [7940]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(Lit_Other ":")}
                          spids: [7944]
                        )
                      ]
                      spids: [7944]
                    )
                    (ForEach
                      iter_name: func_convert_core_path_wine_to_w32_f
                      iter_words: [{($ VSub_Number "$1")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name "$oldIFS")}
                                  spids: [7960]
                                )
                              ]
                              spids: [7960]
                            )
                            (C {(func_convert_core_file_wine_to_w32)} 
                              {(DQ ($ VSub_Name "$func_convert_core_path_wine_to_w32_f"))}
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} 
                                          {
                                            (DQ 
                                              ($ VSub_Name 
"$func_convert_core_file_wine_to_w32_result"
                                              )
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-z)} 
                                                  {
                                                    (DQ 
                                                      ($ VSub_Name 
"$func_convert_core_path_wine_to_w32_result"
                                                      )
                                                    )
                                                  }
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (LhsName
                                                      name: 
func_convert_core_path_wine_to_w32_result
                                                    )
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ 
                                                        ($ VSub_Name 
"$func_convert_core_file_wine_to_w32_result"
                                                        )
                                                      )
                                                    }
                                                  spids: [8000]
                                                )
                                              ]
                                              spids: [8000]
                                            )
                                          ]
                                          spids: [-1 7997]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_append)} 
                                          {(func_convert_core_path_wine_to_w32_result)} {(DQ (";") ($ VSub_Name "$func_convert_core_file_wine_to_w32_result"))}
                                        )
                                      ]
                                      spids: [8006 8019]
                                    )
                                  ]
                                  spids: [-1 7983]
                                )
                              ]
                              spids: [-1 8022]
                            )
                          ]
                          spids: [7957 8025]
                        )
                      spids: [7953 7955]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name "$oldIFS")}
                          spids: [8028]
                        )
                      ]
                      spids: [8028]
                    )
                  ]
                  spids: [-1 7937]
                )
              ]
              spids: [-1 8032]
            )
          ]
          spids: [7911]
        )
      spids: [7906 7910]
    )
    (FuncDef
      name: func_cygpath
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$LT_CYGPATH"))})
                            (C {(test)} {(-f)} {(DQ ($ VSub_Name "$LT_CYGPATH"))})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_cygpath_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [{($ VSub_Name "$LT_CYGPATH")} {(DQ ($ VSub_At "$@"))}]
                                        redirects: [
                                          (Redir
                                            op_id: Redir_Great
                                            fd: 2
                                            arg_word: {(/dev/null)}
                                            spids: [8129]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [8122 8131]
                              )
                            }
                          spids: [8121]
                        )
                      ]
                      spids: [8121]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(DQ ($ VSub_QMark "$?"))} {(-ne)} {(0)})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_cygpath_result)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [8154]
                                )
                              ]
                              spids: [8154]
                            )
                          ]
                          spids: [-1 8147]
                        )
                      ]
                      spids: [-1 8157]
                    )
                  ]
                  spids: [-1 8118]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_cygpath_result)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [8163]
                    )
                  ]
                  spids: [8163]
                )
                (C {(func_error)} 
                  {
                    (DQ ("LT_CYGPATH is empty or specifies non-existent file: ") 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ($ VSub_Name "$LT_CYGPATH") ("'")
                    )
                  }
                )
              ]
              spids: [8160 8176]
            )
          ]
          spids: [8091]
        )
      spids: [8086 8090]
    )
    (FuncDef
      name: func_convert_core_msys_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_convert_core_msys_to_w32_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (Subshell
                                    child: (C {(cmd)} {(//c)} {(echo)} {(DQ ($ VSub_Number "$1"))})
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [8225]
                                      )
                                    ]
                                    spids: [8211 8223]
                                  )
                                  (C {($ VSub_Name "$SED")} {(-e)} {(SQ <"s/[ ]*$//">)} {(-e)} 
                                    {(DQ ($ VSub_Name "$lt_sed_naive_backslashify"))}
                                  )
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [8210 8244]
                      )
                    }
                  spids: [8209]
                )
              ]
              spids: [8209]
            )
          ]
          spids: [8199]
        )
      spids: [8194 8198]
    )
    (FuncDef
      name: func_convert_file_check
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-z)} {(DQ ($ VSub_Number "$2"))})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_error)} {(DQ ("Could not determine host file name corresponding to"))})
                    (C {(func_error)} 
                      {
                        (DQ ("  ") (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_file_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number "$1"))}
                          spids: [8329]
                        )
                      ]
                      spids: [8329]
                    )
                  ]
                  spids: [-1 8298]
                )
              ]
              spids: [-1 8335]
            )
          ]
          spids: [8270]
        )
      spids: [8265 8269]
    )
    (FuncDef
      name: func_convert_path_check
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-z)} {(DQ ($ VSub_Number "$4"))})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Number "$3"))})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_error)} {(DQ ("Could not determine the host path corresponding to"))})
                    (C {(func_error)} 
                      {
                        (DQ ("  ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                          ($ VSub_Number "$3") ("'")
                        )
                      }
                    )
                    (C {(func_error)} {(DQ ("Continuing, but uninstalled executables may not work."))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ (x) ($ VSub_Number "$1"))} 
                                  {(KW_Bang "!") (Lit_Other "=")} {(DQ (x) ($ VSub_Number "$2"))}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lt_replace_pathsep_chars)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ("s|") ($ VSub_Number "$1") ("|") ($ VSub_Number "$2") ("|g"))
                                    }
                                  spids: [8444]
                                )
                              ]
                              spids: [8444]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_to_host_path_result)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(DQ ($ VSub_Number "$3"))})
                                                  (C {($ VSub_Name "$SED")} {(-e)} 
                                                    {(DQ ($ VSub_Name "$lt_replace_pathsep_chars"))}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [8455 8472]
                                      )
                                    }
                                  spids: [8454]
                                )
                              ]
                              spids: [8454]
                            )
                          ]
                          spids: [-1 8441]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:func_to_host_path_result)
                              op: Equal
                              rhs: {(DQ ($ VSub_Number "$3"))}
                              spids: [8478]
                            )
                          ]
                          spids: [8478]
                        )
                      ]
                      spids: [8475 8484]
                    )
                  ]
                  spids: [-1 8388]
                )
              ]
              spids: [-1 8487]
            )
          ]
          spids: [8361]
        )
      spids: [8356 8360]
    )
    (FuncDef
      name: func_convert_path_front_back_pathsep
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Case
              to_match: {($ VSub_Number "$4")}
              arms: [
                (case_arm
                  pat_list: [{($ VSub_Number "$1")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number "$3") ($ VSub_Name "$func_to_host_path_result"))}
                          spids: [8527]
                        )
                      ]
                      spids: [8527]
                    )
                  ]
                  spids: [8523 8525 8534 -1]
                )
              ]
              spids: [8516 8520 8537]
            )
            (Case
              to_match: {($ VSub_Number "$4")}
              arms: [
                (case_arm
                  pat_list: [{($ VSub_Number "$2")}]
                  action: [(C {(func_append)} {(func_to_host_path_result)} {(DQ ($ VSub_Number "$3"))})]
                  spids: [8547 8549 8560 -1]
                )
              ]
              spids: [8540 8544 8563]
            )
          ]
          spids: [8510]
        )
      spids: [8505 8509]
    )
    (FuncDef
      name: func_to_host_file
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (C {($ VSub_Name "$to_host_file_cmd")} {(DQ ($ VSub_Number "$1"))})
          ]
          spids: [8609]
        )
      spids: [8604 8608]
    )
    (FuncDef
      name: func_to_tool_file
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Case
              to_match: {(Lit_Comma ",") ($ VSub_Number "$2") (Lit_Comma ",")}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other "*") (Lit_Comma ",") (DQ ($ VSub_Name "$to_tool_file_cmd")) 
                      (Lit_Comma ",") (Lit_Other "*")
                    }
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_tool_file_result)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [8670]
                        )
                      ]
                      spids: [8670]
                    )
                  ]
                  spids: [8660 8667 8674 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (C {($ VSub_Name "$to_tool_file_cmd")} {(DQ ($ VSub_Number "$1"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_tool_file_result)
                          op: Equal
                          rhs: {($ VSub_Name "$func_to_host_file_result")}
                          spids: [8688]
                        )
                      ]
                      spids: [8688]
                    )
                  ]
                  spids: [8677 8678 8692 -1]
                )
              ]
              spids: [8651 8657 8695]
            )
          ]
          spids: [8645]
        )
      spids: [8640 8644]
    )
    (FuncDef
      name: func_convert_file_noop
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_file_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [8718]
                )
              ]
              spids: [8718]
            )
          ]
          spids: [8715]
        )
      spids: [8710 8714]
    )
    (FuncDef
      name: func_convert_file_msys_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_file_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [8753]
                )
              ]
              spids: [8753]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_convert_core_msys_to_w32)} {(DQ ($ VSub_Number "$1"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_file_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$func_convert_core_msys_to_w32_result"))}
                          spids: [8780]
                        )
                      ]
                      spids: [8780]
                    )
                  ]
                  spids: [-1 8770]
                )
              ]
              spids: [-1 8786]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [8747]
        )
      spids: [8742 8746]
    )
    (FuncDef
      name: func_convert_file_cygwin_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_file_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [8826]
                )
              ]
              spids: [8826]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_file_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(cygpath)} {(-m)} {(DQ ($ VSub_Number "$1"))})]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [8855 8863]
                              )
                            }
                          spids: [8854]
                        )
                      ]
                      spids: [8854]
                    )
                  ]
                  spids: [-1 8843]
                )
              ]
              spids: [-1 8866]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [8820]
        )
      spids: [8815 8819]
    )
    (FuncDef
      name: func_convert_file_nix_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_file_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [8906]
                )
              ]
              spids: [8906]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_convert_core_file_wine_to_w32)} {(DQ ($ VSub_Number "$1"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_file_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$func_convert_core_file_wine_to_w32_result"))}
                          spids: [8933]
                        )
                      ]
                      spids: [8933]
                    )
                  ]
                  spids: [-1 8923]
                )
              ]
              spids: [-1 8939]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [8900]
        )
      spids: [8895 8899]
    )
    (FuncDef
      name: func_convert_file_msys_to_cygwin
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_file_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [8979]
                )
              ]
              spids: [8979]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_convert_core_msys_to_w32)} {(DQ ($ VSub_Number "$1"))})
                    (C {(func_cygpath)} {(-u)} 
                      {(DQ ($ VSub_Name "$func_convert_core_msys_to_w32_result"))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_file_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$func_cygpath_result"))}
                          spids: [9015]
                        )
                      ]
                      spids: [9015]
                    )
                  ]
                  spids: [-1 8996]
                )
              ]
              spids: [-1 9021]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [8973]
        )
      spids: [8968 8972]
    )
    (FuncDef
      name: func_convert_file_nix_to_cygwin
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_file_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [9064]
                )
              ]
              spids: [9064]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_convert_core_file_wine_to_w32)} {(DQ ($ VSub_Number "$1"))})
                    (C {(func_cygpath)} {(-u)} 
                      {(DQ ($ VSub_Name "$func_convert_core_file_wine_to_w32_result"))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_file_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$func_cygpath_result"))}
                          spids: [9104]
                        )
                      ]
                      spids: [9104]
                    )
                  ]
                  spids: [-1 9081]
                )
              ]
              spids: [-1 9110]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [9058]
        )
      spids: [9053 9057]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:to_host_path_cmd) op:Equal rhs:{(SQ )} spids:[9198])]
      spids: [9198]
    )
    (FuncDef
      name: func_init_to_host_path_cmd
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name "$to_host_path_cmd"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(SQ <func_convert_file_>)} {(SQ )} 
                      {(DQ ($ VSub_Name "$to_host_file_cmd"))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:to_host_path_cmd)
                          op: Equal
                          rhs: {(DQ (func_convert_path_) (${ VSub_Name func_stripname_result))}
                          spids: [9239]
                        )
                      ]
                      spids: [9239]
                    )
                  ]
                  spids: [-1 9222]
                )
              ]
              spids: [-1 9248]
            )
          ]
          spids: [9205]
        )
      spids: [9200 9204]
    )
    (FuncDef
      name: func_to_host_path
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (C {(func_init_to_host_path_cmd)})
            (C {($ VSub_Name "$to_host_path_cmd")} {(DQ ($ VSub_Number "$1"))})
          ]
          spids: [9268]
        )
      spids: [9263 9267]
    )
    (FuncDef
      name: func_convert_path_noop
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [9304]
                )
              ]
              spids: [9304]
            )
          ]
          spids: [9301]
        )
      spids: [9296 9300]
    )
    (FuncDef
      name: func_convert_path_msys_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [9339]
                )
              ]
              spids: [9339]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(Lit_Other ":")} {(Lit_Other ":")} {(DQ ($ VSub_Number "$1"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_tmp1)
                          op: Equal
                          rhs: {($ VSub_Name "$func_stripname_result")}
                          spids: [9382]
                        )
                      ]
                      spids: [9382]
                    )
                    (C {(func_convert_core_msys_to_w32)} {(DQ ($ VSub_Name "$func_to_host_path_tmp1"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$func_convert_core_msys_to_w32_result"))}
                          spids: [9393]
                        )
                      ]
                      spids: [9393]
                    )
                    (C {(func_convert_path_check)} {(Lit_Other ":")} {(DQ (";"))} 
                      {(DQ ($ VSub_Name "$func_to_host_path_tmp1"))} {(DQ ($ VSub_Name "$func_to_host_path_result"))}
                    )
                    (C {(func_convert_path_front_back_pathsep)} {(DQ (":*"))} {(DQ ("*:"))} {(DQ (";"))} 
                      {(DQ ($ VSub_Number "$1"))}
                    )
                  ]
                  spids: [-1 9356]
                )
              ]
              spids: [-1 9437]
            )
          ]
          spids: [9333]
        )
      spids: [9328 9332]
    )
    (FuncDef
      name: func_convert_path_cygwin_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [9466]
                )
              ]
              spids: [9466]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(Lit_Other ":")} {(Lit_Other ":")} {(DQ ($ VSub_Number "$1"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_tmp1)
                          op: Equal
                          rhs: {($ VSub_Name "$func_stripname_result")}
                          spids: [9501]
                        )
                      ]
                      spids: [9501]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(cygpath)} {(-m)} {(-p)} 
                                        {(DQ ($ VSub_Name "$func_to_host_path_tmp1"))}
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [9506 9516]
                              )
                            }
                          spids: [9505]
                        )
                      ]
                      spids: [9505]
                    )
                    (C {(func_convert_path_check)} {(Lit_Other ":")} {(DQ (";"))} 
                      {(DQ ($ VSub_Name "$func_to_host_path_tmp1"))} {(DQ ($ VSub_Name "$func_to_host_path_result"))}
                    )
                    (C {(func_convert_path_front_back_pathsep)} {(DQ (":*"))} {(DQ ("*:"))} {(DQ (";"))} 
                      {(DQ ($ VSub_Number "$1"))}
                    )
                  ]
                  spids: [-1 9483]
                )
              ]
              spids: [-1 9557]
            )
          ]
          spids: [9460]
        )
      spids: [9455 9459]
    )
    (FuncDef
      name: func_convert_path_nix_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [9586]
                )
              ]
              spids: [9586]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(Lit_Other ":")} {(Lit_Other ":")} {(DQ ($ VSub_Number "$1"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_tmp1)
                          op: Equal
                          rhs: {($ VSub_Name "$func_stripname_result")}
                          spids: [9621]
                        )
                      ]
                      spids: [9621]
                    )
                    (C {(func_convert_core_path_wine_to_w32)} 
                      {(DQ ($ VSub_Name "$func_to_host_path_tmp1"))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$func_convert_core_path_wine_to_w32_result"))}
                          spids: [9632]
                        )
                      ]
                      spids: [9632]
                    )
                    (C {(func_convert_path_check)} {(Lit_Other ":")} {(DQ (";"))} 
                      {(DQ ($ VSub_Name "$func_to_host_path_tmp1"))} {(DQ ($ VSub_Name "$func_to_host_path_result"))}
                    )
                    (C {(func_convert_path_front_back_pathsep)} {(DQ (":*"))} {(DQ ("*:"))} {(DQ (";"))} 
                      {(DQ ($ VSub_Number "$1"))}
                    )
                  ]
                  spids: [-1 9603]
                )
              ]
              spids: [-1 9676]
            )
          ]
          spids: [9580]
        )
      spids: [9575 9579]
    )
    (FuncDef
      name: func_convert_path_msys_to_cygwin
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [9705]
                )
              ]
              spids: [9705]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(Lit_Other ":")} {(Lit_Other ":")} {(DQ ($ VSub_Number "$1"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_tmp1)
                          op: Equal
                          rhs: {($ VSub_Name "$func_stripname_result")}
                          spids: [9740]
                        )
                      ]
                      spids: [9740]
                    )
                    (C {(func_convert_core_msys_to_w32)} {(DQ ($ VSub_Name "$func_to_host_path_tmp1"))})
                    (C {(func_cygpath)} {(-u)} {(-p)} 
                      {(DQ ($ VSub_Name "$func_convert_core_msys_to_w32_result"))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$func_cygpath_result"))}
                          spids: [9762]
                        )
                      ]
                      spids: [9762]
                    )
                    (C {(func_convert_path_check)} {(Lit_Other ":")} {(Lit_Other ":")} 
                      {(DQ ($ VSub_Name "$func_to_host_path_tmp1"))} {(DQ ($ VSub_Name "$func_to_host_path_result"))}
                    )
                    (C {(func_convert_path_front_back_pathsep)} {(DQ (":*"))} {(DQ ("*:"))} 
                      {(Lit_Other ":")} {(DQ ($ VSub_Number "$1"))}
                    )
                  ]
                  spids: [-1 9722]
                )
              ]
              spids: [-1 9802]
            )
          ]
          spids: [9699]
        )
      spids: [9694 9698]
    )
    (FuncDef
      name: func_convert_path_nix_to_cygwin
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [9834]
                )
              ]
              spids: [9834]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(Lit_Other ":")} {(Lit_Other ":")} {(DQ ($ VSub_Number "$1"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_tmp1)
                          op: Equal
                          rhs: {($ VSub_Name "$func_stripname_result")}
                          spids: [9877]
                        )
                      ]
                      spids: [9877]
                    )
                    (C {(func_convert_core_path_wine_to_w32)} 
                      {(DQ ($ VSub_Name "$func_to_host_path_tmp1"))}
                    )
                    (C {(func_cygpath)} {(-u)} {(-p)} 
                      {(DQ ($ VSub_Name "$func_convert_core_path_wine_to_w32_result"))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_result)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$func_cygpath_result"))}
                          spids: [9899]
                        )
                      ]
                      spids: [9899]
                    )
                    (C {(func_convert_path_check)} {(Lit_Other ":")} {(Lit_Other ":")} 
                      {(DQ ($ VSub_Name "$func_to_host_path_tmp1"))} {(DQ ($ VSub_Name "$func_to_host_path_result"))}
                    )
                    (C {(func_convert_path_front_back_pathsep)} {(DQ (":*"))} {(DQ ("*:"))} 
                      {(Lit_Other ":")} {(DQ ($ VSub_Number "$1"))}
                    )
                  ]
                  spids: [-1 9851]
                )
              ]
              spids: [-1 9939]
            )
          ]
          spids: [9828]
        )
      spids: [9823 9827]
    )
    (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:{(SQ )} spids:[9966])]
              spids: [9966]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:srcfile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$nonopt"))}
                  spids: [9969]
                )
              ]
              spids: [9969]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:suppress_opt) op:Equal rhs:{(yes)} spids:[9978])]
              spids: [9978]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_output)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [9982]
                )
              ]
              spids: [9982]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:arg_mode) op:Equal rhs:{(normal)} spids:[9985])]
              spids: [9985]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobj) op:Equal rhs:{(SQ )} spids:[9989])]
              spids: [9989]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:later) op:Equal rhs:{(SQ )} spids:[9992])]
              spids: [9992]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:pie_flag) op:Equal rhs:{(SQ )} spids:[9995])]
              spids: [9995]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$arg_mode")}
                      arms: [
                        (case_arm
                          pat_list: [{(arg)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lastarg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$arg"))}
                                  spids: [10023]
                                )
                              ]
                              spids: [10023]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [10029]
                                )
                              ]
                              spids: [10029]
                            )
                          ]
                          spids: [10014 10016 10033 -1]
                        )
                        (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: [10042]
                                )
                              ]
                              spids: [10042]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [10048]
                                )
                              ]
                              spids: [10048]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10037 10039 10055 -1]
                        )
                        (case_arm
                          pat_list: [{(normal)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$arg")}
                              arms: [
                                (case_arm
                                  pat_list: [{(-o)}]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$libobj"))})
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("you cannot specify ") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\`">
                                              ) ("-o' more than once")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(target)}
                                          spids: [10100]
                                        )
                                      ]
                                      spids: [10100]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10075 10076 10107 -1]
                                )
                                (case_arm
                                  pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                  action: [
                                    (C {(func_append)} {(pie_flag)} {(DQ (" ") ($ VSub_Name "$arg"))})
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10111 10120 10136 -1]
                                )
                                (case_arm
                                  pat_list: [{(-shared)} {(-static)} {(-prefer-pic)} {(-prefer-non-pic)}]
                                  action: [
                                    (C {(func_append)} {(later)} {(DQ (" ") ($ VSub_Name "$arg"))})
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10140 10153 10169 -1]
                                )
                                (case_arm
                                  pat_list: [{(-no-suppress)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:suppress_opt)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [10177]
                                        )
                                      ]
                                      spids: [10177]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10173 10174 10184 -1]
                                )
                                (case_arm
                                  pat_list: [{(-Xcompiler)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(arg)}
                                          spids: [10192]
                                        )
                                      ]
                                      spids: [10192]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10188 10189 10205 -1]
                                )
                                (case_arm
                                  pat_list: [{(-Wc) (Lit_Comma ",") (Lit_Other "*")}]
                                  action: [
                                    (C {(func_stripname)} {(SQ <"-Wc,">)} {(SQ )} 
                                      {(DQ ($ VSub_Name "$arg"))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:args)
                                          op: Equal
                                          rhs: {($ VSub_Name "$func_stripname_result")}
                                          spids: [10232]
                                        )
                                      ]
                                      spids: [10232]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [10236]
                                        )
                                      ]
                                      spids: [10236]
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$IFS"))}
                                              spids: [10239]
                                            )
                                          ]
                                          spids: [10239]
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <",">)}
                                          spids: [10245]
                                        )
                                      ]
                                      spids: [10245]
                                    )
                                    (ForEach
                                      iter_name: arg
                                      iter_words: [{($ VSub_Name "$args")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                                  spids: [10263]
                                                )
                                              ]
                                              spids: [10263]
                                            )
                                            (C {(func_append_quoted)} {(lastarg)} 
                                              {(DQ ($ VSub_Name "$arg"))}
                                            )
                                          ]
                                          spids: [10260 10278]
                                        )
                                      spids: [10256 10258]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                          spids: [10281]
                                        )
                                      ]
                                      spids: [10281]
                                    )
                                    (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: [10301]
                                        )
                                      ]
                                      spids: [10301]
                                    )
                                    (C {(func_append)} {(base_compile)} 
                                      {(DQ (" ") ($ VSub_Name "$lastarg"))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10212 10215 10323 -1]
                                )
                                (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: [10343]
                                        )
                                      ]
                                      spids: [10343]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcfile)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$arg"))}
                                          spids: [10349]
                                        )
                                      ]
                                      spids: [10349]
                                    )
                                  ]
                                  spids: [10327 10328 10355 -1]
                                )
                              ]
                              spids: [10068 10072 10358]
                            )
                          ]
                          spids: [10059 10061 10364 -1]
                        )
                      ]
                      spids: [10007 10011 10367]
                    )
                    (C {(func_append_quoted)} {(base_compile)} {(DQ ($ VSub_Name "$lastarg"))})
                  ]
                  spids: [10004 10387]
                )
              spids: [-1 -1]
            )
            (Case
              to_match: {($ VSub_Name "$arg_mode")}
              arms: [
                (case_arm
                  pat_list: [{(arg)}]
                  action: [
                    (C {(func_fatal_error)} {(DQ ("you must specify an argument for -Xcompile"))})
                  ]
                  spids: [10401 10402 10412 -1]
                )
                (case_arm
                  pat_list: [{(target)}]
                  action: [
                    (C {(func_fatal_error)} 
                      {
                        (DQ ("you must specify a target with ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("-o'")
                        )
                      }
                    )
                  ]
                  spids: [10415 10416 10428 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (AndOr
                      children: [
                        (C {(test)} {(-z)} {(DQ ($ VSub_Name "$libobj"))})
                        (BraceGroup
                          children: [
                            (C {(func_basename)} {(DQ ($ VSub_Name "$srcfile"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$func_basename_result"))}
                                  spids: [10459]
                                )
                              ]
                              spids: [10459]
                            )
                          ]
                          spids: [10449]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [10431 10432 10468 -1]
                )
              ]
              spids: [10394 10398 10471]
            )
            (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: [10605]
                        )
                      ]
                      spids: [10605]
                    )
                  ]
                  spids: [10490 10595 10609 -1]
                )
              ]
              spids: [10483 10487 10612]
            )
            (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: [10634]
                        )
                      ]
                      spids: [10634]
                    )
                  ]
                  spids: [10623 10625 10637 -1]
                )
                (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: [10640 10641 10654 -1]
                )
              ]
              spids: [10616 10620 10657]
            )
            (C {(func_infer_tag)} {($ VSub_Name "$base_compile")})
            (ForEach
              iter_name: arg
              iter_words: [{($ VSub_Name "$later")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$arg")}
                      arms: [
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name "$build_libtool_libs"))} 
                                  {(KW_Bang "!") (Lit_Other "=")} {(yes)}
                                )
                                (C {(func_fatal_configuration)} 
                                  {(DQ ("can not build a shared library"))}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [10712]
                                )
                              ]
                              spids: [10712]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10686 10687 10719 -1]
                        )
                        (case_arm
                          pat_list: [{(-static)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [10727]
                                )
                              ]
                              spids: [10727]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [10731]
                                )
                              ]
                              spids: [10731]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10723 10724 10738 -1]
                        )
                        (case_arm
                          pat_list: [{(-prefer-pic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_mode)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [10746]
                                )
                              ]
                              spids: [10746]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10742 10743 10753 -1]
                        )
                        (case_arm
                          pat_list: [{(-prefer-non-pic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_mode)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [10761]
                                )
                              ]
                              spids: [10761]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10757 10758 10768 -1]
                        )
                      ]
                      spids: [10679 10683 10771]
                    )
                  ]
                  spids: [10676 10774]
                )
              spids: [10672 10674]
            )
            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$libobj"))})
            (AndOr
              children: [
                (C {(test)} {(DQ (X) ($ VSub_Name "$libobj"))} {(KW_Bang "!") (Lit_Other "=")} 
                  {(DQ (X) ($ VSub_Name "$func_quote_for_eval_result"))}
                )
                (AndOr
                  children: [
                    (Pipeline
                      children: [
                        (C {($ VSub_Name "$ECHO")} {(DQ (X) ($ VSub_Name "$libobj"))})
                        (C {($ VSub_Name "$GREP")} 
                          {(SQ <"[]~#^*{};<>?\"">) (DQ ("'")) (SQ <"\t &()|`$[]">)}
                        )
                      ]
                      negated: False
                    )
                    (C {(func_warning)} 
                      {
                        (DQ ("libobj name ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                          ($ VSub_Name "$libobj") ("' may not contain shell special characters.")
                        )
                      }
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
            (C {(func_dirname_and_basename)} {(DQ ($ VSub_Name "$obj"))} {(DQ (/))} {(DQ )})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:objname)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$func_basename_result"))}
                  spids: [10853]
                )
              ]
              spids: [10853]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$func_dirname_result"))}
                  spids: [10859]
                )
              ]
              spids: [10859]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lobj)
                  op: Equal
                  rhs: {(${ VSub_Name xdir) ($ VSub_Name "$objdir") (/) ($ VSub_Name "$objname")}
                  spids: [10865]
                )
              ]
              spids: [10865]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$base_compile"))})
                (C {(func_fatal_help)} {(DQ ("you must specify a compilation command"))})
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(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: [10915]
                        )
                      ]
                      spids: [10915]
                    )
                  ]
                  spids: [-1 10912]
                )
              ]
              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: [10933]
                    )
                  ]
                  spids: [10933]
                )
              ]
              spids: [10930 10946]
            )
            (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: [10986]
                        )
                      ]
                      spids: [10986]
                    )
                  ]
                  spids: [10961 10983 10990 -1]
                )
              ]
              spids: [10954 10958 10993]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          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)}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pic_mode)
                          op: Equal
                          rhs: {(default)}
                          spids: [11029]
                        )
                      ]
                      spids: [11029]
                    )
                  ]
                  spids: [-1 11022]
                )
              ]
              spids: [-1 11033]
            )
            (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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [11062 11076]
                              ) (.) (${ VSub_Name objext)
                            }
                          spids: [11061]
                        )
                      ]
                      spids: [11061]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lockfile)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$output_obj") (.lock))}
                          spids: [11083]
                        )
                      ]
                      spids: [11083]
                    )
                  ]
                  spids: [-1 11058]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:output_obj)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [11093]
                    )
                  ]
                  spids: [11093]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:need_locks)
                      op: Equal
                      rhs: {(no)}
                      spids: [11096]
                    )
                  ]
                  spids: [11096]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:lockfile)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [11100]
                    )
                  ]
                  spids: [11100]
                )
              ]
              spids: [11090 11103]
            )
            (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
                              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: [11147]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_echo)} 
                              {(DQ ("Waiting for ") ($ VSub_Name "$lockfile") (" to be removed"))}
                            )
                            (C {(sleep)} {(2)})
                          ]
                          spids: [11151 11168]
                        )
                    )
                  ]
                  spids: [-1 11128]
                )
                (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: [11213]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [11208 11215]
                                  ) ("\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
                              children: [
                                (C {($ VSub_Name "$opt_dry_run")})
                                (C {($ VSub_Name "$RM")} {($ VSub_Name "$removelist")})
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_FAILURE")})
                          ]
                          spids: [-1 11198]
                        )
                      ]
                      spids: [-1 11246]
                    )
                    (C {(func_append)} {(removelist)} {(DQ (" ") ($ VSub_Name "$output_obj"))})
                    (SimpleCommand
                      words: [{($ VSub_Name "$ECHO")} {(DQ ($ VSub_Name "$srcfile"))}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(DQ ($ VSub_Name "$lockfile"))}
                          spids: [11265]
                        )
                      ]
                    )
                  ]
                  spids: [11171 11184]
                )
              ]
              spids: [-1 11272]
            )
            (AndOr
              children: [
                (C {($ VSub_Name "$opt_dry_run")})
                (C {($ VSub_Name "$RM")} {($ VSub_Name "$removelist")})
              ]
              op_id: Op_DPipe
            )
            (C {(func_append)} {(removelist)} {(DQ (" ") ($ VSub_Name "$lockfile"))})
            (C {(trap)} {(SQ <"$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE">)} {(1)} {(2)} {(15)})
            (C {(func_to_tool_file)} {(DQ ($ VSub_Name "$srcfile"))} {(func_convert_file_msys_to_w32)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:srcfile)
                  op: Equal
                  rhs: {($ VSub_Name "$func_to_tool_file_result")}
                  spids: [11318]
                )
              ]
              spids: [11318]
            )
            (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: [11329]
                )
              ]
              spids: [11329]
            )
            (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: [11358]
                        )
                      ]
                      spids: [11358]
                    )
                    (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: [11380]
                                )
                              ]
                              spids: [11380]
                            )
                          ]
                          spids: [-1 11377]
                        )
                      ]
                      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: [11397]
                            )
                          ]
                          spids: [11397]
                        )
                      ]
                      spids: [11390 11405]
                    )
                    (C {(func_mkdir_p)} {(DQ ($ VSub_Name "$xdir") ($ VSub_Name "$objdir"))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name "$output_obj"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(func_append)} {(command)} {(DQ (" -o ") ($ VSub_Name "$lobj"))})]
                          spids: [-1 11429]
                        )
                      ]
                      spids: [-1 11446]
                    )
                    (C {(func_show_eval_locale)} {(DQ ($ VSub_Name "$command"))} 
                      {(SQ <"test -n \"$output_obj\" && $RM $removelist; exit $EXIT_FAILURE">)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(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: [11488]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [11483 11490]
                                          )
                                        )
                                      } {(KW_Bang "!") (Lit_Other "=")} {(DQ (X) ($ VSub_Name "$srcfile"))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {($ VSub_Name "$ECHO")} 
                              {
                                (DQ ("*** ERROR, ") ($ VSub_Name "$lockfile") (" contains:\n") 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(cat)} {($ VSub_Name "$lockfile")}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [11517]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [11512 11519]
                                  ) ("\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
                              children: [
                                (C {($ VSub_Name "$opt_dry_run")})
                                (C {($ VSub_Name "$RM")} {($ VSub_Name "$removelist")})
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_FAILURE")})
                          ]
                          spids: [-1 11502]
                        )
                      ]
                      spids: [-1 11554]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$output_obj"))})
                                    (C {(test)} {(DQ (X) ($ VSub_Name "$output_obj"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} {(DQ (X) ($ VSub_Name "$lobj"))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} {(SQ <"$MV \"$output_obj\" \"$lobj\"">)} 
                              {(SQ <"error=$?; $opt_dry_run || $RM $removelist; exit $error">)}
                            )
                          ]
                          spids: [-1 11590]
                        )
                      ]
                      spids: [-1 11606]
                    )
                    (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: [11630]
                                )
                              ]
                              spids: [11630]
                            )
                          ]
                          spids: [-1 11627]
                        )
                      ]
                      spids: [-1 11636]
                    )
                  ]
                  spids: [-1 11351]
                )
              ]
              spids: [-1 11639]
            )
            (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: [11684]
                                )
                              ]
                              spids: [11684]
                            )
                          ]
                          spids: [-1 11677]
                        )
                      ]
                      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: [11696]
                            )
                          ]
                          spids: [11696]
                        )
                      ]
                      spids: [11693 11706]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$compiler_c_o"))} {(Lit_Other "=")} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(func_append)} {(command)} {(DQ (" -o ") ($ VSub_Name "$obj"))})]
                          spids: [-1 11722]
                        )
                      ]
                      spids: [-1 11735]
                    )
                    (C {(func_append)} {(command)} {(DQ ($ VSub_Name "$suppress_output"))})
                    (C {(func_show_eval_locale)} {(DQ ($ VSub_Name "$command"))} 
                      {(SQ <"$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE">)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(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: [11790]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [11785 11792]
                                          )
                                        )
                                      } {(KW_Bang "!") (Lit_Other "=")} {(DQ (X) ($ VSub_Name "$srcfile"))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {($ VSub_Name "$ECHO")} 
                              {
                                (DQ ("*** ERROR, ") ($ VSub_Name "$lockfile") (" contains:\n") 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(cat)} {($ VSub_Name "$lockfile")}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [11819]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [11814 11821]
                                  ) ("\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
                              children: [
                                (C {($ VSub_Name "$opt_dry_run")})
                                (C {($ VSub_Name "$RM")} {($ VSub_Name "$removelist")})
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_FAILURE")})
                          ]
                          spids: [-1 11804]
                        )
                      ]
                      spids: [-1 11856]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$output_obj"))})
                                    (C {(test)} {(DQ (X) ($ VSub_Name "$output_obj"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} {(DQ (X) ($ VSub_Name "$obj"))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} {(SQ <"$MV \"$output_obj\" \"$obj\"">)} 
                              {(SQ <"error=$?; $opt_dry_run || $RM $removelist; exit $error">)}
                            )
                          ]
                          spids: [-1 11892]
                        )
                      ]
                      spids: [-1 11908]
                    )
                  ]
                  spids: [-1 11660]
                )
              ]
              spids: [-1 11911]
            )
            (AndOr
              children: [
                (C {($ VSub_Name "$opt_dry_run")})
                (BraceGroup
                  children: [
                    (C {(func_write_libtool_object)} {(DQ ($ VSub_Name "$libobj"))} 
                      {(DQ ($ VSub_Name "$objdir") (/) ($ VSub_Name "$objname"))} {(DQ ($ VSub_Name "$objname"))}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(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: [11961]
                                )
                              ]
                              spids: [11961]
                            )
                            (C {($ VSub_Name "$RM")} {(DQ ($ VSub_Name "$lockfile"))})
                          ]
                          spids: [-1 11958]
                        )
                      ]
                      spids: [-1 11972]
                    )
                  ]
                  spids: [11919]
                )
              ]
              op_id: Op_DPipe
            )
            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
          ]
          spids: [9956]
        )
      spids: [9951 9955]
    )
    (AndOr
      children: [
        (C {($ VSub_Name "$opt_help")})
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(test)} {(DQ ($ VSub_Name "$opt_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: [12007 12013]
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [11990]
        )
      ]
      op_id: Op_DPipe
    )
    (FuncDef
      name: func_mode_help
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Name "$opt_mode")}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [(C {(func_help)})]
                  spids: [-1 12039 12053 -1]
                )
                (case_arm
                  pat_list: [{(clean)}]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("Usage: ") ($ VSub_Name "$progname") 
                          (" [OPTION]... --mode=clean RM [RM-OPTION]... FILE...\n") ("\n") ("Remove files from the build directory.\n") ("\n") 
                          (
"RM is the name of the program to use to delete files associated with each FILE\n"
                          ) ("(typically ") (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: [12057 12058 12084 -1]
                )
                (case_arm
                  pat_list: [{(compile)}]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("Usage: ") ($ VSub_Name "$progname") 
                          (" [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE\n") ("\n") ("Compile a source file into a libtool library object.\n") ("\n") 
                          ("This mode accepts the following additional options:\n") ("\n") ("  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE\n") 
                          (
"  -no-suppress      do not suppress compiler output for multiple passes\n"
                          ) ("  -prefer-pic       try to build PIC objects only\n") 
                          ("  -prefer-non-pic   try to build non-PIC objects only\n") ("  -shared           do not build a ") (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: [12088 12089 12131 -1]
                )
                (case_arm
                  pat_list: [{(execute)}]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("Usage: ") ($ VSub_Name "$progname") 
                          (" [OPTION]... --mode=execute COMMAND [ARGS]...\n") ("\n") ("Automatically set library path, then run a program.\n") ("\n") 
                          ("This mode accepts the following additional options:\n") ("\n") ("  -dlopen FILE      add the directory containing FILE to the library path\n") ("\n") 
                          ("This mode sets the library path environment variable according to ") (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: [12135 12136 12166 -1]
                )
                (case_arm
                  pat_list: [{(finish)}]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("Usage: ") ($ VSub_Name "$progname") 
                          (" [OPTION]... --mode=finish [LIBDIR]...\n") ("\n") ("Complete the installation of libtool libraries.\n") ("\n") 
                          ("Each LIBDIR is a directory that contains libtool libraries.\n") ("\n") ("The commands that this mode executes may require superuser privileges.  Use\n") ("the ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("--dry-run' option if you just want to see what would be executed.")
                        )
                      }
                    )
                  ]
                  spids: [12170 12171 12193 -1]
                )
                (case_arm
                  pat_list: [{(install)}]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("Usage: ") ($ VSub_Name "$progname") 
                          (" [OPTION]... --mode=install INSTALL-COMMAND...\n") ("\n") ("Install executables or libraries.\n") ("\n") 
                          (
"INSTALL-COMMAND is the installation command.  The first component should be\n"
                          ) ("either the ") (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: [12197 12198 12227 -1]
                )
                (case_arm
                  pat_list: [{(link)}]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("Usage: ") ($ VSub_Name "$progname") 
                          (" [OPTION]... --mode=link LINK-COMMAND...\n") ("\n") ("Link object files or libraries together to form another library, or to\n") 
                          ("create an executable program.\n") ("\n") ("LINK-COMMAND is a command using the C compiler that you would use to create\n") 
                          ("a program from several object files.\n") ("\n") ("The following components of LINK-COMMAND are treated specially:\n") ("\n") 
                          ("  -all-static       do not do any dynamic linking at all\n") ("  -avoid-version    do not add a version suffix if possible\n") 
                          (
"  -bindir BINDIR    specify path to binaries directory (for systems where\n"
                          ) ("                    libraries must be found in the PATH setting at runtime)\n") 
                          ("  -dlopen FILE      ") (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: [12231 12232 12337 -1]
                )
                (case_arm
                  pat_list: [{(uninstall)}]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("Usage: ") ($ VSub_Name "$progname") 
                          (" [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...\n") ("\n") ("Remove libraries from an installation directory.\n") ("\n") 
                          (
"RM is the name of the program to use to delete files associated with each FILE\n"
                          ) ("(typically ") (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: [12341 12342 12368 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (C {(func_fatal_help)} 
                      {
                        (DQ ("invalid operation mode ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ($ VSub_Name "$opt_mode") ("'")
                        )
                      }
                    )
                  ]
                  spids: [12372 12373 12386 -1]
                )
              ]
              spids: [12030 12034 12389]
            )
            (C {(echo)})
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("Try ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  ($ VSub_Name "$progname") (" --help' for more information about other modes.")
                )
              }
            )
          ]
          spids: [12023]
        )
      spids: [12018 12022]
    )
    (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: [-1 12432]
                )
              ]
              else_action: [
                (Pipeline
                  children: [
                    (BraceGroup
                      children: [
                        (C {(func_help)} {(noexit)})
                        (ForEach
                          iter_name: opt_mode
                          iter_words: [
                            {(compile)}
                            {(link)}
                            {(execute)}
                            {(install)}
                            {(finish)}
                            {(uninstall)}
                            {(clean)}
                          ]
                          do_arg_iter: False
                          body: (DoGroup children:[(C {(func_mode_help)})] spids:[1247012476])
                          spids: [12454 12468]
                        )
                      ]
                      spids: [12441]
                    )
                    (C {(sed)} {(-n)} {(SQ <"1p; 2,$s/^Usage:/  or: /p">)})
                  ]
                  negated: False
                )
                (Pipeline
                  children: [
                    (BraceGroup
                      children: [
                        (C {(func_help)} {(noexit)})
                        (ForEach
                          iter_name: opt_mode
                          iter_words: [
                            {(compile)}
                            {(link)}
                            {(execute)}
                            {(install)}
                            {(finish)}
                            {(uninstall)}
                            {(clean)}
                          ]
                          do_arg_iter: False
                          body: 
                            (DoGroup
                              children: [(C {(echo)}) (C {(func_mode_help)})]
                              spids: [12521 12530]
                            )
                          spids: [12505 12519]
                        )
                      ]
                      spids: [12492]
                    )
                    (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: False
                )
              ]
              spids: [12438 12553]
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [-1 12416]
        )
      ]
      spids: [-1 12560]
    )
    (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: [12582]
                )
              ]
              spids: [12582]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$cmd"))})
                (C {(func_fatal_help)} {(DQ ("you must specify a COMMAND"))})
              ]
              op_id: Op_DAmp
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name "$opt_dlopen")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(test)} {(-f)} {(DQ ($ VSub_Name "$file"))})
                        (C {(func_fatal_help)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                              ($ VSub_Name "$file") ("' is not a file")
                            )
                          }
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:dir) op:Equal rhs:{(SQ )} spids:[12646])]
                      spids: [12646]
                    )
                    (Case
                      to_match: {($ VSub_Name "$file")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.la)}]
                          action: [
                            (C {(func_resolve_sysroot)} {(DQ ($ VSub_Name "$file"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:file)
                                  op: Equal
                                  rhs: {($ VSub_Name "$func_resolve_sysroot_result")}
                                  spids: [12668]
                                )
                              ]
                              spids: [12668]
                            )
                            (AndOr
                              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")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [12701]
                                )
                              ]
                              spids: [12701]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [12704]
                                )
                              ]
                              spids: [12704]
                            )
                            (C {(func_source)} {(DQ ($ VSub_Name "$file"))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name "$dlname"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$library_names"))})
                                        (C {(func_warning)} 
                                          {
                                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                              ($ VSub_Name "$file") ("' was not linked with ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("-export-dynamic'")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 12730]
                                )
                              ]
                              spids: [-1 12763]
                            )
                            (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: [12781]
                                )
                              ]
                              spids: [12781]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-f)} 
                                          {
                                            (DQ ($ VSub_Name "$dir") (/) ($ VSub_Name "$objdir") (/) 
                                              ($ VSub_Name "$dlname")
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(dir)} {(DQ (/) ($ VSub_Name "$objdir"))})
                                  ]
                                  spids: [-1 12803]
                                )
                              ]
                              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: [-1 12834]
                                    )
                                  ]
                                  spids: [-1 12855]
                                )
                              ]
                              spids: [12816 12858]
                            )
                          ]
                          spids: [12656 12658 12861 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.lo)}]
                          action: [
                            (C {(func_dirname)} {(DQ ($ VSub_Name "$file"))} {(DQ )} {(DQ (.))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$func_dirname_result"))}
                                  spids: [12888]
                                )
                              ]
                              spids: [12888]
                            )
                          ]
                          spids: [12865 12867 12894 -1]
                        )
                        (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: [12898 12899 12913 -1]
                        )
                      ]
                      spids: [12649 12653 12916]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:absdir)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (AndOr
                                        children: [(C {(cd)} {(DQ ($ VSub_Name "$dir"))}) (C {(pwd)})]
                                        op_id: Op_DAmp
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [12925 12935]
                              )
                            }
                          spids: [12924]
                        )
                      ]
                      spids: [12924]
                    )
                    (AndOr
                      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: [12948]
                            )
                          ]
                          spids: [12948]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(eval)} 
                                  {
                                    (DQ ("test -z ") 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\\"">
                                      ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$shlibpath_var") 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\\"">
                                      )
                                    )
                                  }
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(eval)} 
                              {
                                (DQ ($ VSub_Name "$shlibpath_var") ("=") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\\"">
                                  ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (dir) 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\\"">
                                  )
                                )
                              }
                            )
                          ]
                          spids: [-1 12972]
                        )
                      ]
                      else_action: [
                        (C {(eval)} 
                          {
                            (DQ ($ VSub_Name "$shlibpath_var") ("=") 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\\"">
                              ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("dir:") 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\$">
                              ) ($ VSub_Name "$shlibpath_var") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                            )
                          }
                        )
                      ]
                      spids: [12987 13004]
                    )
                  ]
                  spids: [12621 13007]
                )
              spids: [12617 12619]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_execute_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$magic"))}
                  spids: [13019]
                )
              ]
              spids: [13019]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(SQ )} spids:[13030])]
              spids: [13030]
            )
            (ForEach
              iter_name: file
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$file")}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(-) (Lit_Other "*")}
                            {(Lit_Other "*") (.la)}
                            {(Lit_Other "*") (.lo)}
                          ]
                          spids: [13048 13061 13063 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(func_ltwrapper_script_p)} {(DQ ($ VSub_Name "$file"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_source)} {(DQ ($ VSub_Name "$file"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:file)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$progdir") (/) ($ VSub_Name "$program"))
                                            }
                                          spids: [13097]
                                        )
                                      ]
                                      spids: [13097]
                                    )
                                  ]
                                  spids: [-1 13083]
                                )
                                (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: [13135]
                                        )
                                      ]
                                      spids: [13135]
                                    )
                                  ]
                                  spids: [13105 13114]
                                )
                              ]
                              spids: [-1 13143]
                            )
                          ]
                          spids: [13066 13067 13146 -1]
                        )
                      ]
                      spids: [13041 13045 13149]
                    )
                    (C {(func_append_quoted)} {(args)} {(DQ ($ VSub_Name "$file"))})
                  ]
                  spids: [13038 13165]
                )
              spids: [-1 -1]
            )
            (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: [-1 13197]
                        )
                      ]
                      spids: [-1 13212]
                    )
                    (ForEach
                      iter_name: lt_var
                      iter_words: [
                        {(LANG)}
                        {(LANGUAGE)}
                        {(LC_ALL)}
                        {(LC_CTYPE)}
                        {(LC_COLLATE)}
                        {(LC_MESSAGES)}
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(eval)} 
                              {
                                (DQ ("if test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\$">
                                  ) ("{save_") ($ VSub_Name "$lt_var") ("+set}") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                  (" = set; then\n") ("                ") ($ VSub_Name "$lt_var") ("=") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                                  (save_) ($ VSub_Name "$lt_var") ("; export ") ($ VSub_Name "$lt_var") ("\n") ("\t      else\n") ("\t\t") 
                                  ($ VSub_Name "$lt_unset") (" ") ($ VSub_Name "$lt_var") ("\n") ("\t      fi")
                                )
                              }
                            )
                          ]
                          spids: [13239 13272]
                        )
                      spids: [13225 -1]
                    )
                    (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: [13280]
                        )
                      ]
                      spids: [13280]
                    )
                  ]
                  spids: [-1 13183]
                )
              ]
              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: [-1 13306]
                    )
                  ]
                  spids: [-1 13331]
                )
                (C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Name "$cmd") ($ VSub_Name "$args"))})
                (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
              ]
              spids: [13288 13347]
            )
          ]
          spids: [12572]
        )
      spids: [12567 12571]
    )
    (AndOr
      children: [
        (C {(test)} {(DQ ($ VSub_Name "$opt_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: [13366 13372]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (FuncDef
      name: func_mode_finish
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(SQ )} spids:[13390])]
              spids: [13390]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libdirs) op:Equal rhs:{(SQ )} spids:[13393])]
              spids: [13393]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:admincmds) op:Equal rhs:{(SQ )} spids:[13396])]
              spids: [13396]
            )
            (ForEach
              iter_name: opt
              iter_words: [
                {(DQ ($ VSub_Name "$nonopt"))}
                {
                  (BracedVarSub
                    token: <VSub_Number 1>
                    suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                    spids: [13410 13416]
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-d)} {(DQ ($ VSub_Name "$opt"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(func_append)} {(libdirs)} {(DQ (" ") ($ VSub_Name "$opt"))})]
                          spids: [-1 13433]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-f)} {(DQ ($ VSub_Name "$opt"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name "$opt"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(libs)} {(DQ (" ") ($ VSub_Name "$opt"))})
                                  ]
                                  spids: [-1 13470]
                                )
                              ]
                              else_action: [
                                (C {(func_warning)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                      ($ VSub_Name "$opt") ("' is not a valid libtool archive")
                                    )
                                  }
                                )
                              ]
                              spids: [13483 13495]
                            )
                          ]
                          spids: [13447 13458]
                        )
                      ]
                      else_action: [
                        (C {(func_fatal_error)} 
                          {
                            (DQ ("invalid argument ") 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\`">
                              ) ($ VSub_Name "$opt") ("'")
                            )
                          }
                        )
                      ]
                      spids: [13499 13512]
                    )
                  ]
                  spids: [13419 13515]
                )
              spids: [13405 -1]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$libs"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$lt_sysroot"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sysroot_regex)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ ($ VSub_Name "$lt_sysroot"))}
                                                  )
                                                  (C {($ VSub_Name "$SED")} 
                                                    {(DQ ($ VSub_Name "$sed_make_literal_regex"))}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [13548 13562]
                                      )
                                    }
                                  spids: [13547]
                                )
                              ]
                              spids: [13547]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sysroot_cmd)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ (s/) (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) 
                                        ("[ ']") (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) ($ VSub_Name "$sysroot_regex") (/) 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\1">
                                        ) ("/g;")
                                      )
                                    }
                                  spids: [13565]
                                )
                              ]
                              spids: [13565]
                            )
                          ]
                          spids: [-1 13544]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:sysroot_cmd)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [13581]
                            )
                          ]
                          spids: [13581]
                        )
                      ]
                      spids: [13578 13584]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name "$opt_dry_run")})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: lib
                              iter_words: [{($ VSub_Name "$libs")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(echo)} 
                                      {
                                        (DQ ("removing references to ") ($ VSub_Name "$lt_sysroot") 
                                          (" and ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("=' prefixes from ") ($ VSub_Name "$lib")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [13609 13624]
                                )
                              spids: [13605 13607]
                            )
                          ]
                          spids: [-1 13597]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:tmpdir)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: (CommandList children:[(C {(func_mktempdir)})])
                                    left_token: <Left_Backtick "`">
                                    spids: [13631 13633]
                                  )
                                }
                              spids: [13630]
                            )
                          ]
                          spids: [13630]
                        )
                        (ForEach
                          iter_name: lib
                          iter_words: [{($ VSub_Name "$libs")}]
                          do_arg_iter: False
                          body: 
                            (DoGroup
                              children: [
                                (SimpleCommand
                                  words: [
                                    {(sed)}
                                    {(-e)}
                                    {
                                      (DQ (${ VSub_Name sysroot_cmd) (" s/") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\(">
                                        ) ("[ ']-[LR]") (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) ("=/") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\1">
                                        ) ("/g; s/") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) ("[ ']") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\)">
                                        ) ("=/") (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) (/g)
                                      )
                                    }
                                    {($ VSub_Name "$lib")}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {($ VSub_Name "$tmpdir") (/tmp-la)}
                                      spids: [13675]
                                    )
                                  ]
                                )
                                (C {(mv)} {(-f)} {($ VSub_Name "$tmpdir") (/tmp-la)} 
                                  {($ VSub_Name "$lib")}
                                )
                              ]
                              spids: [13645 13691]
                            )
                          spids: [13641 13643]
                        )
                        (C {(${ VSub_Name RM) (r)} {(DQ ($ VSub_Name "$tmpdir"))})
                      ]
                      spids: [13627 13704]
                    )
                  ]
                  spids: [-1 13530]
                )
              ]
              spids: [-1 13707]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} 
                              {(DQ ($ VSub_Name "$finish_cmds") ($ VSub_Name "$finish_eval"))}
                            )
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$libdirs"))})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name "$libdirs")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$finish_cmds"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$finish_cmds"))} 
                                      {(SQ <"admincmds=\"$admincmds\n">) (DQ ($ VSub_Name "$cmd")) 
                                        (SQ <"\"">)
                                      }
                                    )
                                  ]
                                  spids: [-1 13759]
                                )
                              ]
                              spids: [-1 13783]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$finish_eval"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike "cmds=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) ($ VSub_Name "$finish_eval") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                      }
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (AndOr
                                          children: [
                                            (C {(eval)} {(DQ ($ VSub_Name "$cmds"))})
                                            (C {(func_append)} {(admincmds)} 
                                              {(DQ ("\n") ("       ") ($ VSub_Name "$cmds"))}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 13797]
                                )
                              ]
                              spids: [-1 13835]
                            )
                          ]
                          spids: [13745 13838]
                        )
                      spids: [13741 13743]
                    )
                  ]
                  spids: [-1 13733]
                )
              ]
              spids: [-1 13841]
            )
            (AndOr
              children: [(C {($ VSub_Name "$opt_silent")}) (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} 
                              {(DQ ($ VSub_Name "$finish_cmds") ($ VSub_Name "$finish_eval"))}
                            )
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$libdirs"))})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {(DQ (----------------------------------------------------------------------))}
                    )
                    (C {(echo)} {(DQ ("Libraries have been installed in:"))})
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name "$libdirs")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [(C {($ VSub_Name "$ECHO")} {(DQ ("   ") ($ VSub_Name "$libdir"))})]
                          spids: [13907 13918]
                        )
                      spids: [13903 13905]
                    )
                    (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: [-1 13965]
                        )
                      ]
                      spids: [-1 13985]
                    )
                    (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: [-1 13999]
                        )
                      ]
                      spids: [-1 14019]
                    )
                    (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: [14036]
                                )
                              ]
                              spids: [14036]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "flag=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) ($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                              }
                            )
                            (C {($ VSub_Name "$ECHO")} 
                              {
                                (DQ ("   - use the ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\`">
                                  ) ($ VSub_Name "$flag") ("' linker flag")
                                )
                              }
                            )
                          ]
                          spids: [-1 14033]
                        )
                      ]
                      spids: [-1 14059]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$admincmds"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {($ VSub_Name "$ECHO")} 
                              {
                                (DQ ("   - have your system administrator run these commands:") 
                                  ($ VSub_Name "$admincmds")
                                )
                              }
                            )
                          ]
                          spids: [-1 14073]
                        )
                      ]
                      spids: [-1 14084]
                    )
                    (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: [-1 14096]
                        )
                      ]
                      spids: [-1 14108]
                    )
                    (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: [14129 14138 14155 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
"more information, such as the ld(1) and ld.so(8) manual pages."
                                  )
                                )
                              }
                            )
                          ]
                          spids: [14158 14159 14169 -1]
                        )
                      ]
                      spids: [14122 14126 14172]
                    )
                    (C {(echo)} 
                      {(DQ (----------------------------------------------------------------------))}
                    )
                  ]
                  spids: [-1 13881]
                )
              ]
              spids: [-1 14182]
            )
            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
          ]
          spids: [13384]
        )
      spids: [13379 13383]
    )
    (AndOr
      children: [
        (C {(test)} {(DQ ($ VSub_Name "$opt_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: [14206 14212]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (FuncDef
      name: func_mode_install
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name "$nonopt"))} {(Lit_Other "=")} 
                              {(DQ ($ VSub_Name "$SHELL"))}
                            )
                            (AndOr
                              children: [
                                (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: [14277 14280 14283 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other "*")}]
                                      action: [(C {(false)})]
                                      spids: [14285 14286 14289 -1]
                                    )
                                  ]
                                  spids: [14271 14275 14291]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      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: [14308]
                        )
                      ]
                      spids: [14308]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [14315]
                        )
                      ]
                      spids: [14315]
                    )
                    (C {(shift)})
                  ]
                  spids: [-1 14294]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:install_prog)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [14325]
                    )
                  ]
                  spids: [14325]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:arg)
                      op: Equal
                      rhs: {($ VSub_Name "$nonopt")}
                      spids: [14328]
                    )
                  ]
                  spids: [14328]
                )
              ]
              spids: [14322 14332]
            )
            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$arg"))})
            (C {(func_append)} {(install_prog)} {(DQ ($ VSub_Name "$func_quote_for_eval_result"))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_shared_prog)
                  op: Equal
                  rhs: {($ VSub_Name "$install_prog")}
                  spids: [14360]
                )
              ]
              spids: [14360]
            )
            (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: [14386]
                        )
                      ]
                      spids: [14386]
                    )
                  ]
                  spids: [14375 14384 14389 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_cp)
                          op: Equal
                          rhs: {(false)}
                          spids: [14395]
                        )
                      ]
                      spids: [14395]
                    )
                  ]
                  spids: [14392 14393 14398 -1]
                )
              ]
              spids: [14364 14372 14401]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal rhs:{(SQ )} spids:[14409])]
              spids: [14409]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(SQ )} spids:[14412])]
              spids: [14412]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opts) op:Equal rhs:{(SQ )} spids:[14415])]
              spids: [14415]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(SQ )} spids:[14418])]
              spids: [14418]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_type)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [14421]
                )
              ]
              spids: [14421]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:isdir) op:Equal rhs:{(no)} spids:[14424])]
              spids: [14424]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:stripme) op:Equal rhs:{(SQ )} spids:[14428])]
              spids: [14428]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:no_mode)
                  op: Equal
                  rhs: {(Lit_Other ":")}
                  spids: [14431]
                )
              ]
              spids: [14431]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg2)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [14443]
                        )
                      ]
                      spids: [14443]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dest"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(func_append)} {(files)} {(DQ (" ") ($ VSub_Name "$dest"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dest)
                                  op: Equal
                                  rhs: {($ VSub_Name "$arg")}
                                  spids: [14470]
                                )
                              ]
                              spids: [14470]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [-1 14457]
                        )
                      ]
                      spids: [-1 14477]
                    )
                    (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: [14491]
                                )
                              ]
                              spids: [14491]
                            )
                          ]
                          spids: [14488 14489 14494 -1]
                        )
                        (case_arm
                          pat_list: [{(-f)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {($ VSub_Name "$install_cp")})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Sentence
                                      child: (C {(Lit_Other ":")})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  spids: [-1 14506]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {($ VSub_Name "$arg")}
                                      spids: [14514]
                                    )
                                  ]
                                  spids: [14514]
                                )
                              ]
                              spids: [14511 14518]
                            )
                          ]
                          spids: [14497 14498 14521 -1]
                        )
                        (case_arm
                          pat_list: [{(-g)} {(-m)} {(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {($ VSub_Name "$arg")}
                                  spids: [14536]
                                )
                              ]
                              spids: [14536]
                            )
                          ]
                          spids: [14524 14533 14540 -1]
                        )
                        (case_arm
                          pat_list: [{(-s)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripme)
                                  op: Equal
                                  rhs: {(DQ (" -s"))}
                                  spids: [14547]
                                )
                              ]
                              spids: [14547]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [14543 14544 14556 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other "*")}]
                          spids: [14559 14561 14564 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$prev"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ (x) ($ VSub_Name "$prev"))} 
                                                      {(Lit_Other "=")} {(x-m)}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$install_override_mode"))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:arg2)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$install_override_mode")}
                                                  spids: [14616]
                                                )
                                              ]
                                              spids: [14616]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:no_mode)
                                                  op: Equal
                                                  rhs: {(false)}
                                                  spids: [14620]
                                                )
                                              ]
                                              spids: [14620]
                                            )
                                          ]
                                          spids: [-1 14613]
                                        )
                                      ]
                                      spids: [-1 14624]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [14627]
                                        )
                                      ]
                                      spids: [14627]
                                    )
                                  ]
                                  spids: [-1 14586]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:dest)
                                      op: Equal
                                      rhs: {($ VSub_Name "$arg")}
                                      spids: [14633]
                                    )
                                  ]
                                  spids: [14633]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Continue continue>
                                )
                              ]
                              spids: [14630 14640]
                            )
                          ]
                          spids: [14567 14568 14643 -1]
                        )
                      ]
                      spids: [14481 14485 14646]
                    )
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$arg"))})
                    (C {(func_append)} {(install_prog)} 
                      {(DQ (" ") ($ VSub_Name "$func_quote_for_eval_result"))}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$arg2"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$arg2"))})]
                          spids: [-1 14682]
                        )
                      ]
                      spids: [-1 14692]
                    )
                    (C {(func_append)} {(install_shared_prog)} 
                      {(DQ (" ") ($ VSub_Name "$func_quote_for_eval_result"))}
                    )
                  ]
                  spids: [14440 14705]
                )
              spids: [-1 -1]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$install_prog"))})
                (C {(func_fatal_help)} {(DQ ("you must specify an install program"))})
              ]
              op_id: Op_DAmp
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$prev"))})
                (C {(func_fatal_help)} 
                  {
                    (DQ ("the ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                      ($ VSub_Name "$prev") ("' option requires an argument")
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$install_override_mode"))})
                            (C {($ VSub_Name "$no_mode")})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name "$install_cp")})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(Sentence child:(C {(Lit_Other ":")}) terminator:<Op_Semi ";">)]
                          spids: [-1 14775]
                        )
                      ]
                      else_action: [
                        (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$install_override_mode"))})
                        (C {(func_append)} {(install_shared_prog)} 
                          {(DQ (" -m ") ($ VSub_Name "$func_quote_for_eval_result"))}
                        )
                      ]
                      spids: [14780 14800]
                    )
                  ]
                  spids: [-1 14767]
                )
              ]
              spids: [-1 14803]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name "$files"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name "$dest"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(func_fatal_help)} {(DQ ("no file or destination specified"))})]
                          spids: [-1 14832]
                        )
                      ]
                      else_action: [(C {(func_fatal_help)} {(DQ ("you must specify a destination"))})]
                      spids: [14842 14852]
                    )
                  ]
                  spids: [-1 14818]
                )
              ]
              spids: [-1 14855]
            )
            (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: [14877]
                )
              ]
              spids: [14877]
            )
            (AndOr
              children: [
                (C {(test)} {(-d)} {(DQ ($ VSub_Name "$dest"))})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:isdir) op:Equal rhs:{(yes)} spids:[14896])]
                  spids: [14896]
                )
              ]
              op_id: Op_DAmp
            )
            (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: [14916]
                        )
                      ]
                      spids: [14916]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:destname)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [14922]
                        )
                      ]
                      spids: [14922]
                    )
                  ]
                  spids: [-1 14913]
                )
              ]
              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: [14942]
                    )
                  ]
                  spids: [14942]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:destname)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name "$func_basename_result"))}
                      spids: [14948]
                    )
                  ]
                  spids: [14948]
                )
                (Sentence
                  child: (C {(set)} {(dummy)} {($ VSub_Name "$files")})
                  terminator: <Op_Semi ";">
                )
                (C {(shift)})
                (AndOr
                  children: [
                    (C {(test)} {(DQ ($ VSub_Pound "$#"))} {(-gt)} {(1)})
                    (C {(func_fatal_help)} 
                      {
                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ($ VSub_Name "$dest") 
                          ("' is not a directory")
                        )
                      }
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              spids: [14925 14992]
            )
            (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: [15002 15019 15021 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (ForEach
                      iter_name: file
                      iter_words: [{($ VSub_Name "$files")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name "$file")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (.lo)}]
                                  spids: [15047 15049 15051 -1]
                                )
                                (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: [15054 15055 15067 -1]
                                )
                              ]
                              spids: [15040 15044 15070]
                            )
                          ]
                          spids: [15037 15073]
                        )
                      spids: [15033 15035]
                    )
                  ]
                  spids: [15024 15025 15076 -1]
                )
              ]
              spids: [14995 14999 15079]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$magic"))}
                  spids: [15091]
                )
              ]
              spids: [15091]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:staticlibs) op:Equal rhs:{(SQ )} spids:[15098])]
              spids: [15098]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:future_libdirs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [15101]
                )
              ]
              spids: [15101]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_libdirs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [15104]
                )
              ]
              spids: [15104]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name "$files")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$file")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.) ($ VSub_Name "$libext")}]
                          action: [(C {(func_append)} {(staticlibs)} {(DQ (" ") ($ VSub_Name "$file"))})]
                          spids: [15131 15134 15151 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.la)}]
                          action: [
                            (C {(func_resolve_sysroot)} {(DQ ($ VSub_Name "$file"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:file)
                                  op: Equal
                                  rhs: {($ VSub_Name "$func_resolve_sysroot_result")}
                                  spids: [15167]
                                )
                              ]
                              spids: [15167]
                            )
                            (AndOr
                              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")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [15196]
                                )
                              ]
                              spids: [15196]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [15199]
                                )
                              ]
                              spids: [15199]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [15202]
                                )
                              ]
                              spids: [15202]
                            )
                            (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: [15247 15254 15256 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(current_libdirs)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [15259 15260 15271 -1]
                                        )
                                      ]
                                      spids: [15237 15244 15274]
                                    )
                                  ]
                                  spids: [-1 15234]
                                )
                              ]
                              else_action: [
                                (Case
                                  to_match: {(DQ ($ VSub_Name "$future_libdirs") (" "))}
                                  arms: [
                                    (case_arm
                                      pat_list: [
                                        {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$libdir") (" ")) 
                                          (Lit_Other "*")
                                        }
                                      ]
                                      spids: [15294 15301 15303 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other "*")}]
                                      action: [
                                        (C {(func_append)} {(future_libdirs)} 
                                          {(DQ (" ") ($ VSub_Name "$libdir"))}
                                        )
                                      ]
                                      spids: [15306 15307 15318 -1]
                                    )
                                  ]
                                  spids: [15284 15291 15321]
                                )
                              ]
                              spids: [15277 15324]
                            )
                            (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: [15342]
                                )
                              ]
                              spids: [15342]
                            )
                            (C {(func_append)} {(dir)} {(DQ ($ VSub_Name "$objdir"))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$relink_command"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:inst_prefix_dir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {(DQ ($ VSub_Name "$destdir"))}
                                                          )
                                                          (C {($ VSub_Name "$SED")} {(-e)} 
                                                            {
                                                              (DQ ("s%") ($ VSub_Name "$libdir") 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar "\\$">
                                                                ) ("%%")
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [15377 15396]
                                              )
                                            }
                                          spids: [15376]
                                        )
                                      ]
                                      spids: [15376]
                                    )
                                    (AndOr
                                      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")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name "$inst_prefix_dir"))}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:relink_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name "$ECHO")} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$relink_command"
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name "$SED")} 
                                                                    {
                                                                      (DQ 
                                                                        (
"s%@inst_prefix_dir@%-inst-prefix-dir "
                                                                        ) ($ VSub_Name "$inst_prefix_dir") ("%")
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [15471 15487]
                                                      )
                                                    }
                                                  spids: [15470]
                                                )
                                              ]
                                              spids: [15470]
                                            )
                                          ]
                                          spids: [-1 15463]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:relink_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name "$ECHO")} 
                                                                {
                                                                  (DQ ($ VSub_Name "$relink_command"))
                                                                }
                                                              )
                                                              (C {($ VSub_Name "$SED")} 
                                                                {(DQ ("s%@inst_prefix_dir@%%"))}
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [15494 15508]
                                                  )
                                                }
                                              spids: [15493]
                                            )
                                          ]
                                          spids: [15493]
                                        )
                                      ]
                                      spids: [15490 15511]
                                    )
                                    (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: [-1 15369]
                                )
                              ]
                              spids: [-1 15542]
                            )
                            (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: [15574]
                                        )
                                      ]
                                      spids: [15574]
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcname)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$realname"))}
                                          spids: [15584]
                                        )
                                      ]
                                      spids: [15584]
                                    )
                                    (AndOr
                                      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: [15600]
                                            )
                                          ]
                                          spids: [15600]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name "$install_shared_prog") (" ") 
                                          ($ VSub_Name "$dir") (/) ($ VSub_Name "$srcname") (" ") ($ VSub_Name "$destdir") (/) ($ VSub_Name "$realname")
                                        )
                                      } {(SQ <"exit $?">)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tstripme)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$stripme"))}
                                          spids: [15633]
                                        )
                                      ]
                                      spids: [15633]
                                    )
                                    (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: [15678]
                                                        )
                                                      ]
                                                      spids: [15678]
                                                    )
                                                  ]
                                                  spids: [15673 15675 15683 -1]
                                                )
                                              ]
                                              spids: [15666 15670 15686]
                                            )
                                          ]
                                          spids: [15646 15663 15689 -1]
                                        )
                                      ]
                                      spids: [15639 15643 15692]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$tstripme"))})
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$striplib"))})
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_show_eval)} 
                                              {
                                                (DQ ($ VSub_Name "$striplib") (" ") 
                                                  ($ VSub_Name "$destdir") (/) ($ VSub_Name "$realname")
                                                )
                                              } {(SQ <"exit $?">)}
                                            )
                                          ]
                                          spids: [-1 15716]
                                        )
                                      ]
                                      spids: [-1 15734]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Pound "$#"))} {(-gt)} {(0)})
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (ForEach
                                              iter_name: linkname
                                              do_arg_iter: True
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(DQ ($ VSub_Name "$linkname"))} 
                                                          {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$realname"))}
                                                        )
                                                        (C {(func_show_eval)} 
                                                          {
                                                            (DQ ("(cd ") ($ VSub_Name "$destdir") 
                                                              (" && { ") ($ VSub_Name "$LN_S") (" -f ") ($ VSub_Name "$realname") (" ") ($ VSub_Name "$linkname") (" || { ") 
                                                              ($ VSub_Name "$RM") (" ") ($ VSub_Name "$linkname") (" && ") ($ VSub_Name "$LN_S") (" ") ($ VSub_Name "$realname") (" ") 
                                                              ($ VSub_Name "$linkname") ("; }; })")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [15775 15820]
                                                )
                                              spids: [-1 -1]
                                            )
                                          ]
                                          spids: [-1 15751]
                                        )
                                      ]
                                      spids: [-1 15823]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$destdir") (/) 
                                                ($ VSub_Name "$realname")
                                              )
                                            }
                                          spids: [15831]
                                        )
                                      ]
                                      spids: [15831]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$postinstall_cmds"))} 
                                      {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 15571]
                                )
                              ]
                              spids: [-1 15850]
                            )
                            (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: [15865]
                                )
                              ]
                              spids: [15865]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:instname)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$dir") (/) ($ VSub_Name "$name")) (i)}
                                  spids: [15871]
                                )
                              ]
                              spids: [15871]
                            )
                            (C {(func_show_eval)} 
                              {
                                (DQ ($ VSub_Name "$install_prog") (" ") ($ VSub_Name "$instname") (" ") 
                                  ($ VSub_Name "$destdir") (/) ($ VSub_Name "$name")
                                )
                              } {(SQ <"exit $?">)}
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$old_library"))})
                                (C {(func_append)} {(staticlibs)} 
                                  {(DQ (" ") ($ VSub_Name "$dir") (/) ($ VSub_Name "$old_library"))}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          spids: [15155 15157 15924 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.lo)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$destname"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$destdir") (/) 
                                                ($ VSub_Name "$destname")
                                              )
                                            }
                                          spids: [15956]
                                        )
                                      ]
                                      spids: [15956]
                                    )
                                  ]
                                  spids: [-1 15953]
                                )
                              ]
                              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: [15974]
                                    )
                                  ]
                                  spids: [15974]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name "$destdir") (/) ($ VSub_Name "$destfile"))}
                                      spids: [15980]
                                    )
                                  ]
                                  spids: [15980]
                                )
                              ]
                              spids: [15964 15988]
                            )
                            (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: [16015]
                                        )
                                      ]
                                      spids: [16015]
                                    )
                                  ]
                                  spids: [16003 16005 16019 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (.) ($ VSub_Name "$objext")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:staticdest)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$destfile"))}
                                          spids: [16028]
                                        )
                                      ]
                                      spids: [16028]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [16034]
                                        )
                                      ]
                                      spids: [16034]
                                    )
                                  ]
                                  spids: [16022 16025 16037 -1]
                                )
                                (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: [16040 16041 16054 -1]
                                )
                              ]
                              spids: [15996 16000 16057]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$destfile"))})
                                (C {(func_show_eval)} 
                                  {
                                    (DQ ($ VSub_Name "$install_prog") (" ") ($ VSub_Name "$file") (" ") 
                                      ($ VSub_Name "$destfile")
                                    )
                                  } {(SQ <"exit $?">)}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(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: [16124]
                                        )
                                      ]
                                      spids: [16124]
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name "$install_prog") (" ") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\$">
                                          ) ("staticobj ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (staticdest)
                                        )
                                      } {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 16110]
                                )
                              ]
                              spids: [-1 16144]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [15928 15930 16152 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$destname"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$destdir") (/) 
                                                ($ VSub_Name "$destname")
                                              )
                                            }
                                          spids: [16178]
                                        )
                                      ]
                                      spids: [16178]
                                    )
                                  ]
                                  spids: [-1 16175]
                                )
                              ]
                              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: [16196]
                                    )
                                  ]
                                  spids: [16196]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name "$destdir") (/) ($ VSub_Name "$destfile"))}
                                      spids: [16202]
                                    )
                                  ]
                                  spids: [16202]
                                )
                              ]
                              spids: [16186 16210]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripped_ext)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [16226]
                                )
                              ]
                              spids: [16226]
                            )
                            (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: [16273]
                                                )
                                              ]
                                              spids: [16273]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:stripped_ext)
                                                  op: Equal
                                                  rhs: {(DQ (.exe))}
                                                  spids: [16277]
                                                )
                                              ]
                                              spids: [16277]
                                            )
                                          ]
                                          spids: [-1 16256]
                                        )
                                      ]
                                      spids: [-1 16283]
                                    )
                                  ]
                                  spids: [16238 16240 16286 -1]
                                )
                              ]
                              spids: [16231 16235 16289]
                            )
                            (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: [16335]
                                                )
                                              ]
                                              spids: [16335]
                                            )
                                          ]
                                          spids: [-1 16325]
                                        )
                                      ]
                                      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: [16356]
                                            )
                                          ]
                                          spids: [16356]
                                        )
                                      ]
                                      spids: [16339 16360]
                                    )
                                  ]
                                  spids: [16304 16313 16363 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wrapper)
                                          op: Equal
                                          rhs: {($ VSub_Name "$file")}
                                          spids: [16370]
                                        )
                                      ]
                                      spids: [16370]
                                    )
                                  ]
                                  spids: [16366 16367 16374 -1]
                                )
                              ]
                              spids: [16297 16301 16377]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(func_ltwrapper_script_p)} {(DQ ($ VSub_Name "$wrapper"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:notinst_deplibs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [16392]
                                        )
                                      ]
                                      spids: [16392]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [16395]
                                        )
                                      ]
                                      spids: [16395]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name "$wrapper"))})
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name "$generated_by_libtool_version"))}
                                        )
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("invalid libtool wrapper script ") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\`">
                                              ) ($ VSub_Name "$wrapper") ("'")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:finalize)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [16434]
                                        )
                                      ]
                                      spids: [16434]
                                    )
                                    (ForEach
                                      iter_name: lib
                                      iter_words: [{($ VSub_Name "$notinst_deplibs")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [16454]
                                                )
                                              ]
                                              spids: [16454]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name "$lib"))})
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_source)} {(DQ ($ VSub_Name "$lib"))})
                                                  ]
                                                  spids: [-1 16468]
                                                )
                                              ]
                                              spids: [-1 16478]
                                            )
                                            (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: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [16486 16500]
                                                      )
                                                    }
                                                  spids: [16481]
                                                )
                                              ]
                                              spids: [16481]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name "$libdir"))}
                                                            )
                                                            (C {(test)} {(KW_Bang "!")} {(-f)} 
                                                              {(DQ ($ VSub_Name "$libfile"))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_warning)} 
                                                      {
                                                        (DQ 
                                                          (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: [16544]
                                                        )
                                                      ]
                                                      spids: [16544]
                                                    )
                                                  ]
                                                  spids: [-1 16529]
                                                )
                                              ]
                                              spids: [-1 16548]
                                            )
                                          ]
                                          spids: [16447 16551]
                                        )
                                      spids: [16443 16445]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [16555]
                                        )
                                      ]
                                      spids: [16555]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name "$wrapper"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:outputname)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [16566]
                                        )
                                      ]
                                      spids: [16566]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name "$fast_install"))} 
                                                      {(Lit_Other "=")} {(no)}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$relink_command"))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name "$opt_dry_run")})
                                                (BraceGroup
                                                  children: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(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: [16619 16621]
                                                                      )
                                                                    }
                                                                  spids: [16618]
                                                                )
                                                              ]
                                                              spids: [16618]
                                                            )
                                                            (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: [16632]
                                                                )
                                                              ]
                                                              spids: [16632]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:outputname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$tmpdir") (/) 
                                                                        ($ VSub_Name "$file")
                                                                      )
                                                                    }
                                                                  spids: [16638]
                                                                )
                                                              ]
                                                              spids: [16638]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:relink_command)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C 
                                                                                    {
                                                                                      ($ VSub_Name 
"$ECHO"
                                                                                      )
                                                                                    } {(DQ ($ VSub_Name "$relink_command"))}
                                                                                  )
                                                                                  (C 
                                                                                    {
                                                                                      ($ VSub_Name 
"$SED"
                                                                                      )
                                                                                    } {(SQ <"s%@OUTPUT@%">) (DQ ($ VSub_Name "$outputname")) (SQ <"%g">)}
                                                                                  )
                                                                                ]
                                                                                negated: False
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick "`">
                                                                        spids: [16651 16671]
                                                                      )
                                                                    }
                                                                  spids: [16650]
                                                                )
                                                              ]
                                                              spids: [16650]
                                                            )
                                                            (AndOr
                                                              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: [16679]
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(eval)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
"$relink_command"
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [(C {(Lit_Other ":")})]
                                                                  spids: [-1 16709]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(func_error)} 
                                                                  {
                                                                    (DQ ("error: relink ") 
                                                                      (EscapedLiteralPart
                                                                        token: 
                                                                          <Lit_EscapedChar "\\`">
                                                                      ) ($ VSub_Name "$file") ("' with the above command before installing it")
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {($ VSub_Name "$opt_dry_run")})
                                                                    (C {(${ VSub_Name RM) (r)} 
                                                                      {(DQ ($ VSub_Name "$tmpdir"))}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DPipe
                                                                )
                                                                (ControlFlow
                                                                  token: 
                                                                    <ControlFlow_Continue continue>
                                                                )
                                                              ]
                                                              spids: [16714 16744]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:file)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$outputname"))
                                                                    }
                                                                  spids: [16747]
                                                                )
                                                              ]
                                                              spids: [16747]
                                                            )
                                                          ]
                                                          spids: [-1 16615]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(func_warning)} 
                                                          {
                                                            (DQ ("cannot relink ") 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar "\\`">
                                                              ) ($ VSub_Name "$file") ("'")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [16753 16766]
                                                    )
                                                  ]
                                                  spids: [16599]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 16592]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:file)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name "$ECHO")} 
                                                                {
                                                                  (DQ ($ VSub_Name "$file") 
                                                                    ($ VSub_Name "$stripped_ext")
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name "$SED")} 
                                                                {
                                                                  (DQ ("s%") 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar "\\(">
                                                                    ) ("[^/]*") (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) (Lit_Other "$") ("%") 
                                                                    ($ VSub_Name "$objdir") (/) (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) ("%")
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [16780 16804]
                                                  )
                                                }
                                              spids: [16779]
                                            )
                                          ]
                                          spids: [16779]
                                        )
                                      ]
                                      spids: [16772 16807]
                                    )
                                  ]
                                  spids: [-1 16389]
                                )
                              ]
                              spids: [-1 16810]
                            )
                            (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: [16850 16855 16862 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (.exe) (Lit_Other ":") (Lit_Other "*")}
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:destfile)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$destfile") (.exe)}
                                                  spids: [16872]
                                                )
                                              ]
                                              spids: [16872]
                                            )
                                          ]
                                          spids: [16865 16869 16877 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (Lit_Other ":") (Lit_Other "*") (.exe)}
                                          ]
                                          action: [
                                            (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                                              {(DQ ($ VSub_Name "$destfile"))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:destfile)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$func_stripname_result")}
                                                  spids: [16901]
                                                )
                                              ]
                                              spids: [16901]
                                            )
                                          ]
                                          spids: [16880 16884 16905 -1]
                                        )
                                      ]
                                      spids: [16841 16847 16908]
                                    )
                                  ]
                                  spids: [16831 16838 16911 -1]
                                )
                              ]
                              spids: [16822 16828 16914]
                            )
                            (C {(func_show_eval)} 
                              {
                                (DQ ($ VSub_Name "$install_prog") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\$">
                                  ) ("stripme ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("file ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\$">
                                  ) (destfile)
                                )
                              } {(SQ <"exit $?">)}
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name "$opt_dry_run")})
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$outputname"))})
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      action: [
                                        (C {(${ VSub_Name RM) (r)} {(DQ ($ VSub_Name "$tmpdir"))})
                                      ]
                                      spids: [-1 16949]
                                    )
                                  ]
                                  spids: [-1 16962]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [16156 16157 16965 -1]
                        )
                      ]
                      spids: [15124 15128 16968]
                    )
                  ]
                  spids: [15116 16971]
                )
              spids: [15112 15114]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name "$staticlibs")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(func_basename)} {(DQ ($ VSub_Name "$file"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:name)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$func_basename_result"))}
                          spids: [16994]
                        )
                      ]
                      spids: [16994]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlib)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$destdir") (/) ($ VSub_Name "$name"))}
                          spids: [17005]
                        )
                      ]
                      spids: [17005]
                    )
                    (C {(func_show_eval)} 
                      {
                        (DQ ($ VSub_Name "$install_prog") (" ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("file ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (oldlib)
                        )
                      } {(SQ <"exit $?">)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$stripme"))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$old_striplib"))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} 
                              {(DQ ($ VSub_Name "$old_striplib") (" ") ($ VSub_Name "$oldlib"))} {(SQ <"exit $?">)}
                            )
                          ]
                          spids: [-1 17052]
                        )
                      ]
                      spids: [-1 17068]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$old_postinstall_cmds"))} 
                      {(SQ <"exit $?">)}
                    )
                  ]
                  spids: [16984 17087]
                )
              spids: [16980 16982]
            )
            (AndOr
              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") ("'")
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$current_libdirs"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (AndOr
                      children: [
                        (C {($ VSub_Name "$opt_dry_run")})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:current_libdirs)
                              op: Equal
                              rhs: {(DQ (" -n") ($ VSub_Name "$current_libdirs"))}
                              spids: [17138]
                            )
                          ]
                          spids: [17138]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:exec_cmd)
                          op: Equal
                          rhs: {(SQ <"$SHELL $progpath $preserve_args --finish$current_libdirs">)}
                          spids: [17145]
                        )
                      ]
                      spids: [17145]
                    )
                  ]
                  spids: [-1 17127]
                )
              ]
              else_action: [(C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})]
              spids: [17151 17159]
            )
          ]
          spids: [14224]
        )
      spids: [14219 14223]
    )
    (AndOr
      children: [
        (C {(test)} {(DQ ($ VSub_Name "$opt_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: [17178 17184]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (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: [17208]
                )
              ]
              spids: [17208]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_originator)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$2"))}
                  spids: [17214]
                )
              ]
              spids: [17214]
            )
            (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: [17222 17226]
                        )
                      )
                    }
                  spids: [17220]
                )
              ]
              spids: [17220]
            )
            (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: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [17231 17245]
                      )
                    }
                  spids: [17230]
                )
              ]
              spids: [17230]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_dlsyms) op:Equal rhs:{(SQ )} spids:[17248])]
              spids: [17248]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} 
                              {(DQ ($ VSub_Name "$dlfiles") ($ VSub_Name "$dlprefiles"))}
                            )
                            (C {(test)} {(DQ ($ VSub_Name "$dlself"))} {(KW_Bang "!") (Lit_Other "=")} 
                              {(no)}
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$NM"))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$global_symbol_pipe"))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_dlsyms)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name my_outputname) (S.c))}
                                  spids: [17304]
                                )
                              ]
                              spids: [17304]
                            )
                          ]
                          spids: [-1 17301]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} 
                          {(DQ ("not configured to extract global symbols from dlpreopened files"))}
                        )
                      ]
                      spids: [17313 17323]
                    )
                  ]
                  spids: [-1 17277]
                )
              ]
              spids: [-1 17326]
            )
            (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:[-11735317355-1])
                        (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: [17367]
                                )
                              ]
                              spids: [17367]
                            )
                            (C {(func_show_eval)} 
                              {
                                (DQ ($ VSub_Name "$RM") (" ") ($ VSub_Name "$nlist") (" ") 
                                  (${ VSub_Name nlist) ("S ") (${ VSub_Name nlist) (T)
                                )
                              }
                            )
                            (C {(func_verbose)} 
                              {
                                (DQ ("creating ") ($ VSub_Name "$output_objdir") (/) 
                                  ($ VSub_Name "$my_dlsyms")
                                )
                              }
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name "$opt_dry_run")})
                                (SimpleCommand
                                  words: [
                                    {($ VSub_Name "$ECHO")}
                                    {
                                      (DQ ("/* ") ($ VSub_Name "$my_dlsyms") 
                                        (" - symbol resolution table for ") (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") 
                                        (
"/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */\n"
                                        ) ("#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)\n") 
                                        (
"/* DATA imports from DLLs on WIN32 con't be const, because runtime\n"
                                        ) ("   relocations are performed -- see ld's documentation on pseudo-relocs.  */\n") 
                                        ("# define LT_DLSYM_CONST\n") ("#elif defined(__osf__)\n") 
                                        (
"/* This system does not cope well with relocations in const data.  */\n"
                                        ) ("# define LT_DLSYM_CONST\n") ("#else\n") ("# define LT_DLSYM_CONST const\n") ("#endif\n") ("\n") 
                                        ("/* External symbol declarations for the compiler. */")
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: 
                                        {
                                          (DQ ($ VSub_Name "$output_objdir") (/) 
                                            ($ VSub_Name "$my_dlsyms")
                                          )
                                        }
                                      spids: [17419]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (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
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <": @PROGRAM@ ">)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name "$nlist"))}
                                              spids: [17515]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:progfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {
                                                              (DQ ($ VSub_Name "$objs") 
                                                                ($ VSub_Name "$old_deplibs")
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name "$SP2NL")})
                                                          (C {($ VSub_Name "$SED")} 
                                                            {(DQ ($ VSub_Name "$lo2o"))}
                                                          )
                                                          (C {($ VSub_Name "$NL2SP")})
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [17528 17551]
                                              )
                                            }
                                          spids: [17527]
                                        )
                                      ]
                                      spids: [17527]
                                    )
                                    (ForEach
                                      iter_name: progfile
                                      iter_words: [{($ VSub_Name "$progfiles")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_to_tool_file)} {(DQ ($ VSub_Name "$progfile"))} 
                                              {(func_convert_file_msys_to_w32)}
                                            )
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ("extracting global C symbols from ") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\`">
                                                  ) ($ VSub_Name "$func_to_tool_file_result") ("'")
                                                )
                                              }
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name "$opt_dry_run")})
                                                (C {(eval)} 
                                                  {
                                                    (DQ ($ VSub_Name "$NM") (" ") 
                                                      ($ VSub_Name "$func_to_tool_file_result") (" | ") ($ VSub_Name "$global_symbol_pipe") (" >> '") ($ VSub_Name "$nlist") ("'")
                                                    )
                                                  }
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [17563 17603]
                                        )
                                      spids: [17559 17561]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name "$exclude_expsyms"))}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name "$opt_dry_run")})
                                                (BraceGroup
                                                  children: [
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
"$EGREP -v \" ($exclude_expsyms)$\" \"$nlist\" > \"$nlist\"T"
                                                          >
                                                        )
                                                      }
                                                    )
                                                    (C {(eval)} {(SQ <"$MV \"$nlist\"T \"$nlist\"">)})
                                                  ]
                                                  spids: [17625]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 17618]
                                        )
                                      ]
                                      spids: [-1 17645]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name "$export_symbols_regex"))}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name "$opt_dry_run")})
                                                (BraceGroup
                                                  children: [
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
"$EGREP -e \"$export_symbols_regex\" \"$nlist\" > \"$nlist\"T"
                                                          >
                                                        )
                                                      }
                                                    )
                                                    (C {(eval)} {(SQ <"$MV \"$nlist\"T \"$nlist\"">)})
                                                  ]
                                                  spids: [17667]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 17660]
                                        )
                                      ]
                                      spids: [-1 17687]
                                    )
                                    (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: [17709]
                                                )
                                              ]
                                              spids: [17709]
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name "$opt_dry_run")})
                                                (BraceGroup
                                                  children: [
                                                    (C {($ VSub_Name "$RM")} 
                                                      {($ VSub_Name "$export_symbols")}
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ (${ VSub_Name SED) 
                                                          (" -n -e '/^: @PROGRAM@ ") (Lit_Other "$") ("/d' -e 's/^.* ") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (".*") 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar "\\)">
                                                          ) (Lit_Other "$") (/) (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) ("/p' ")
                                                        ) (SQ <"< \"$nlist\" > \"$export_symbols\"">)
                                                      }
                                                    )
                                                    (Case
                                                      to_match: {($ VSub_Name "$host")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") (cygwin) (Lit_Other "*")}
                                                            {(Lit_Other "*") (mingw) (Lit_Other "*")}
                                                            {(Lit_Other "*") (cegcc) (Lit_Other "*")}
                                                          ]
                                                          action: [
                                                            (C {(eval)} 
                                                              {(DQ ("echo EXPORTS ")) 
                                                                (SQ 
                                                                  <
"> \"$output_objdir/$outputname.def\""
                                                                  >
                                                                )
                                                              }
                                                            )
                                                            (C {(eval)} 
                                                              {
                                                                (SQ 
                                                                  <
"cat \"$export_symbols\" >> \"$output_objdir/$outputname.def\""
                                                                  >
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [17759 17775 17795 -1]
                                                        )
                                                      ]
                                                      spids: [17752 17756 17798]
                                                    )
                                                  ]
                                                  spids: [17722]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 17706]
                                        )
                                      ]
                                      else_action: [
                                        (AndOr
                                          children: [
                                            (C {($ VSub_Name "$opt_dry_run")})
                                            (BraceGroup
                                              children: [
                                                (C {(eval)} 
                                                  {
                                                    (DQ (${ VSub_Name SED) (" -e 's/") 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar "\\(">
                                                      ) ("[].[*^") (Lit_Other "$") ("]") (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) (/) 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar "\\\\">
                                                      ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) 
                                                      ("/g' -e 's/^/ /' -e 's/") (Lit_Other "$") (/) (Lit_Other "$") ("/'")
                                                    ) (SQ <" < \"$export_symbols\" > \"$output_objdir/$outputname.exp\"">)
                                                  }
                                                )
                                                (C {(eval)} 
                                                  {
                                                    (SQ 
                                                      <
"$GREP -f \"$output_objdir/$outputname.exp\" < \"$nlist\" > \"$nlist\"T"
                                                      >
                                                    )
                                                  }
                                                )
                                                (C {(eval)} {(SQ <"$MV \"$nlist\"T \"$nlist\"">)})
                                                (Case
                                                  to_match: {($ VSub_Name "$host")}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other "*") (cygwin) (Lit_Other "*")}
                                                        {(Lit_Other "*") (mingw) (Lit_Other "*")}
                                                        {(Lit_Other "*") (cegcc) (Lit_Other "*")}
                                                      ]
                                                      action: [
                                                        (C {(eval)} 
                                                          {(DQ ("echo EXPORTS ")) 
                                                            (SQ 
                                                              <
"> \"$output_objdir/$outputname.def\""
                                                              >
                                                            )
                                                          }
                                                        )
                                                        (C {(eval)} 
                                                          {
                                                            (SQ 
                                                              <
"cat \"$nlist\" >> \"$output_objdir/$outputname.def\""
                                                              >
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [17862 17878 17898 -1]
                                                    )
                                                  ]
                                                  spids: [17855 17859 17901]
                                                )
                                              ]
                                              spids: [17811]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      spids: [17804 17907]
                                    )
                                  ]
                                  spids: [-1 17491]
                                )
                              ]
                              spids: [-1 17910]
                            )
                            (ForEach
                              iter_name: dlprefile
                              iter_words: [{($ VSub_Name "$dlprefiles")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_verbose)} 
                                      {
                                        (DQ ("extracting global C symbols from ") 
                                          (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: [17943]
                                        )
                                      ]
                                      spids: [17943]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$host")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (cygwin) (Lit_Other "*")}
                                            {(Lit_Other "*") (mingw) (Lit_Other "*")}
                                            {(Lit_Other "*") (cegcc) (Lit_Other "*")}
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(func_win32_import_lib_p)} 
                                                          {(DQ ($ VSub_Name "$dlprefile"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_tr_sh)} {(DQ ($ VSub_Name "$dlprefile"))})
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ("curr_lafile=") 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar "\\$">
                                                          ) (libfile_) ($ VSub_Name "$func_tr_sh_result")
                                                        )
                                                      }
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlprefile_dlbasename)
                                                          op: Equal
                                                          rhs: {(DQ )}
                                                          spids: [18008]
                                                        )
                                                      ]
                                                      spids: [18008]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} {(-n)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name "$curr_lafile")
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(func_lalib_p)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name "$curr_lafile")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: dlprefile_dlname
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (AndOr
                                                                                children: [
                                                                                  (C {(source)} 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$curr_lafile"
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                  (C {(echo)} 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$dlname"
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                ]
                                                                                op_id: Op_DAmp
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick "`">
                                                                        spids: [18040 18054]
                                                                      )
                                                                    }
                                                                  spids: [18039]
                                                                )
                                                              ]
                                                              spids: [18039]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-n)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
"$dlprefile_dlname"
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {(func_basename)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
"$dlprefile_dlname"
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: 
dlprefile_dlbasename
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
"$func_basename_result"
                                                                                )
                                                                              )
                                                                            }
                                                                          spids: [18079]
                                                                        )
                                                                      ]
                                                                      spids: [18079]
                                                                    )
                                                                  ]
                                                                  spids: [-1 18069]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C 
                                                                  {
                                                                    ($ VSub_Name 
"$sharedlib_from_linklib_cmd"
                                                                    )
                                                                  } {(DQ ($ VSub_Name "$dlprefile"))}
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: dlprefile_dlbasename
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          ($ VSub_Name 
"$sharedlib_from_linklib_result"
                                                                          )
                                                                        }
                                                                      spids: [18099]
                                                                    )
                                                                  ]
                                                                  spids: [18099]
                                                                )
                                                              ]
                                                              spids: [18085 18103]
                                                            )
                                                          ]
                                                          spids: [-1 18032]
                                                        )
                                                      ]
                                                      spids: [-1 18106]
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {($ VSub_Name "$opt_dry_run")})
                                                        (BraceGroup
                                                          children: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-n)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
"$dlprefile_dlbasename"
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {(eval)} 
                                                                      {
                                                                        (SQ 
                                                                          <
"$ECHO \": $dlprefile_dlbasename\" >> \"$nlist\""
                                                                          >
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [-1 18128]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(func_warning)} 
                                                                  {
                                                                    (DQ 
                                                                      (
"Could not compute DLL name from "
                                                                      ) ($ VSub_Name "$name")
                                                                    )
                                                                  }
                                                                )
                                                                (C {(eval)} 
                                                                  {
                                                                    (SQ 
                                                                      <
"$ECHO \": $name \" >> \"$nlist\""
                                                                      >
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [18138 18156]
                                                            )
                                                            (C {(func_to_tool_file)} 
                                                              {(DQ ($ VSub_Name "$dlprefile"))} {(func_convert_file_msys_to_w32)}
                                                            )
                                                            (C {(eval)} 
                                                              {
                                                                (DQ ($ VSub_Name "$NM") (" ") 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar "\\\"">
                                                                  ) ($ VSub_Name "$func_to_tool_file_result") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                                                  (" 2>/dev/null | ") ($ VSub_Name "$global_symbol_pipe") (" |\n") ("\t            ") ($ VSub_Name "$SED") 
                                                                  (
" -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '"
                                                                  ) ($ VSub_Name "$nlist") ("'")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [18113]
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  spids: [-1 17988]
                                                )
                                              ]
                                              else_action: [
                                                (AndOr
                                                  children: [
                                                    (C {($ VSub_Name "$opt_dry_run")})
                                                    (BraceGroup
                                                      children: [
                                                        (C {(eval)} 
                                                          {(SQ <"$ECHO \": $name \" >> \"$nlist\"">)}
                                                        )
                                                        (C {(func_to_tool_file)} 
                                                          {(DQ ($ VSub_Name "$dlprefile"))} {(func_convert_file_msys_to_w32)}
                                                        )
                                                        (C {(eval)} 
                                                          {
                                                            (DQ ($ VSub_Name "$NM") (" ") 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar "\\\"">
                                                              ) ($ VSub_Name "$func_to_tool_file_result") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                                              (" 2>/dev/null | ") ($ VSub_Name "$global_symbol_pipe") (" >> '") ($ VSub_Name "$nlist") ("'")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [18200]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [18190 18238]
                                            )
                                          ]
                                          spids: [17956 17972 18241 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name "$opt_dry_run")})
                                                (BraceGroup
                                                  children: [
                                                    (C {(eval)} 
                                                      {(SQ <"$ECHO \": $name \" >> \"$nlist\"">)}
                                                    )
                                                    (C {(func_to_tool_file)} 
                                                      {(DQ ($ VSub_Name "$dlprefile"))} {(func_convert_file_msys_to_w32)}
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ($ VSub_Name "$NM") (" ") 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar "\\\"">
                                                          ) ($ VSub_Name "$func_to_tool_file_result") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                                          (" 2>/dev/null | ") ($ VSub_Name "$global_symbol_pipe") (" >> '") ($ VSub_Name "$nlist") ("'")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [18252]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [18244 18245 18290 -1]
                                        )
                                      ]
                                      spids: [17949 17953 18293]
                                    )
                                  ]
                                  spids: [17923 18296]
                                )
                              spids: [17919 17921]
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name "$opt_dry_run")})
                                (BraceGroup
                                  children: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name "$nlist"))})
                                        (SimpleCommand
                                          words: [{(Lit_Other ":")}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name "$nlist"))}
                                              spids: [18323]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name "$exclude_expsyms"))}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name "$EGREP")}
                                                {(-v)}
                                                {
                                                  (DQ (" (") ($ VSub_Name "$exclude_expsyms") (")") 
                                                    (Lit_Other "$")
                                                  )
                                                }
                                                {(DQ ($ VSub_Name "$nlist"))}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {(DQ ($ VSub_Name "$nlist")) (T)}
                                                  spids: [18360]
                                                )
                                              ]
                                            )
                                            (C {($ VSub_Name "$MV")} {(DQ ($ VSub_Name "$nlist")) (T)} 
                                              {(DQ ($ VSub_Name "$nlist"))}
                                            )
                                          ]
                                          spids: [-1 18342]
                                        )
                                      ]
                                      spids: [-1 18380]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (Pipeline
                                                  children: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name "$GREP")}
                                                        {(-v)}
                                                        {(DQ ("^: "))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: -1
                                                          arg_word: {(DQ ($ VSub_Name "$nlist"))}
                                                          spids: [18398]
                                                        )
                                                      ]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (SimpleCommand
                                                                  words: [{(sort)} {(-k)} {(3)}]
                                                                  redirects: [
                                                                    (Redir
                                                                      op_id: Redir_Less
                                                                      fd: -1
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [18415]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_Great
                                                                      fd: -1
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [18418]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [18421]
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [(C {(sort)} {(-k)} {(3)})]
                                                          spids: [-1 18425]
                                                        )
                                                      ]
                                                      else_action: [(C {(sort)} {(Lit_Other "+") (2)})]
                                                      spids: [18435 18444]
                                                    )
                                                    (SimpleCommand
                                                      words: [{(uniq)}]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {(DQ ($ VSub_Name "$nlist")) (S)}
                                                          spids: [18451]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: False
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [(C {(Lit_Other ":")})]
                                          spids: [-1 18459]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{($ VSub_Name "$GREP")} {(-v)} {(DQ ("^: "))}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name "$nlist"))}
                                              spids: [18476]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name "$nlist")) (S)}
                                              spids: [18482]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [18465 18490]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-f)} {(DQ ($ VSub_Name "$nlist")) (S)})
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {(DQ ($ VSub_Name "$global_symbol_to_cdecl")) 
                                                (SQ 
                                                  <
" < \"$nlist\"S >> \"$output_objdir/$my_dlsyms\""
                                                  >
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 18506]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <"/* NONE */">)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: -1
                                              arg_word: 
                                                {
                                                  (DQ ($ VSub_Name "$output_objdir") (/) 
                                                    ($ VSub_Name "$my_dlsyms")
                                                  )
                                                }
                                              spids: [18528]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [18519 18537]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ("\n") 
                                            (
"/* The mapping between symbol names and symbols.  */\n"
                                            ) ("typedef struct {\n") ("  const char *name;\n") ("  void *address;\n") ("} lt_dlsymlist;\n") 
                                            ("extern LT_DLSYM_CONST lt_dlsymlist\n") (lt_) (${ VSub_Name my_prefix) ("_LTX_preloaded_symbols[];\n") ("LT_DLSYM_CONST lt_dlsymlist\n") (lt_) 
                                            (${ VSub_Name my_prefix) ("_LTX_preloaded_symbols[] =\n") ("{") ("  { ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                            ($ VSub_Name "$my_originator") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (", (void *) 0 },")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: -1
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name "$output_objdir") (/) 
                                                ($ VSub_Name "$my_dlsyms")
                                              )
                                            }
                                          spids: [18543]
                                        )
                                      ]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$need_lib_prefix")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(no)}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(eval)}
                                                {
                                                  (DQ 
                                                    ($ VSub_Name "$global_symbol_to_c_name_address")
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Less
                                                  fd: -1
                                                  arg_word: {(DQ ($ VSub_Name "$nlist"))}
                                                  spids: [18599]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$my_dlsyms")
                                                      )
                                                    }
                                                  spids: [18605]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [18589 18590 18614 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(eval)}
                                                {
                                                  (DQ 
                                                    ($ VSub_Name 
"$global_symbol_to_c_name_address_lib_prefix"
                                                    )
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Less
                                                  fd: -1
                                                  arg_word: {(DQ ($ VSub_Name "$nlist"))}
                                                  spids: [18627]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$my_dlsyms")
                                                      )
                                                    }
                                                  spids: [18633]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [18617 18618 18642 -1]
                                        )
                                      ]
                                      spids: [18582 18586 18645]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ("  {0, (void *) 0}\n") ("};\n") ("\n") 
                                            (
"/* This works around a problem in FreeBSD linker */\n"
                                            ) ("#ifdef FREEBSD_WORKAROUND\n") ("static const void *lt_preloaded_setup() {\n") ("  return lt_") 
                                            (${ VSub_Name my_prefix) ("_LTX_preloaded_symbols;\n") ("}\n") ("#endif\n") ("\n") ("#ifdef __cplusplus\n") ("}\n") ("#endif")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: -1
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name "$output_objdir") (/) 
                                                ($ VSub_Name "$my_dlsyms")
                                              )
                                            }
                                          spids: [18650]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [18304]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_flag_for_symtable)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [18688]
                                )
                              ]
                              spids: [18688]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name "$compile_command") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (DQ (" -static ")) (Lit_Other "*")}]
                                  spids: [18701 18706 18708 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$host")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-freebsd2) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-freebsd3.0) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-freebsdelf3.0) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:pic_flag_for_symtable)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ (" ") ($ VSub_Name "$pic_flag") 
                                                        (" -DFREEBSD_WORKAROUND")
                                                      )
                                                    }
                                                  spids: [18762]
                                                )
                                              ]
                                              spids: [18762]
                                            )
                                          ]
                                          spids: [18742 18759 18769 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-hpux) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:pic_flag_for_symtable)
                                                  op: Equal
                                                  rhs: {(DQ (" ") ($ VSub_Name "$pic_flag"))}
                                                  spids: [18780]
                                                )
                                              ]
                                              spids: [18780]
                                            )
                                          ]
                                          spids: [18772 18777 18786 -1]
                                        )
                                        (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: [18811]
                                                        )
                                                      ]
                                                      spids: [18811]
                                                    )
                                                  ]
                                                  spids: [-1 18808]
                                                )
                                              ]
                                              spids: [-1 18818]
                                            )
                                          ]
                                          spids: [18789 18790 18821 -1]
                                        )
                                      ]
                                      spids: [18715 18719 18824]
                                    )
                                  ]
                                  spids: [18711 18712 18827 -1]
                                )
                              ]
                              spids: [18691 18698 18830]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:symtab_cflags)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [18833]
                                )
                              ]
                              spids: [18833]
                            )
                            (ForEach
                              iter_name: arg
                              iter_words: [{($ VSub_Name "$LTCFLAGS")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name "$arg")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                          spids: [18855 18864 18866 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(symtab_cflags)} 
                                              {(DQ (" ") ($ VSub_Name "$arg"))}
                                            )
                                          ]
                                          spids: [18869 18870 18881 -1]
                                        )
                                      ]
                                      spids: [18848 18852 18884]
                                    )
                                  ]
                                  spids: [18845 18887]
                                )
                              spids: [18841 18843]
                            )
                            (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: [18923]
                                )
                              ]
                              spids: [18923]
                            )
                            (Case
                              to_match: {($ VSub_Name "$host")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (cygwin) (Lit_Other "*")}
                                    {(Lit_Other "*") (mingw) (Lit_Other "*")}
                                    {(Lit_Other "*") (cegcc) (Lit_Other "*")}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-f)} 
                                                  {
                                                    (DQ ($ VSub_Name "$output_objdir") (/) 
                                                      ($ VSub_Name "$my_outputname") (.def)
                                                    )
                                                  }
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name "$ECHO")} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$compile_command"
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name "$SED")} 
                                                                    {
                                                                      (DQ ("s%@SYMFILE@%") 
                                                                        ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$my_outputname") (".def ") ($ VSub_Name "$symfileobj") ("%")
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [18979 18999]
                                                      )
                                                    }
                                                  spids: [18978]
                                                )
                                              ]
                                              spids: [18978]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name "$ECHO")} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$finalize_command"
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name "$SED")} 
                                                                    {
                                                                      (DQ ("s%@SYMFILE@%") 
                                                                        ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$my_outputname") (".def ") ($ VSub_Name "$symfileobj") ("%")
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [19003 19023]
                                                      )
                                                    }
                                                  spids: [19002]
                                                )
                                              ]
                                              spids: [19002]
                                            )
                                          ]
                                          spids: [-1 18975]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:compile_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name "$ECHO")} 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name "$compile_command")
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name "$SED")} 
                                                                {
                                                                  (DQ ("s%@SYMFILE@%") 
                                                                    ($ VSub_Name "$symfileobj") ("%")
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [19030 19046]
                                                  )
                                                }
                                              spids: [19029]
                                            )
                                          ]
                                          spids: [19029]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:finalize_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name "$ECHO")} 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name "$finalize_command")
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name "$SED")} 
                                                                {
                                                                  (DQ ("s%@SYMFILE@%") 
                                                                    ($ VSub_Name "$symfileobj") ("%")
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [19050 19066]
                                                  )
                                                }
                                              spids: [19049]
                                            )
                                          ]
                                          spids: [19049]
                                        )
                                      ]
                                      spids: [19026 19069]
                                    )
                                  ]
                                  spids: [18942 18958 19072 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compile_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {(DQ ($ VSub_Name "$compile_command"))}
                                                          )
                                                          (C {($ VSub_Name "$SED")} 
                                                            {
                                                              (DQ ("s%@SYMFILE@%") 
                                                                ($ VSub_Name "$symfileobj") ("%")
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [19080 19096]
                                              )
                                            }
                                          spids: [19079]
                                        )
                                      ]
                                      spids: [19079]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:finalize_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {(DQ ($ VSub_Name "$finalize_command"))}
                                                          )
                                                          (C {($ VSub_Name "$SED")} 
                                                            {
                                                              (DQ ("s%@SYMFILE@%") 
                                                                ($ VSub_Name "$symfileobj") ("%")
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [19100 19116]
                                              )
                                            }
                                          spids: [19099]
                                        )
                                      ]
                                      spids: [19099]
                                    )
                                  ]
                                  spids: [19075 19076 19119 -1]
                                )
                              ]
                              spids: [18935 18939 19122]
                            )
                          ]
                          spids: [17358 17360 19125 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (C {(func_fatal_error)} 
                              {
                                (DQ ("unknown suffix for ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\`">
                                  ) ($ VSub_Name "$my_dlsyms") ("'")
                                )
                              }
                            )
                          ]
                          spids: [19128 19129 19142 -1]
                        )
                      ]
                      spids: [17344 17348 19145]
                    )
                  ]
                  spids: [-1 17341]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:compile_command)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Name "$compile_command"))})
                                      (C {($ VSub_Name "$SED")} {(DQ ("s% @SYMFILE@%%"))})
                                    ]
                                    negated: False
                                  )
                                ]
                              )
                            left_token: <Left_Backtick "`">
                            spids: [19169 19183]
                          )
                        }
                      spids: [19168]
                    )
                  ]
                  spids: [19168]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:finalize_command)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {($ VSub_Name "$ECHO")} 
                                        {(DQ ($ VSub_Name "$finalize_command"))}
                                      )
                                      (C {($ VSub_Name "$SED")} {(DQ ("s% @SYMFILE@%%"))})
                                    ]
                                    negated: False
                                  )
                                ]
                              )
                            left_token: <Left_Backtick "`">
                            spids: [19187 19201]
                          )
                        }
                      spids: [19186]
                    )
                  ]
                  spids: [19186]
                )
              ]
              spids: [19148 19204]
            )
          ]
          spids: [17202]
        )
      spids: [17197 17201]
    )
    (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: [19241]
                )
              ]
              spids: [19241]
            )
            (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: [19255]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [19248 19257]
                      )
                    }
                  spids: [19247]
                )
              ]
              spids: [19247]
            )
            (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: [19282]
                        )
                      ]
                      spids: [19282]
                    )
                  ]
                  spids: [19267 19276 19288 -1]
                )
                (case_arm
                  pat_list: [
                    {(Lit_Other "*") (ar) (EscapedLiteralPart token:<Lit_EscapedChar "\\ ">) (archive) 
                      (Lit_Other "*")
                    }
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C {(eval)} {($ VSub_Name "$OBJDUMP")} {(-f)} {($ VSub_Number "$1")})
                                    (SimpleCommand
                                      words: [{($ VSub_Name "$SED")} {(-e)} {(SQ <10q>)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                          spids: [19326]
                                        )
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name "$EGREP")}
                                        {
                                          (SQ 
                                            <
"file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)"
                                            >
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                          spids: [19338]
                                        )
                                      ]
                                    )
                                  ]
                                  negated: False
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(func_to_tool_file)} {(DQ ($ VSub_Number "$1"))} 
                              {(func_convert_file_msys_to_w32)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:win32_nmres)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(eval)} {($ VSub_Name "$NM")} {(-f)} {(posix)} 
                                                    {(-A)} 
                                                    {
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar "\\\"">
                                                      ) ($ VSub_Name "$func_to_tool_file_result") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                    }
                                                  )
                                                  (C {($ VSub_Name "$SED")} {(-n)} {(-e)} 
                                                    {
                                                      (SQ <"\n"> <"\t    1,100{\n"> <"\t\t/ I /{\n"> 
                                                        <"\t\t    s,.*,import,\n"> <"\t\t    p\n"> <"\t\t    q\n"> <"\t\t}\n"> <"\t    }">
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [19355 19389]
                                      )
                                    }
                                  spids: [19354]
                                )
                              ]
                              spids: [19354]
                            )
                            (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: [19403]
                                        )
                                      ]
                                      spids: [19403]
                                    )
                                  ]
                                  spids: [19399 19401 19407 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:win32_libid_type)
                                          op: Equal
                                          rhs: {(DQ ("x86 archive static"))}
                                          spids: [19413]
                                        )
                                      ]
                                      spids: [19413]
                                    )
                                  ]
                                  spids: [19410 19411 19417 -1]
                                )
                              ]
                              spids: [19392 19396 19420]
                            )
                          ]
                          spids: [-1 19342]
                        )
                      ]
                      spids: [-1 19423]
                    )
                  ]
                  spids: [19291 19296 19426 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (DLL) (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:win32_libid_type)
                          op: Equal
                          rhs: {(DQ ("x86 DLL"))}
                          spids: [19435]
                        )
                      ]
                      spids: [19435]
                    )
                  ]
                  spids: [19429 19432 19441 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (executable) (Lit_Other "*")}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$win32_fileres")}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other "*") (MS) (EscapedLiteralPart token:<Lit_EscapedChar "\\ ">) 
                              (Windows) (EscapedLiteralPart token:<Lit_EscapedChar "\\ ">) (PE) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\ ">
                              ) (Intel) (Lit_Other "*")
                            }
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:win32_libid_type)
                                  op: Equal
                                  rhs: {(DQ ("x86 DLL"))}
                                  spids: [19472]
                                )
                              ]
                              spids: [19472]
                            )
                          ]
                          spids: [19460 19469 19478 -1]
                        )
                      ]
                      spids: [19453 19457 19481]
                    )
                  ]
                  spids: [19444 19447 19484 -1]
                )
              ]
              spids: [19260 19264 19487]
            )
            (C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Name "$win32_libid_type"))})
          ]
          spids: [19235]
        )
      spids: [19230 19234]
    )
    (FuncDef
      name: func_cygming_dll_for_implib
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sharedlib_from_linklib_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {($ VSub_Name "$DLLTOOL")} {(--identify-strict)} {(--identify)} 
                                {(DQ ($ VSub_Number "$1"))}
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [19538 19548]
                      )
                    }
                  spids: [19537]
                )
              ]
              spids: [19537]
            )
          ]
          spids: [19531]
        )
      spids: [19526 19530]
    )
    (FuncDef
      name: func_cygming_dll_for_implib_fallback_core
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:match_literal)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Number "$1"))})
                                  (C {($ VSub_Name "$SED")} 
                                    {(DQ ($ VSub_Name "$sed_make_literal_regex"))}
                                  )
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [19598 19612]
                      )
                    }
                  spids: [19597]
                )
              ]
              spids: [19597]
            )
            (Pipeline
              children: [
                (SimpleCommand
                  words: [
                    {($ VSub_Name "$OBJDUMP")}
                    {(-s)}
                    {(--section)}
                    {(DQ ($ VSub_Number "$1"))}
                    {(DQ ($ VSub_Number "$2"))}
                  ]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[19629])]
                )
                (C {($ VSub_Name "$SED")} 
                  {(SQ <"/^Contents of section ">) (DQ ($ VSub_Name "$match_literal")) 
                    (SQ <":/{\n"> 
                      <"      # Place marker at beginning of archive member dllname section\n"> <"      s/.*/====MARK====/\n"> <"      p\n"> <"      d\n"> <"    }\n"> 
                      <"    # These lines can sometimes be longer than 43 characters, but\n"> <"    # are always uninteresting\n"> <"    /:[\t ]*file format pe[i]\\{,1\\}-/d\n"> 
                      <"    /^In archive [^:]*:/d\n"> <"    # Ensure marker is printed\n"> <"    /^====MARK====/p\n"> 
                      <"    # Remove all lines with less than 43 characters\n"> <"    /^.\\{43\\}/!d\n"> <"    # From remaining lines, remove first 43 characters\n"> 
                      <"    s/^.\\{43\\}//">
                    )
                  }
                )
                (C {($ VSub_Name "$SED")} {(-n)} 
                  {
                    (SQ <"\n"> 
                      <"      # Join marker and all lines until next marker into a single line\n"> <"      /^====MARK====/ b para\n"> <"      H\n"> <"      $ b para\n"> <"      b\n"> <"      :para\n"> 
                      <"      x\n"> <"      s/\\n//g\n"> <"      # Remove the marker\n"> <"      s/^====MARK====//\n"> 
                      <"      # Remove trailing dots and whitespace\n"> <"      s/[\\. \\t]*$//\n"> <"      # Print\n"> <"      /./p">
                    )
                  }
                )
                (C {($ VSub_Name "$SED")} {(-e)} {(SQ <"/^\\./d;/^.\\./d;q">)})
              ]
              negated: False
            )
          ]
          spids: [19591]
        )
      spids: [19586 19590]
    )
    (FuncDef
      name: func_cygming_gnu_implib_p
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (C {(func_to_tool_file)} {(DQ ($ VSub_Number "$1"))} {(func_convert_file_msys_to_w32)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_cygming_gnu_implib_tmp)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name "$NM")} 
                                    {(DQ ($ VSub_Name "$func_to_tool_file_result"))}
                                  )
                                  (C {(eval)} {(DQ ($ VSub_Name "$global_symbol_pipe"))})
                                  (C {($ VSub_Name "$EGREP")} 
                                    {
                                      (SQ 
                                        <
" (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$"
                                        >
                                      )
                                    }
                                  )
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [19778 19800]
                      )
                    }
                  spids: [19777]
                )
              ]
              spids: [19777]
            )
            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$func_cygming_gnu_implib_tmp"))})
          ]
          spids: [19762]
        )
      spids: [19757 19761]
    )
    (FuncDef
      name: func_cygming_ms_implib_p
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (C {(func_to_tool_file)} {(DQ ($ VSub_Number "$1"))} {(func_convert_file_msys_to_w32)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_cygming_ms_implib_tmp)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name "$NM")} 
                                    {(DQ ($ VSub_Name "$func_to_tool_file_result"))}
                                  )
                                  (C {(eval)} {(DQ ($ VSub_Name "$global_symbol_pipe"))})
                                  (C {($ VSub_Name "$GREP")} {(SQ <_NULL_IMPORT_DESCRIPTOR>)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [19847 19869]
                      )
                    }
                  spids: [19846]
                )
              ]
              spids: [19846]
            )
            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$func_cygming_ms_implib_tmp"))})
          ]
          spids: [19831]
        )
      spids: [19826 19830]
    )
    (FuncDef
      name: func_cygming_dll_for_implib_fallback
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$opt_debug")})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(func_cygming_gnu_implib_p)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:sharedlib_from_linklib_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(func_cygming_dll_for_implib_fallback_core)} 
                                        {(SQ <".idata$7">)} {(DQ ($ VSub_Number "$1"))}
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [19945 19955]
                              )
                            }
                          spids: [19944]
                        )
                      ]
                      spids: [19944]
                    )
                  ]
                  spids: [-1 19937]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(func_cygming_ms_implib_p)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:sharedlib_from_linklib_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(func_cygming_dll_for_implib_fallback_core)} 
                                        {(SQ <".idata$6">)} {(DQ ($ VSub_Number "$1"))}
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [19976 19986]
                              )
                            }
                          spids: [19975]
                        )
                      ]
                      spids: [19975]
                    )
                  ]
                  spids: [19958 19968]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:sharedlib_from_linklib_result)
                      op: Equal
                      rhs: {(DQ )}
                      spids: [19996]
                    )
                  ]
                  spids: [19996]
                )
              ]
              spids: [19989 20001]
            )
          ]
          spids: [19921]
        )
      spids: [19916 19920]
    )
    (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: [20021]
                    )
                  ]
                  spids: [20021]
                )
              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: [20030]
                )
              ]
              spids: [20030]
            )
            (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: [20052]
                        )
                      ]
                      spids: [20052]
                    )
                    (Until
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              children: [
                                (C {($ VSub_Name "$opt_dry_run")})
                                (SimpleCommand
                                  words: [
                                    {(ln)}
                                    {(DQ ($ VSub_Name "$progpath"))}
                                    {(DQ ($ VSub_Name "$lockfile"))}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [20073]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_echo)} 
                              {(DQ ("Waiting for ") ($ VSub_Name "$lockfile") (" to be removed"))}
                            )
                            (C {(sleep)} {(2)})
                          ]
                          spids: [20077 20094]
                        )
                    )
                  ]
                  spids: [-1 20049]
                )
              ]
              spids: [-1 20097]
            )
            (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
                      children: [
                        (C {($ VSub_Name "$opt_dry_run")})
                        (C {(rm)} {(-f)} {(DQ ($ VSub_Name "$lockfile"))})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [-1 20135]
                )
              ]
              spids: [-1 20151]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Subshell
                          child: 
                            (Pipeline
                              children: [
                                (C {($ VSub_Name "$AR")} {(t)} {(DQ ($ VSub_Name "$f_ex_an_ar_oldlib"))})
                                (C {(sort)})
                                (SimpleCommand
                                  words: [{(sort)} {(-uc)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                      spids: [20175]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [20178]
                                    )
                                  ]
                                )
                              ]
                              negated: False
                            )
                          spids: [20156 20180]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(Lit_Other ":")})]
                  spids: [-1 20183]
                )
              ]
              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: [20189 20202]
            )
          ]
          spids: [20015]
        )
      spids: [20010 20014]
    )
    (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: [20222]
                    )
                  ]
                  spids: [20222]
                )
              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: [20232 20238]
                      )
                    }
                  spids: [20231]
                )
              ]
              spids: [20231]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_oldobjs) op:Equal rhs:{(DQ )} spids:[20241])]
              spids: [20241]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xlib) op:Equal rhs:{(DQ )} spids:[20246])]
              spids: [20246]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xabs) op:Equal rhs:{(DQ )} spids:[20251])]
              spids: [20251]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xdir) op:Equal rhs:{(DQ )} spids:[20256])]
              spids: [20256]
            )
            (ForEach
              iter_name: my_xlib
              iter_words: [{($ VSub_Name "$my_oldlibs")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$my_xlib")}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other "[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (/) 
                              (Lit_Other "]") (Lit_Other "*")
                            }
                            {(Lit_Other "[") (A-Za-z) (Lit_Other "]") (Lit_Other ":") (Lit_Other "[") 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\\\">
                              ) (/) (Lit_Other "]") (Lit_Other "*")
                            }
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_xabs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$my_xlib"))}
                                  spids: [20304]
                                )
                              ]
                              spids: [20304]
                            )
                          ]
                          spids: [20285 20302 20309 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_xabs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: (CommandList children:[(C {(pwd)})])
                                        left_token: <Left_Backtick "`">
                                        spids: [20316 20318]
                                      ) (DQ (/) ($ VSub_Name "$my_xlib"))
                                    }
                                  spids: [20315]
                                )
                              ]
                              spids: [20315]
                            )
                          ]
                          spids: [20312 20313 20324 -1]
                        )
                      ]
                      spids: [20278 20282 20327]
                    )
                    (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: [20337]
                        )
                      ]
                      spids: [20337]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xlib_u)
                          op: Equal
                          rhs: {($ VSub_Name "$my_xlib")}
                          spids: [20343]
                        )
                      ]
                      spids: [20343]
                    )
                    (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: [20385]
                                        )
                                      ]
                                      spids: [20385]
                                    )
                                    (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: [20389]
                                        )
                                      ]
                                      spids: [20389]
                                    )
                                  ]
                                  spids: [20366 20373 20395 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [20398 20399 20403 -1]
                                )
                              ]
                              spids: [20355 20363 20406]
                            )
                          ]
                          spids: [20352 20409]
                        )
                    )
                    (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: [20412]
                        )
                      ]
                      spids: [20412]
                    )
                    (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: [20420]
                        )
                      ]
                      spids: [20420]
                    )
                    (C {(func_mkdir_p)} {(DQ ($ VSub_Name "$my_xdir"))})
                    (Case
                      to_match: {($ VSub_Name "$host")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (-darwin) (Lit_Other "*")}]
                          action: [
                            (C {(func_verbose)} {(DQ ("Extracting ") ($ VSub_Name "$my_xabs"))})
                            (AndOr
                              children: [
                                (C {($ VSub_Name "$opt_dry_run")})
                                (BraceGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_orig_dir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: (CommandList children:[(C {(pwd)})])
                                                left_token: <Left_Backtick "`">
                                                spids: [20470 20472]
                                              )
                                            }
                                          spids: [20469]
                                        )
                                      ]
                                      spids: [20469]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(cd)} {($ VSub_Name "$my_xdir")})
                                        (C {(exit)} {($ VSub_QMark "$?")})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_archive)
                                          op: Equal
                                          rhs: {($ VSub_Name "$my_xabs")}
                                          spids: [20486]
                                        )
                                      ]
                                      spids: [20486]
                                    )
                                    (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: [20491 20493]
                                              )
                                            }
                                          spids: [20490]
                                        )
                                      ]
                                      spids: [20490]
                                    )
                                    (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: [20497 20503]
                                              )
                                            }
                                          spids: [20496]
                                        )
                                      ]
                                      spids: [20496]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_arches)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name "$LIPO")}
                                                                  {(-info)}
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name "$darwin_archive")
                                                                    )
                                                                  }
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op_id: Redir_Great
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                    spids: [20516]
                                                                  )
                                                                ]
                                                              )
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name "$GREP")}
                                                                  {(Architectures)}
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op_id: Redir_Great
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                    spids: [20525]
                                                                  )
                                                                ]
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                          (C {(true)})
                                                        ]
                                                        op_id: Op_DPipe
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [20507 20531]
                                              )
                                            }
                                          spids: [20506]
                                        )
                                      ]
                                      spids: [20506]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$darwin_arches"))})
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arches)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name "$ECHO")} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name "$darwin_arches")
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name "$SED")} {(-e)} 
                                                                    {(SQ <"s/.*are://">)}
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [20549 20565]
                                                      )
                                                    }
                                                  spids: [20548]
                                                )
                                              ]
                                              spids: [20548]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arch)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [20568]
                                                )
                                              ]
                                              spids: [20568]
                                            )
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ($ VSub_Name "$darwin_base_archive") 
                                                  (" has multiple architectures ") ($ VSub_Name "$darwin_arches")
                                                )
                                              }
                                            )
                                            (ForEach
                                              iter_name: darwin_arch
                                              iter_words: [{($ VSub_Name "$darwin_arches")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_mkdir_p)} 
                                                      {
                                                        (DQ (unfat-) ($ VSub_Dollar "$$") (/) 
                                                          (${ VSub_Name darwin_base_archive) (-) (${ VSub_Name darwin_arch)
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name "$LIPO")} {(-thin)} 
                                                      {($ VSub_Name "$darwin_arch")} {(-output)} 
                                                      {
                                                        (DQ (unfat-) ($ VSub_Dollar "$$") (/) 
                                                          (${ VSub_Name darwin_base_archive) (-) (${ VSub_Name darwin_arch) (/) (${ VSub_Name darwin_base_archive)
                                                        )
                                                      } {(DQ (${ VSub_Name darwin_archive))}
                                                    )
                                                    (C {(cd)} 
                                                      {
                                                        (DQ (unfat-) ($ VSub_Dollar "$$") (/) 
                                                          (${ VSub_Name darwin_base_archive) (-) (${ VSub_Name darwin_arch)
                                                        )
                                                      }
                                                    )
                                                    (C {(func_extract_an_archive)} 
                                                      {
                                                        (DQ 
                                                          (CommandSubPart
                                                            command_list: 
                                                              (CommandList
                                                                children: [(C {(pwd)})]
                                                              )
                                                            left_token: <Left_Backtick "`">
                                                            spids: [20660 20662]
                                                          )
                                                        )
                                                      } {(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: [20590 20699]
                                                )
                                              spids: [20585 20588]
                                            )
                                            (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: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [20710 20751]
                                                      )
                                                    }
                                                  spids: [20709]
                                                )
                                              ]
                                              spids: [20709]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_file)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [20754]
                                                )
                                              ]
                                              spids: [20754]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_files)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [20757]
                                                )
                                              ]
                                              spids: [20757]
                                            )
                                            (ForEach
                                              iter_name: darwin_file
                                              iter_words: [{($ VSub_Name "$darwin_filelist")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:darwin_files)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(find)} 
                                                                            {(unfat-) 
                                                                              ($ VSub_Dollar "$$")
                                                                            } {(-name)} {($ VSub_Name "$darwin_file")} {(-print)}
                                                                          )
                                                                          (C {(sort)})
                                                                          (C {($ VSub_Name "$NL2SP")})
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick "`">
                                                                spids: [20773 20792]
                                                              )
                                                            }
                                                          spids: [20772]
                                                        )
                                                      ]
                                                      spids: [20772]
                                                    )
                                                    (C {($ VSub_Name "$LIPO")} {(-create)} {(-output)} 
                                                      {(DQ ($ VSub_Name "$darwin_file"))} {($ VSub_Name "$darwin_files")}
                                                    )
                                                  ]
                                                  spids: [20769 20808]
                                                )
                                              spids: [20765 20767]
                                            )
                                            (C {($ VSub_Name "$RM")} {(-rf)} 
                                              {(unfat-) ($ VSub_Dollar "$$")}
                                            )
                                            (C {(cd)} {(DQ ($ VSub_Name "$darwin_orig_dir"))})
                                          ]
                                          spids: [-1 20545]
                                        )
                                      ]
                                      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: [20829 20848]
                                    )
                                  ]
                                  spids: [20466]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [20444 20447 20860 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (C {(func_extract_an_archive)} {(DQ ($ VSub_Name "$my_xdir"))} 
                              {(DQ ($ VSub_Name "$my_xabs"))}
                            )
                          ]
                          spids: [20863 20864 20878 -1]
                        )
                      ]
                      spids: [20437 20441 20881]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_oldobjs)
                          op: Equal
                          rhs: 
                            {(DQ ($ VSub_Name "$my_oldobjs") (" ")) 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(find)} {($ VSub_Name "$my_xdir")} {(-name)} 
                                            {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.) 
                                              ($ VSub_Name "$objext")
                                            } {(-print)} {(-o)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.lo)} {(-print)}
                                          )
                                          (C {(sort)})
                                          (C {($ VSub_Name "$NL2SP")})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [20889 20918]
                              )
                            }
                          spids: [20884]
                        )
                      ]
                      spids: [20884]
                    )
                  ]
                  spids: [20271 20921]
                )
              spids: [20267 20269]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_extract_archives_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$my_oldobjs"))}
                  spids: [20925]
                )
              ]
              spids: [20925]
            )
          ]
          spids: [20216]
        )
      spids: [20211 20215]
    )
    (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: [20985 20989]
                      )
                    }
                  spids: [20984]
                )
              ]
              spids: [20984]
            )
            (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: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [21127 21141]
                      )
                    }
                  spids: [21126]
                )
              ]
              spids: [21126]
            )
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("\n") ("# A function that is used when there is no print builtin or printf.\n") 
                  ("func_fallback_echo ()\n") ("{\n") ("  eval 'cat <<_LTECHO_EOF\n") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("1\n") 
                  ("_LTECHO_EOF'\n") ("}\n") ("    ECHO=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$qECHO") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("\n") ("  fi\n") ("\n") ("# Very basic option parsing. These options are (a) specific to\n") 
                  ("# the libtool wrapper, (b) are identical between the wrapper\n") ("# /script/ and the wrapper /executable/ which is used only on\n") 
                  ("# windows platforms, and (c) all begin with the string ")
                ) (--lt-) 
                (DQ ("\n") ("# (application programs are unlikely to have options which match\n") 
                  ("# this pattern).\n") ("#\n") ("# There are only two supported options: --lt-debug and\n") 
                  ("# --lt-dump-script. There is, deliberately, no --lt-help.\n") ("#\n") ("# The first argument to this parsing function should be the\n") ("# script's ") 
                  ($ VSub_Number "$0") (" value, followed by ")
                ) ($ VSub_At "$@") 
                (DQ (".\n") ("lt_option_debug=\n") ("func_parse_lt_options ()\n") ("{\n") 
                  ("  lt_script_arg0=") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("0\n") ("  shift\n") ("  for lt_opt\n") ("  do\n") 
                  ("    case ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                  (lt_opt) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") 
                  ("    --lt-debug) lt_option_debug=1 ;;\n") ("    --lt-dump-script)\n") ("        lt_dump_D=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (lt_script_arg0) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") 
                  (" -e 's/^X//' -e 's%/[^/]*") (Lit_Other "$") ("%%'") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("        test ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (lt_dump_D) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" = ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (lt_script_arg0) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" && lt_dump_D=.\n") 
                  ("        lt_dump_F=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                  ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (lt_script_arg0) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") 
                  (" -e 's/^X//' -e 's%^.*/%%'") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("        cat ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (lt_dump_D/) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (lt_dump_F) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("\n") ("        exit 0\n") 
                  ("      ;;\n") ("    --lt-*)\n") ("        ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("Unrecognized --lt- option: '") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("lt_opt'") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" 1>&2\n") ("        exit 1\n") ("      ;;\n") ("    esac\n") ("  done\n") ("\n") 
                  ("  # Print the debug banner immediately:\n") ("  if test -n ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (lt_option_debug) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("    echo ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name outputname) (":") (${ VSub_Name output) (":") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{LINENO}: libtool wrapper (GNU ") ($ VSub_Name "$PACKAGE") ($ VSub_Name "$TIMESTAMP") (") ") 
                  ($ VSub_Name "$VERSION") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" 1>&2\n") ("  fi\n") ("}\n") ("\n") 
                  ("# Used when --lt-debug. Prints its arguments to stdout\n") ("# (redirection is the responsibility of the caller)\n") ("func_lt_dump_args ()\n") ("{\n") 
                  ("  lt_dump_args_N=1;\n") ("  for lt_arg\n") ("  do\n") ("    ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name outputname) (":") (${ VSub_Name output) (":") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{LINENO}: newargv[") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("lt_dump_args_N]: ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (lt_arg) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("\n") ("    lt_dump_args_N=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("expr ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("lt_dump_args_N + 1") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("  done\n") ("}\n") ("\n") ("# Core function for launching the target application\n") 
                  ("func_exec_program_core ()\n") ("{\n")
                )
              }
            )
            (Case
              to_match: {($ VSub_Name "$host")}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other "*") (-) (Lit_Other "*") (-mingw)}
                    {(Lit_Other "*") (-) (Lit_Other "*") (-os2) (Lit_Other "*")}
                    {(Lit_Other "*") (-cegcc) (Lit_Other "*")}
                  ]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("      if test -n ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (lt_option_debug) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("        ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name outputname) (":") 
                          (${ VSub_Name output) (":") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{LINENO}: newargv[0]: ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\\">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" 1>&2\n") ("        func_lt_dump_args ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("} 1>&2\n") ("      fi\n") ("      exec ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\\">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("}\n")
                        )
                      }
                    )
                  ]
                  spids: [21353 21371 21435 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("      if test -n ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (lt_option_debug) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("        ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name outputname) (":") 
                          (${ VSub_Name output) (":") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{LINENO}: newargv[0]: ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" 1>&2\n") ("        func_lt_dump_args ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("} 1>&2\n") ("      fi\n") ("      exec ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("}\n")
                        )
                      }
                    )
                  ]
                  spids: [21439 21440 21500 -1]
                )
              ]
              spids: [21342 21346 21503]
            )
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("      ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("0: cannot exec ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("program ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("*") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" 1>&2\n") ("      exit 1\n") ("}\n") ("\n") 
                  ("# A function to encapsulate launching the target application\n") ("# Strips options in the --lt-* namespace from ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                  ("@ and\n") ("# launches target application with the remaining arguments.\n") ("func_exec_program ()\n") ("{\n") 
                  ("  for lt_wr_arg\n") ("  do\n") ("    case ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("lt_wr_arg in\n") 
                  ("    --lt-*) ;;\n") ("    *) set x ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (lt_wr_arg) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; shift;;\n") ("    esac\n") ("    shift\n") ("  done\n") ("  func_exec_program_core ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("}\n") ("}\n") ("\n") ("  # Parse options\n") 
                  ("  func_parse_lt_options ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                  (0) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("}\n") ("\n") 
                  ("  # Find the directory that this script lives in.\n") ("  thisdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") (" 's%/[^/]*") 
                  (Lit_Other "$") ("%%'") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("  test ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (x) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" = ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (x) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" && thisdir=.\n") ("\n") 
                  ("  # Follow symbolic links until we get to the real thisdir.\n") ("  file=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("ls -ld ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") (" -n 's/.*-> //p'") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  ("\n") ("  while test -n ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; do\n") ("    destdir=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") (" 's%/[^/]*") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("%%'") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("\n") ("    # If there was a directory component, then change thisdir.\n") ("    if test ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (x) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (destdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" != ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (x) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("      case ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (destdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") ("      [") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/]* | [A-Za-z]:[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/]*) thisdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (destdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ;;\n") ("      *) thisdir=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir/) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (destdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ;;\n") ("      esac\n") ("    fi\n") 
                  ("\n") ("    file=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") (" 's%^.*/%%'") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("    file=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("ls -ld ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir/) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") 
                  (" -n 's/.*-> //p'") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("  done\n") ("\n") 
                  ("  # Usually 'no', except on cygwin/mingw when embedded into\n") ("  # the cwrapper.\n") ("  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=") ($ VSub_Name "$func_emit_wrapper_arg1") 
                  ("\n") ("  if test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (WRAPPER_SCRIPT_BELONGS_IN_OBJDIR) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" = ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (yes) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("    # special case for '.'\n") 
                  ("    if test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                  (thisdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" = ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (.) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("      thisdir=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (pwd) (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("    fi\n") 
                  ("    # remove .libs from thisdir\n") ("    case ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") ("    *[") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/]") ($ VSub_Name "$objdir") (" ) thisdir=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") (" 's%[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/][^") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/]*") (Lit_Other "$") ("%%'") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (" ;;\n") ("    ") 
                  ($ VSub_Name "$objdir") (" )   thisdir=. ;;\n") ("    esac\n") ("  fi\n") ("\n") 
                  ("  # Try to get the absolute directory name.\n") ("  absdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("cd ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" && pwd") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("  test -n ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (absdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" && thisdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (absdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("\n")
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name "$fast_install"))} {(Lit_Other "=")} {(yes)})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("  program=lt-'") ($ VSub_Name "$outputname") ("'") ($ VSub_Name "$exeext") 
                          ("\n") ("  progdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir/) ($ VSub_Name "$objdir") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("\n") ("\n") 
                          ("  if test ! -f ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                          (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" ||\n") ("     { file=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("ls -1dt ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/../) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" 2>/dev/null | ") (${ VSub_Name SED) 
                          (" 1q") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("; ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\\">
                          ) ("\n") ("       test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" != ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (X) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; }; then\n") ("\n") ("    file=") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                          (-) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("\n") ("\n") ("    if test ! -d ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("      ") 
                          ($ VSub_Name "$MKDIR") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("\n") ("    else\n") ("      ") 
                          ($ VSub_Name "$RM") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("\n") ("    fi")
                        )
                      }
                    )
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("\n") ("    # relink executable if necessary\n") ("    if test -n ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (relink_command) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("; then\n") ("      if relink_command_output=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                          ("eval ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("relink_command 2>&1") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("; then :\n") ("      else\n") ("\t") ($ VSub_Name "$ECHO") (" ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (relink_command_output) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" >&2\n") ("\t") ($ VSub_Name "$RM") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("\n") ("\texit 1\n") ("      fi\n") ("    fi\n") ("\n") ("    ") ($ VSub_Name "$MV") (" ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" 2>/dev/null ||\n") ("    { ") 
                          ($ VSub_Name "$RM") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (";\n") ("      ") ($ VSub_Name "$MV") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("; }\n") ("    ") ($ VSub_Name "$RM") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("\n") ("  fi")
                        )
                      }
                    )
                  ]
                  spids: [-1 21824]
                )
              ]
              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: [22033 22053]
            )
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("\n") ("  if test -f ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then")
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dllsearchpath"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("    # Add the dll search path components to the executable PATH\n") 
                          ("    PATH=") ($ VSub_Name "$dllsearchpath") (":") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("PATH\n")
                        )
                      }
                    )
                  ]
                  spids: [-1 22105]
                )
              ]
              spids: [-1 22121]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name "$shlibpath_overrides_runpath"))} 
                              {(Lit_Other "=")} {(yes)}
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$shlibpath_var"))})
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$temp_rpath"))})
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("    # Add our own library path to ") ($ VSub_Name "$shlibpath_var") 
                          ("\n") ("    ") ($ VSub_Name "$shlibpath_var") ("=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          ($ VSub_Name "$temp_rpath") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$shlibpath_var") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("\n") ("\n") ("    # Some systems cannot cope with colon-terminated ") ($ VSub_Name "$shlibpath_var") 
                          ("\n") ("    # The second colon is a workaround for a bug in BeOS R4 sed\n") ("    ") 
                          ($ VSub_Name "$shlibpath_var") ("=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$shlibpath_var") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") 
                          ($ VSub_Name "$SED") (" 's/::*") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("//'") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("\n") ("    export ") ($ VSub_Name "$shlibpath_var") ("\n")
                        )
                      }
                    )
                  ]
                  spids: [-1 22162]
                )
              ]
              spids: [-1 22210]
            )
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("    if test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (libtool_execute_magic) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" != ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$magic") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") 
                  ("      # Run the actual program with our arguments.\n") ("      func_exec_program ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("}\n") ("    fi\n") ("  else\n") ("    # The program doesn't exist.\n") ("    ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("0: error: ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                  (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: [20981]
        )
      spids: [20976 20980]
    )
    (FuncDef
      name: func_emit_cwrapperexe_src
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("\n") ("/* ") ($ VSub_Name "$cwrappersource") 
                        (" - temporary wrapper executable for ") ($ VSub_Name "$objdir") (/) ($ VSub_Name "$outputname") ("\n") ("   Generated by ") 
                        ($ VSub_Name "$PROGRAM") (" (GNU ") ($ VSub_Name "$PACKAGE") ($ VSub_Name "$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")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [22304]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {("#ifdef _MSC_VER\n") ("# define _CRT_SECURE_NO_DEPRECATE 1\n") ("#endif\n") 
                      ("#include <stdio.h>\n") ("#include <stdlib.h>\n") ("#ifdef _MSC_VER\n") ("# include <direct.h>\n") ("# include <process.h>\n") 
                      ("# include <io.h>\n") ("#else\n") ("# include <unistd.h>\n") ("# include <stdint.h>\n") ("# ifdef __CYGWIN__\n") 
                      ("#  include <io.h>\n") ("# endif\n") ("#endif\n") ("#include <malloc.h>\n") ("#include <stdarg.h>\n") ("#include <assert.h>\n") 
                      ("#include <string.h>\n") ("#include <ctype.h>\n") ("#include <errno.h>\n") ("#include <fcntl.h>\n") ("#include <sys/stat.h>\n") 
                      ("\n") ("/* 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") 
                      ("#if defined(LT_DEBUGWRAPPER)\n") ("static int lt_debug = 1;\n") ("#else\n") ("static int lt_debug = 0;\n") ("#endif\n") ("\n") 
                      (
"const char *program_name = \"libtool-wrapper\"; /* in case xstrdup fails */\n"
                      ) ("\n") ("void *xmalloc (size_t num);\n") ("char *xstrdup (const char *string);\n") 
                      ("const char *base_name (const char *name);\n") ("char *find_executable (const char *wrapper);\n") ("char *chase_symlinks (const char *pathspec);\n") 
                      ("int make_executable (const char *path);\n") ("int check_executable (const char *path);\n") ("char *strendzap (char *str, const char *pat);\n") 
                      ("void lt_debugprintf (const char *file, int line, const char *fmt, ...);\n") ("void lt_fatal (const char *file, int line, const char *message, ...);\n") 
                      ("static const char *nonnull (const char *s);\n") ("static const char *nonempty (const char *s);\n") 
                      ("void lt_setenv (const char *name, const char *value);\n") ("char *lt_extend_str (const char *orig_value, const char *add, int to_end);\n") 
                      ("void lt_update_exe_path (const char *name, const char *value);\n") ("void lt_update_lib_path (const char *name, const char *value);\n") 
                      ("char **prepare_spawn (char **argv);\n") ("void lt_dump_script (FILE *f);\n")
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [22335]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("volatile const char * MAGIC_EXE = ") (Right_DoubleQuote "\"") 
                        ($ VSub_Name "$magic_exe") (Right_DoubleQuote "\"") (";\n") ("const char * LIB_PATH_VARNAME = ") (Right_DoubleQuote "\"") 
                        ($ VSub_Name "$shlibpath_var") (Right_DoubleQuote "\"") (";\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [22344]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name "$shlibpath_overrides_runpath"))} 
                              {(Lit_Other "=")} {(yes)}
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$shlibpath_var"))})
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$temp_rpath"))})
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_to_host_path)} {(DQ ($ VSub_Name "$temp_rpath"))})
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("const char * LIB_PATH_VALUE   = ") (Right_DoubleQuote "\"") 
                                ($ VSub_Name "$func_to_host_path_result") (Right_DoubleQuote "\"") (";\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [22404]
                        )
                      ]
                    )
                  ]
                  spids: [-1 22392]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: -1
                      body: {("const char * LIB_PATH_VALUE   = \"\";\n")}
                      do_expansion: False
                      here_end: EOF
                      was_filled: True
                      spids: [22418]
                    )
                  ]
                )
              ]
              spids: [22413 22424]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dllsearchpath"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_to_host_path)} {(DQ ($ VSub_Name "$dllsearchpath") (":"))})
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("const char * EXE_PATH_VARNAME = ") (Right_DoubleQuote "\"") (PATH) 
                                (Right_DoubleQuote "\"") (";\n") ("const char * EXE_PATH_VALUE   = ") (Right_DoubleQuote "\"") 
                                ($ VSub_Name "$func_to_host_path_result") (Right_DoubleQuote "\"") (";\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [22452]
                        )
                      ]
                    )
                  ]
                  spids: [-1 22439]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: -1
                      body: 
                        {("const char * EXE_PATH_VARNAME = \"\";\n") 
                          ("const char * EXE_PATH_VALUE   = \"\";\n")
                        }
                      do_expansion: False
                      here_end: EOF
                      was_filled: True
                      spids: [22471]
                    )
                  ]
                )
              ]
              spids: [22466 22477]
            )
            (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: -1
                          body: 
                            {
                              (DQ ("const char * TARGET_PROGRAM_NAME = ") (Right_DoubleQuote "\"") 
                                (lt-) ($ VSub_Name "$outputname") (Right_DoubleQuote "\"") ("; /* hopefully, no .exe */\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [22499]
                        )
                      ]
                    )
                  ]
                  spids: [-1 22494]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: -1
                      body: 
                        {
                          (DQ ("const char * TARGET_PROGRAM_NAME = ") (Right_DoubleQuote "\"") 
                            ($ VSub_Name "$outputname") (Right_DoubleQuote "\"") ("; /* hopefully, no .exe */\n")
                          )
                        }
                      do_expansion: True
                      here_end: EOF
                      was_filled: True
                      spids: [22514]
                    )
                  ]
                )
              ]
              spids: [22509 22523]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {("\n") ("#define LTWRAPPER_OPTION_PREFIX         \"--lt-\"\n") ("\n") 
                      ("static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;\n") ("static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX \"dump-script\";\n") 
                      (
"static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX \"debug\";\n"
                      ) ("\n") ("int\n") ("main (int argc, char *argv[])\n") ("{\n") ("  char **newargz;\n") ("  int  newargc;\n") 
                      ("  char *tmp_pathspec;\n") ("  char *actual_cwrapper_path;\n") ("  char *actual_cwrapper_name;\n") ("  char *target_name;\n") 
                      ("  char *lt_argv_zero;\n") ("  intptr_t rval = 127;\n") ("\n") ("  int i;\n") ("\n") 
                      ("  program_name = (char *) xstrdup (base_name (argv[0]));\n") ("  newargz = XMALLOC (char *, argc + 1);\n") ("\n") 
                      ("  /* very simple arg parsing; don't want to rely on getopt\n") ("   * also, copy all non cwrapper options to newargz, except\n") 
                      ("   * argz[0], which is handled differently\n") ("   */\n") ("  newargc=0;\n") ("  for (i = 1; i < argc; i++)\n") ("    {\n") 
                      ("      if (strcmp (argv[i], dumpscript_opt) == 0)\n") ("\t{\n")
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [22530]
                )
              ]
            )
            (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: [22545 22555 22569 -1]
                )
              ]
              spids: [22536 22542 22572]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {("\t  lt_dump_script (stdout);\n") ("\t  return 0;\n") ("\t}\n") 
                      ("      if (strcmp (argv[i], debug_opt) == 0)\n") ("\t{\n") ("          lt_debug = 1;\n") ("          continue;\n") ("\t}\n") 
                      ("      if (strcmp (argv[i], ltwrapper_option_prefix) == 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 (__FILE__, __LINE__,\n") 
                      ("\t\t    \"unrecognized %s option: '%s'\",\n") ("                    ltwrapper_option_prefix, argv[i]);\n") ("        }\n") 
                      ("      /* otherwise ... */\n") ("      newargz[++newargc] = xstrdup (argv[i]);\n") ("    }\n") ("  newargz[++newargc] = NULL;\n") 
                      ("\n")
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [22578]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("  /* The GNU banner must be the first non-error debug message */\n") 
                        ("  lt_debugprintf (__FILE__, __LINE__, ") (Right_DoubleQuote "\"") ("libtool wrapper (GNU ") ($ VSub_Name "$PACKAGE") ($ VSub_Name "$TIMESTAMP") 
                        (") ") ($ VSub_Name "$VERSION") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) (Right_DoubleQuote "\"") 
                        (");\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [22586]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (
"  lt_debugprintf (__FILE__, __LINE__, \"(main) argv[0]: %s\\n\", argv[0]);\n"
                      ) ("  lt_debugprintf (__FILE__, __LINE__, \"(main) program_name: %s\\n\", program_name);\n") ("\n") 
                      ("  tmp_pathspec = find_executable (argv[0]);\n") ("  if (tmp_pathspec == NULL)\n") 
                      ("    lt_fatal (__FILE__, __LINE__, \"couldn't find %s\", argv[0]);\n") ("  lt_debugprintf (__FILE__, __LINE__,\n") 
                      (
"                  \"(main) found exe (before symlink chase) at: %s\\n\",\n"
                      ) ("\t\t  tmp_pathspec);\n") ("\n") ("  actual_cwrapper_path = chase_symlinks (tmp_pathspec);\n") 
                      ("  lt_debugprintf (__FILE__, __LINE__,\n") ("                  \"(main) found exe (after symlink chase) at: %s\\n\",\n") 
                      ("\t\t  actual_cwrapper_path);\n") ("  XFREE (tmp_pathspec);\n") ("\n") 
                      ("  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));\n") ("  strendzap (actual_cwrapper_path, actual_cwrapper_name);\n") ("\n") 
                      ("  /* wrapper name transforms */\n") ("  strendzap (actual_cwrapper_name, \".exe\");\n") 
                      ("  tmp_pathspec = lt_extend_str (actual_cwrapper_name, \".exe\", 1);\n") ("  XFREE (actual_cwrapper_name);\n") ("  actual_cwrapper_name = tmp_pathspec;\n") 
                      ("  tmp_pathspec = 0;\n") ("\n") ("  /* target_name transforms -- use actual target program name; might have lt- prefix */\n") 
                      ("  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));\n") ("  strendzap (target_name, \".exe\");\n") 
                      ("  tmp_pathspec = lt_extend_str (target_name, \".exe\", 1);\n") ("  XFREE (target_name);\n") ("  target_name = tmp_pathspec;\n") ("  tmp_pathspec = 0;\n") ("\n") 
                      ("  lt_debugprintf (__FILE__, __LINE__,\n") ("\t\t  \"(main) libtool target name: %s\\n\",\n") ("\t\t  target_name);\n")
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [22603]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("  newargz[0] =\n") 
                        ("    XMALLOC (char, (strlen (actual_cwrapper_path) +\n") ("\t\t    strlen (") (Right_DoubleQuote "\"") ($ VSub_Name "$objdir") (Right_DoubleQuote "\"") 
                        (") + 1 + strlen (actual_cwrapper_name) + 1));\n") ("  strcpy (newargz[0], actual_cwrapper_path);\n") ("  strcat (newargz[0], ") (Right_DoubleQuote "\"") 
                        ($ VSub_Name "$objdir") (Right_DoubleQuote "\"") (");\n") ("  strcat (newargz[0], ") (Right_DoubleQuote "\"") (/) 
                        (Right_DoubleQuote "\"") (");\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [22612]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {("  /* stop here, and copy so we don't have to do this twice */\n") 
                      ("  tmp_pathspec = xstrdup (newargz[0]);\n") ("\n") ("  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */\n") 
                      ("  strcat (newargz[0], actual_cwrapper_name);\n") ("\n") ("  /* DO want the lt- prefix here if it exists, so use target_name */\n") 
                      ("  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);\n") ("  XFREE (tmp_pathspec);\n") ("  tmp_pathspec = NULL;\n")
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [22637]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name "$host_os")}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other "*")}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {("  {\n") ("    char* p;\n") 
                              ("    while ((p = strchr (newargz[0], '\\\\')) != NULL)\n") ("      {\n") ("\t*p = '/';\n") ("      }\n") 
                              ("    while ((p = strchr (lt_argv_zero, '\\\\')) != NULL)\n") ("      {\n") ("\t*p = '/';\n") ("      }\n") ("  }\n")
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: True
                          spids: [22658]
                        )
                      ]
                    )
                  ]
                  spids: [22651 22653 22664 -1]
                )
              ]
              spids: [22644 22648 22667]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {("  XFREE (target_name);\n") ("  XFREE (actual_cwrapper_path);\n") 
                      ("  XFREE (actual_cwrapper_name);\n") ("\n") ("  lt_setenv (\"BIN_SH\", \"xpg4\"); /* for Tru64 */\n") 
                      ("  lt_setenv (\"DUALCASE\", \"1\");  /* for MSK sh */\n") ("  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must\n") 
                      (
"     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)\n"
                      ) ("     because on Windows, both *_VARNAMEs are PATH but uninstalled\n") 
                      ("     libraries must come first. */\n") ("  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);\n") 
                      ("  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);\n") ("\n") ("  lt_debugprintf (__FILE__, __LINE__, \"(main) lt_argv_zero: %s\\n\",\n") 
                      ("\t\t  nonnull (lt_argv_zero));\n") ("  for (i = 0; i < newargc; i++)\n") ("    {\n") 
                      (
"      lt_debugprintf (__FILE__, __LINE__, \"(main) newargz[%d]: %s\\n\",\n"
                      ) ("\t\t      i, nonnull (newargz[i]));\n") ("    }\n") ("\n")
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [22673]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name "$host_os")}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other "*")}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {("  /* execv doesn't actually work on mingw as expected on unix */\n") 
                              ("  newargz = prepare_spawn (newargz);\n") ("  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);\n") 
                              ("  if (rval == -1)\n") ("    {\n") ("      /* failed to start process */\n") ("      lt_debugprintf (__FILE__, __LINE__,\n") 
                              ("\t\t      \"(main) failed to launch target \\\"%s\\\": %s\\n\",\n") ("\t\t      lt_argv_zero, nonnull (strerror (errno)));\n") ("      return 127;\n") ("    }\n") 
                              ("  return rval;\n")
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: True
                          spids: [22694]
                        )
                      ]
                    )
                  ]
                  spids: [22687 22689 22700 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {("  execv (lt_argv_zero, newargz);\n") 
                              ("  return rval; /* =127, but avoids unused variable warning */\n")
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: True
                          spids: [22709]
                        )
                      ]
                    )
                  ]
                  spids: [22703 22704 22715 -1]
                )
              ]
              spids: [22680 22684 22718]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {("}\n") ("\n") ("void *\n") ("xmalloc (size_t num)\n") ("{\n") 
                      ("  void *p = (void *) malloc (num);\n") ("  if (!p)\n") ("    lt_fatal (__FILE__, __LINE__, \"memory exhausted\");\n") ("\n") ("  return p;\n") 
                      ("}\n") ("\n") ("char *\n") ("xstrdup (const char *string)\n") ("{\n") 
                      ("  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),\n") ("\t\t\t  string) : NULL;\n") ("}\n") ("\n") ("const char *\n") ("base_name (const char *name)\n") ("{\n") 
                      ("  const char *base;\n") ("\n") ("#if defined (HAVE_DOS_BASED_FILE_SYSTEM)\n") 
                      ("  /* Skip over the disk name in MSDOS pathnames. */\n") ("  if (isalpha ((unsigned char) name[0]) && name[1] == ':')\n") ("    name += 2;\n") ("#endif\n") 
                      ("\n") ("  for (base = name; *name; name++)\n") ("    if (IS_DIR_SEPARATOR (*name))\n") 
                      ("      base = name + 1;\n") ("  return base;\n") ("}\n") ("\n") ("int\n") ("check_executable (const char *path)\n") ("{\n") 
                      ("  struct stat st;\n") ("\n") ("  lt_debugprintf (__FILE__, __LINE__, \"(check_executable): %s\\n\",\n") 
                      ("                  nonempty (path));\n") ("  if ((!path) || (!*path))\n") ("    return 0;\n") ("\n") ("  if ((stat (path, &st) >= 0)\n") 
                      ("      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))\n") ("    return 1;\n") ("  else\n") ("    return 0;\n") ("}\n") ("\n") ("int\n") 
                      ("make_executable (const char *path)\n") ("{\n") ("  int rval = 0;\n") ("  struct stat st;\n") ("\n") 
                      ("  lt_debugprintf (__FILE__, __LINE__, \"(make_executable): %s\\n\",\n") ("                  nonempty (path));\n") ("  if ((!path) || (!*path))\n") ("    return 0;\n") ("\n") 
                      ("  if (stat (path, &st) >= 0)\n") ("    {\n") ("      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);\n") ("    }\n") 
                      ("  return rval;\n") ("}\n") ("\n") ("/* Searches for the full path of the wrapper.  Returns\n") 
                      ("   newly allocated full path name if found, NULL otherwise\n") ("   Does not chase symlinks, even on platforms that support them.\n") ("*/\n") ("char *\n") 
                      ("find_executable (const char *wrapper)\n") ("{\n") ("  int has_slash = 0;\n") ("  const char *p;\n") ("  const char *p_next;\n") 
                      ("  /* static buffer for getcwd */\n") ("  char tmp[LT_PATHMAX + 1];\n") ("  int tmp_len;\n") ("  char *concat_name;\n") ("\n") 
                      ("  lt_debugprintf (__FILE__, __LINE__, \"(find_executable): %s\\n\",\n") ("                  nonempty (wrapper));\n") ("\n") 
                      ("  if ((wrapper == NULL) || (*wrapper == '\\0'))\n") ("    return NULL;\n") ("\n") ("  /* Absolute path? */\n") 
                      ("#if defined (HAVE_DOS_BASED_FILE_SYSTEM)\n") ("  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')\n") ("    {\n") 
                      ("      concat_name = xstrdup (wrapper);\n") ("      if (check_executable (concat_name))\n") ("\treturn concat_name;\n") 
                      ("      XFREE (concat_name);\n") ("    }\n") ("  else\n") ("    {\n") ("#endif\n") ("      if (IS_DIR_SEPARATOR (wrapper[0]))\n") ("\t{\n") 
                      ("\t  concat_name = xstrdup (wrapper);\n") ("\t  if (check_executable (concat_name))\n") ("\t    return concat_name;\n") 
                      ("\t  XFREE (concat_name);\n") ("\t}\n") ("#if defined (HAVE_DOS_BASED_FILE_SYSTEM)\n") ("    }\n") ("#endif\n") ("\n") 
                      ("  for (p = wrapper; *p; p++)\n") ("    if (*p == '/')\n") ("      {\n") ("\thas_slash = 1;\n") ("\tbreak;\n") ("      }\n") 
                      ("  if (!has_slash)\n") ("    {\n") ("      /* no slashes; search PATH */\n") ("      const char *path = getenv (\"PATH\");\n") 
                      ("      if (path != NULL)\n") ("\t{\n") ("\t  for (p = path; *p; p = p_next)\n") ("\t    {\n") ("\t      const char *q;\n") 
                      ("\t      size_t p_len;\n") ("\t      for (q = p; *q; q++)\n") ("\t\tif (IS_PATH_SEPARATOR (*q))\n") ("\t\t  break;\n") 
                      ("\t      p_len = q - p;\n") ("\t      p_next = (*q == '\\0' ? q : q + 1);\n") ("\t      if (p_len == 0)\n") ("\t\t{\n") 
                      ("\t\t  /* empty path: current directory */\n") ("\t\t  if (getcwd (tmp, LT_PATHMAX) == NULL)\n") 
                      ("\t\t    lt_fatal (__FILE__, __LINE__, \"getcwd failed: %s\",\n") ("                              nonnull (strerror (errno)));\n") ("\t\t  tmp_len = strlen (tmp);\n") 
                      ("\t\t  concat_name =\n") ("\t\t    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);\n") 
                      ("\t\t  memcpy (concat_name, tmp, tmp_len);\n") ("\t\t  concat_name[tmp_len] = '/';\n") ("\t\t  strcpy (concat_name + tmp_len + 1, wrapper);\n") 
                      ("\t\t}\n") ("\t      else\n") ("\t\t{\n") ("\t\t  concat_name =\n") 
                      ("\t\t    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);\n") ("\t\t  memcpy (concat_name, p, p_len);\n") ("\t\t  concat_name[p_len] = '/';\n") 
                      ("\t\t  strcpy (concat_name + p_len + 1, wrapper);\n") ("\t\t}\n") ("\t      if (check_executable (concat_name))\n") ("\t\treturn concat_name;\n") 
                      ("\t      XFREE (concat_name);\n") ("\t    }\n") ("\t}\n") ("      /* not found in PATH; assume curdir */\n") ("    }\n") 
                      ("  /* Relative path | not found in path: prepend cwd */\n") ("  if (getcwd (tmp, LT_PATHMAX) == NULL)\n") 
                      ("    lt_fatal (__FILE__, __LINE__, \"getcwd failed: %s\",\n") ("              nonnull (strerror (errno)));\n") ("  tmp_len = strlen (tmp);\n") 
                      ("  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);\n") ("  memcpy (concat_name, tmp, tmp_len);\n") ("  concat_name[tmp_len] = '/';\n") 
                      ("  strcpy (concat_name + tmp_len + 1, wrapper);\n") ("\n") ("  if (check_executable (concat_name))\n") ("    return concat_name;\n") 
                      ("  XFREE (concat_name);\n") ("  return NULL;\n") ("}\n") ("\n") ("char *\n") ("chase_symlinks (const char *pathspec)\n") ("{\n") 
                      ("#ifndef S_ISLNK\n") ("  return xstrdup (pathspec);\n") ("#else\n") ("  char buf[LT_PATHMAX];\n") ("  struct stat s;\n") 
                      ("  char *tmp_pathspec = xstrdup (pathspec);\n") ("  char *p;\n") ("  int has_symlinks = 0;\n") ("  while (strlen (tmp_pathspec) && !has_symlinks)\n") 
                      ("    {\n") ("      lt_debugprintf (__FILE__, __LINE__,\n") 
                      ("\t\t      \"checking path component for symlinks: %s\\n\",\n") ("\t\t      tmp_pathspec);\n") ("      if (lstat (tmp_pathspec, &s) == 0)\n") ("\t{\n") 
                      ("\t  if (S_ISLNK (s.st_mode) != 0)\n") ("\t    {\n") ("\t      has_symlinks = 1;\n") ("\t      break;\n") ("\t    }\n") ("\n") 
                      ("\t  /* search backwards for last DIR_SEPARATOR */\n") ("\t  p = tmp_pathspec + strlen (tmp_pathspec) - 1;\n") 
                      ("\t  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))\n") ("\t    p--;\n") ("\t  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))\n") ("\t    {\n") 
                      ("\t      /* no more DIR_SEPARATORS left */\n") ("\t      break;\n") ("\t    }\n") ("\t  *p = '\\0';\n") ("\t}\n") ("      else\n") ("\t{\n") 
                      ("\t  lt_fatal (__FILE__, __LINE__,\n") ("\t\t    \"error accessing file \\\"%s\\\": %s\",\n") 
                      ("\t\t    tmp_pathspec, nonnull (strerror (errno)));\n") ("\t}\n") ("    }\n") ("  XFREE (tmp_pathspec);\n") ("\n") ("  if (!has_symlinks)\n") ("    {\n") 
                      ("      return xstrdup (pathspec);\n") ("    }\n") ("\n") ("  tmp_pathspec = realpath (pathspec, buf);\n") ("  if (tmp_pathspec == 0)\n") 
                      ("    {\n") ("      lt_fatal (__FILE__, __LINE__,\n") ("\t\t\"could not follow symlinks for %s\", pathspec);\n") 
                      ("    }\n") ("  return xstrdup (tmp_pathspec);\n") ("#endif\n") ("}\n") ("\n") ("char *\n") 
                      ("strendzap (char *str, const char *pat)\n") ("{\n") ("  size_t len, patlen;\n") ("\n") ("  assert (str != NULL);\n") ("  assert (pat != NULL);\n") 
                      ("\n") ("  len = strlen (str);\n") ("  patlen = strlen (pat);\n") ("\n") ("  if (patlen <= len)\n") ("    {\n") 
                      ("      str += len - patlen;\n") ("      if (strcmp (str, pat) == 0)\n") ("\t*str = '\\0';\n") ("    }\n") ("  return str;\n") ("}\n") 
                      ("\n") ("void\n") ("lt_debugprintf (const char *file, int line, const char *fmt, ...)\n") ("{\n") 
                      ("  va_list args;\n") ("  if (lt_debug)\n") ("    {\n") 
                      (
"      (void) fprintf (stderr, \"%s:%s:%d: \", program_name, file, line);\n"
                      ) ("      va_start (args, fmt);\n") ("      (void) vfprintf (stderr, fmt, args);\n") 
                      ("      va_end (args);\n") ("    }\n") ("}\n") ("\n") ("static void\n") ("lt_error_core (int exit_status, const char *file,\n") 
                      ("\t       int line, const char *mode,\n") ("\t       const char *message, va_list ap)\n") ("{\n") 
                      ("  fprintf (stderr, \"%s:%s:%d: %s: \", program_name, file, line, mode);\n") ("  vfprintf (stderr, message, ap);\n") ("  fprintf (stderr, \".\\n\");\n") ("\n") 
                      ("  if (exit_status >= 0)\n") ("    exit (exit_status);\n") ("}\n") ("\n") ("void\n") 
                      ("lt_fatal (const char *file, int line, const char *message, ...)\n") ("{\n") ("  va_list ap;\n") ("  va_start (ap, message);\n") 
                      ("  lt_error_core (EXIT_FAILURE, file, line, \"FATAL\", message, ap);\n") ("  va_end (ap);\n") ("}\n") ("\n") ("static const char *\n") ("nonnull (const char *s)\n") ("{\n") 
                      ("  return s ? s : \"(null)\";\n") ("}\n") ("\n") ("static const char *\n") ("nonempty (const char *s)\n") ("{\n") 
                      ("  return (s && !*s) ? \"(empty)\" : nonnull (s);\n") ("}\n") ("\n") ("void\n") ("lt_setenv (const char *name, const char *value)\n") ("{\n") 
                      ("  lt_debugprintf (__FILE__, __LINE__,\n") ("\t\t  \"(lt_setenv) setting '%s' to '%s'\\n\",\n") 
                      ("                  nonnull (name), nonnull (value));\n") ("  {\n") ("#ifdef HAVE_SETENV\n") 
                      ("    /* always make a copy, for consistency with !HAVE_SETENV */\n") ("    char *str = xstrdup (value);\n") ("    setenv (name, str, 1);\n") ("#else\n") 
                      ("    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") 
                      ("  lt_debugprintf (__FILE__, __LINE__,\n") ("\t\t  \"(lt_update_exe_path) modifying '%s' by prepending '%s'\\n\",\n") 
                      ("                  nonnull (name), nonnull (value));\n") ("\n") ("  if (name && *name && value && *value)\n") ("    {\n") 
                      ("      char *new_value = lt_extend_str (getenv (name), value, 0);\n") ("      /* some systems can't cope with a ':'-terminated path #' */\n") 
                      ("      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") ("  lt_debugprintf (__FILE__, __LINE__,\n") 
                      ("\t\t  \"(lt_update_lib_path) modifying '%s' by prepending '%s'\\n\",\n") ("                  nonnull (name), nonnull (value));\n") ("\n") 
                      ("  if (name && *name && value && *value)\n") ("    {\n") ("      char *new_value = lt_extend_str (getenv (name), value, 0);\n") 
                      ("      lt_setenv (name, new_value);\n") ("      XFREE (new_value);\n") ("    }\n") ("}\n") ("\n")
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [22724]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name "$host_os")}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other "*")}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {("\n") ("/* Prepares an argument vector before calling spawn().\n") 
                              (
"   Note that spawn() does not by itself call the command interpreter\n"
                              ) ("     (getenv (\"COMSPEC\") != NULL ? getenv (\"COMSPEC\") :\n") 
                              (
"      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);\n"
                              ) ("         GetVersionEx(&v);\n") ("         v.dwPlatformId == VER_PLATFORM_WIN32_NT;\n") 
                              ("      }) ? \"cmd.exe\" : \"command.com\").\n") ("   Instead it simply concatenates the arguments, separated by ' ', and calls\n") 
                              (
"   CreateProcess().  We must quote the arguments since Win32 CreateProcess()\n"
                              ) ("   interprets characters like ' ', '\\t', '\\\\', '\"' (but not '<' and '>') in a\n") 
                              ("   special way:\n") ("   - Space and tab are interpreted as delimiters. They are not treated as\n") 
                              (
"     delimiters if they are surrounded by double quotes: \"...\".\n"
                              ) ("   - Unescaped double quotes are removed from the input. Their only effect is\n") 
                              (
"     that within double quotes, space and tab are treated like normal\n"
                              ) ("     characters.\n") ("   - Backslashes not followed by double quotes are not special.\n") 
                              ("   - But 2*n+1 backslashes followed by a double quote become\n") ("     n backslashes followed by a double quote (n >= 0):\n") ("       \\\" -> \"\n") 
                              ("       \\\\\\\" -> \\\"\n") ("       \\\\\\\\\\\" -> \\\\\"\n") (" */\n") 
                              (
"#define SHELL_SPECIAL_CHARS \"\\\"\\\\ \\001\\002\\003\\004\\005\\006\\007\\010\\011\\012\\013\\014\\015\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037\"\n"
                              ) 
                              (
"#define SHELL_SPACE_CHARS \" \\001\\002\\003\\004\\005\\006\\007\\010\\011\\012\\013\\014\\015\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037\"\n"
                              ) ("char **\n") ("prepare_spawn (char **argv)\n") ("{\n") ("  size_t argc;\n") ("  char **new_argv;\n") 
                              ("  size_t i;\n") ("\n") ("  /* Count number of arguments.  */\n") ("  for (argc = 0; argv[argc] != NULL; argc++)\n") 
                              ("    ;\n") ("\n") ("  /* Allocate new argument vector.  */\n") ("  new_argv = XMALLOC (char *, argc + 1);\n") 
                              ("\n") ("  /* Put quoted arguments into the new argument vector.  */\n") ("  for (i = 0; i < argc; i++)\n") 
                              ("    {\n") ("      const char *string = argv[i];\n") ("\n") ("      if (string[0] == '\\0')\n") 
                              ("\tnew_argv[i] = xstrdup (\"\\\"\\\"\");\n") ("      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)\n") ("\t{\n") 
                              (
"\t  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);\n"
                              ) ("\t  size_t length;\n") ("\t  unsigned int backslashes;\n") ("\t  const char *s;\n") 
                              ("\t  char *quoted_string;\n") ("\t  char *p;\n") ("\n") ("\t  length = 0;\n") ("\t  backslashes = 0;\n") ("\t  if (quote_around)\n") 
                              ("\t    length++;\n") ("\t  for (s = string; *s != '\\0'; s++)\n") ("\t    {\n") ("\t      char c = *s;\n") 
                              ("\t      if (c == '\"')\n") ("\t\tlength += backslashes + 1;\n") ("\t      length++;\n") ("\t      if (c == '\\\\')\n") 
                              ("\t\tbackslashes++;\n") ("\t      else\n") ("\t\tbackslashes = 0;\n") ("\t    }\n") ("\t  if (quote_around)\n") 
                              ("\t    length += backslashes + 1;\n") ("\n") ("\t  quoted_string = XMALLOC (char, length + 1);\n") ("\n") ("\t  p = quoted_string;\n") 
                              ("\t  backslashes = 0;\n") ("\t  if (quote_around)\n") ("\t    *p++ = '\"';\n") ("\t  for (s = string; *s != '\\0'; s++)\n") 
                              ("\t    {\n") ("\t      char c = *s;\n") ("\t      if (c == '\"')\n") ("\t\t{\n") ("\t\t  unsigned int j;\n") 
                              ("\t\t  for (j = backslashes + 1; j > 0; j--)\n") ("\t\t    *p++ = '\\\\';\n") ("\t\t}\n") ("\t      *p++ = c;\n") ("\t      if (c == '\\\\')\n") 
                              ("\t\tbackslashes++;\n") ("\t      else\n") ("\t\tbackslashes = 0;\n") ("\t    }\n") ("\t  if (quote_around)\n") ("\t    {\n") 
                              ("\t      unsigned int j;\n") ("\t      for (j = backslashes; j > 0; j--)\n") ("\t\t*p++ = '\\\\';\n") ("\t      *p++ = '\"';\n") 
                              ("\t    }\n") ("\t  *p = '\\0';\n") ("\n") ("\t  new_argv[i] = quoted_string;\n") ("\t}\n") ("      else\n") 
                              ("\tnew_argv[i] = (char *) string;\n") ("    }\n") ("  new_argv[argc] = NULL;\n") ("\n") ("  return new_argv;\n") ("}\n")
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: True
                          spids: [22744]
                        )
                      ]
                    )
                  ]
                  spids: [22737 22739 22750 -1]
                )
              ]
              spids: [22730 22734 22753]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {("void lt_dump_script (FILE* f)\n") ("{\n")}
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [22759]
                )
              ]
            )
            (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: False
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {("}\n")}
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [22798]
                )
              ]
            )
          ]
          spids: [22299]
        )
      spids: [22294 22298]
    )
    (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: [
                              (SimpleCommand
                                words: [
                                  {(eval)}
                                  {($ VSub_Name "$file_magic_cmd")}
                                  {(EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\$">
                                    ) (1) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                  }
                                ]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [22838]
                                  )
                                ]
                              )
                              (C {($ VSub_Name "$SED")} {(-e)} {(10q)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_Backtick "`">
                    spids: [22828 22848]
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "*") (import) (Lit_Other "*")}]
                  action: [(C {(Lit_Other ":")})]
                  spids: [22853 22856 22860 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [(C {(false)})]
                  spids: [22863 22864 22868 -1]
                )
              ]
              spids: [22826 22850 22871]
            )
          ]
          spids: [22820]
        )
      spids: [22815 22819]
    )
    (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: [22976]
                        )
                      ]
                      spids: [22976]
                    )
                  ]
                  spids: [22897 22932 22980 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:allow_undefined)
                          op: Equal
                          rhs: {(yes)}
                          spids: [22987]
                        )
                      ]
                      spids: [22987]
                    )
                  ]
                  spids: [22983 22984 22991 -1]
                )
              ]
              spids: [22890 22894 22994]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_args)
                  op: Equal
                  rhs: {($ VSub_Name "$nonopt")}
                  spids: [22997]
                )
              ]
              spids: [22997]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base_compile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$nonopt") (" ") ($ VSub_At "$@"))}
                  spids: [23001]
                )
              ]
              spids: [23001]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_command)
                  op: Equal
                  rhs: {($ VSub_Name "$nonopt")}
                  spids: [23009]
                )
              ]
              spids: [23009]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_command)
                  op: Equal
                  rhs: {($ VSub_Name "$nonopt")}
                  spids: [23013]
                )
              ]
              spids: [23013]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_rpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23018]
                )
              ]
              spids: [23018]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_rpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23021]
                )
              ]
              spids: [23021]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_shlibpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23024]
                )
              ]
              spids: [23024]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_shlibpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23027]
                )
              ]
              spids: [23027]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:convenience) op:Equal rhs:{(SQ )} spids:[23030])]
              spids: [23030]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_convenience)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23033]
                )
              ]
              spids: [23033]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:deplibs) op:Equal rhs:{(SQ )} spids:[23036])]
              spids: [23036]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:old_deplibs) op:Equal rhs:{(SQ )} spids:[23039])]
              spids: [23039]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compiler_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23042]
                )
              ]
              spids: [23042]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:linker_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23045]
                )
              ]
              spids: [23045]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dllsearchpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23048]
                )
              ]
              spids: [23048]
            )
            (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: [23052 23054]
                      )
                    }
                  spids: [23051]
                )
              ]
              spids: [23051]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inst_prefix_dir)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23057]
                )
              ]
              spids: [23057]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_inherited_linker_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23060]
                )
              ]
              spids: [23060]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:avoid_version)
                  op: Equal
                  rhs: {(no)}
                  spids: [23064]
                )
              ]
              spids: [23064]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:bindir) op:Equal rhs:{(SQ )} spids:[23068])]
              spids: [23068]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlfiles) op:Equal rhs:{(SQ )} spids:[23071])]
              spids: [23071]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlprefiles) op:Equal rhs:{(SQ )} spids:[23074])]
              spids: [23074]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlself) op:Equal rhs:{(no)} spids:[23077])]
              spids: [23077]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_dynamic)
                  op: Equal
                  rhs: {(no)}
                  spids: [23081]
                )
              ]
              spids: [23081]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23085]
                )
              ]
              spids: [23085]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols_regex)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23088]
                )
              ]
              spids: [23088]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:generated) op:Equal rhs:{(SQ )} spids:[23091])]
              spids: [23091]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobjs) op:Equal rhs:{(SQ )} spids:[23094])]
              spids: [23094]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:ltlibs) op:Equal rhs:{(SQ )} spids:[23097])]
              spids: [23097]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:module) op:Equal rhs:{(no)} spids:[23100])]
              spids: [23100]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:no_install) op:Equal rhs:{(no)} spids:[23104])]
              spids: [23104]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:objs) op:Equal rhs:{(SQ )} spids:[23108])]
              spids: [23108]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:non_pic_objects)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23111]
                )
              ]
              spids: [23111]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:precious_files_regex)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23114]
                )
              ]
              spids: [23114]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prefer_static_libs)
                  op: Equal
                  rhs: {(no)}
                  spids: [23117]
                )
              ]
              spids: [23117]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:preload) op:Equal rhs:{(no)} spids:[23121])]
              spids: [23121]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(SQ )} spids:[23125])]
              spids: [23125]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prevarg) op:Equal rhs:{(SQ )} spids:[23128])]
              spids: [23128]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:release) op:Equal rhs:{(SQ )} spids:[23131])]
              spids: [23131]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rpath) op:Equal rhs:{(SQ )} spids:[23134])]
              spids: [23134]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:xrpath) op:Equal rhs:{(SQ )} spids:[23137])]
              spids: [23137]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:perm_rpath) op:Equal rhs:{(SQ )} spids:[23140])]
              spids: [23140]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:temp_rpath) op:Equal rhs:{(SQ )} spids:[23143])]
              spids: [23143]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:thread_safe) op:Equal rhs:{(no)} spids:[23146])]
              spids: [23146]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo) op:Equal rhs:{(SQ )} spids:[23150])]
              spids: [23150]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo_number) op:Equal rhs:{(no)} spids:[23153])]
              spids: [23153]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:weak_libs) op:Equal rhs:{(SQ )} spids:[23157])]
              spids: [23157]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:single_module)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name wl) (-single_module))}
                  spids: [23160]
                )
              ]
              spids: [23160]
            )
            (C {(func_infer_tag)} {($ VSub_Name "$base_compile")})
            (ForEach
              iter_name: arg
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$arg")}
                      arms: [
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name "$build_libtool_libs"))} 
                                  {(KW_Bang "!") (Lit_Other "=")} {(yes)}
                                )
                                (C {(func_fatal_configuration)} 
                                  {(DQ ("can not build a shared library"))}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [23220]
                                )
                              ]
                              spids: [23220]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [23194 23195 23227 -1]
                        )
                        (case_arm
                          pat_list: [{(-all-static)} {(-static)} {(-static-libtool-libs)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$arg")}
                              arms: [
                                (case_arm
                                  pat_list: [{(-all-static)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name "$build_libtool_libs"))} {(Lit_Other "=")} {(yes)}
                                                    )
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name "$link_static_flag"))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ 
                                                  (
"complete static linking is impossible in this configuration"
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 23276]
                                        )
                                      ]
                                      spids: [-1 23286]
                                    )
                                    (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: [23303]
                                                )
                                              ]
                                              spids: [23303]
                                            )
                                          ]
                                          spids: [-1 23300]
                                        )
                                      ]
                                      spids: [-1 23307]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [23310]
                                        )
                                      ]
                                      spids: [23310]
                                    )
                                  ]
                                  spids: [23249 23250 23314 -1]
                                )
                                (case_arm
                                  pat_list: [{(-static)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name "$pic_flag"))})
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$link_static_flag"))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlopen_self)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$dlopen_self_static")}
                                                  spids: [23345]
                                                )
                                              ]
                                              spids: [23345]
                                            )
                                          ]
                                          spids: [-1 23342]
                                        )
                                      ]
                                      spids: [-1 23349]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(built)}
                                          spids: [23352]
                                        )
                                      ]
                                      spids: [23352]
                                    )
                                  ]
                                  spids: [23317 23318 23356 -1]
                                )
                                (case_arm
                                  pat_list: [{(-static-libtool-libs)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name "$pic_flag"))})
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$link_static_flag"))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlopen_self)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$dlopen_self_static")}
                                                  spids: [23387]
                                                )
                                              ]
                                              spids: [23387]
                                            )
                                          ]
                                          spids: [-1 23384]
                                        )
                                      ]
                                      spids: [-1 23391]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [23394]
                                        )
                                      ]
                                      spids: [23394]
                                    )
                                  ]
                                  spids: [23359 23360 23398 -1]
                                )
                              ]
                              spids: [23242 23246 23401]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [23404]
                                )
                              ]
                              spids: [23404]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [23408]
                                )
                              ]
                              spids: [23408]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [23230 23239 23415 -1]
                        )
                      ]
                      spids: [23187 23191 23418]
                    )
                  ]
                  spids: [23184 23421]
                )
              spids: [-1 -1]
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$old_archive_from_new_cmds"))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:build_old_libs)
                      op: Equal
                      rhs: {(yes)}
                      spids: [23439]
                    )
                  ]
                  spids: [23439]
                )
              ]
              op_id: Op_DAmp
            )
            (While
              cond: [
                (Sentence
                  child: (C {(test)} {(DQ ($ VSub_Pound "$#"))} {(-gt)} {(0)})
                  terminator: <Op_Semi ";">
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number "$1"))}
                          spids: [23464]
                        )
                      ]
                      spids: [23464]
                    )
                    (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: [23480]
                        )
                      ]
                      spids: [23480]
                    )
                    (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: [23520 23521 23542 -1]
                                )
                              ]
                              spids: [23513 23517 23545]
                            )
                            (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: [23560]
                                        )
                                      ]
                                      spids: [23560]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [23566]
                                        )
                                      ]
                                      spids: [23566]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [23556 23557 23572 -1]
                                )
                                (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: [23619]
                                                )
                                              ]
                                              spids: [23619]
                                            )
                                          ]
                                          spids: [-1 23594]
                                        )
                                      ]
                                      spids: [-1 23623]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$arg")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other "*") (.la)} {(Lit_Other "*") (.lo)}]
                                          spids: [23633 23640 23642 -1]
                                        )
                                        (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: [23668]
                                                        )
                                                      ]
                                                      spids: [23668]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_dynamic)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [23672]
                                                        )
                                                      ]
                                                      spids: [23672]
                                                    )
                                                  ]
                                                  spids: [-1 23665]
                                                )
                                              ]
                                              spids: [-1 23676]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [23679]
                                                )
                                              ]
                                              spids: [23679]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [23648 23649 23685 -1]
                                        )
                                        (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: [23708]
                                                        )
                                                      ]
                                                      spids: [23708]
                                                    )
                                                  ]
                                                  spids: [-1 23705]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(DQ ($ VSub_Name "$prev"))} 
                                                              {(Lit_Other "=")} {(dlfiles)}
                                                            )
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name "$dlopen_self"))} {(KW_Bang "!") (Lit_Other "=")} {(yes)}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlself)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [23741]
                                                        )
                                                      ]
                                                      spids: [23741]
                                                    )
                                                  ]
                                                  spids: [23712 23738]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlself)
                                                      op: Equal
                                                      rhs: {(needless)}
                                                      spids: [23748]
                                                    )
                                                  ]
                                                  spids: [23748]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_dynamic)
                                                      op: Equal
                                                      rhs: {(yes)}
                                                      spids: [23752]
                                                    )
                                                  ]
                                                  spids: [23752]
                                                )
                                              ]
                                              spids: [23745 23756]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [23759]
                                                )
                                              ]
                                              spids: [23759]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [23688 23689 23765 -1]
                                        )
                                        (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: [
                                                    (C {(func_append)} {(dlfiles)} 
                                                      {(DQ (" ") ($ VSub_Name "$arg"))}
                                                    )
                                                  ]
                                                  spids: [-1 23785]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(dlprefiles)} 
                                                  {(DQ (" ") ($ VSub_Name "$arg"))}
                                                )
                                              ]
                                              spids: [23798 23811]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [23814]
                                                )
                                              ]
                                              spids: [23814]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [23768 23769 23820 -1]
                                        )
                                      ]
                                      spids: [23626 23630 23823]
                                    )
                                  ]
                                  spids: [23575 23578 23826 -1]
                                )
                                (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: [23833]
                                        )
                                      ]
                                      spids: [23833]
                                    )
                                    (AndOr
                                      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")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [23861]
                                        )
                                      ]
                                      spids: [23861]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [23829 23830 23867 -1]
                                )
                                (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: [23874]
                                        )
                                      ]
                                      spids: [23874]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [23880]
                                        )
                                      ]
                                      spids: [23880]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [23870 23871 23886 -1]
                                )
                                (case_arm
                                  pat_list: [{(framework)}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$host")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-darwin) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (Case
                                              to_match: {(DQ ($ VSub_Name "$deplibs") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$qarg") (".ltframework ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [23918 23925 23927 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(deplibs)} 
                                                      {
                                                        (DQ (" ") ($ VSub_Name "$qarg") (.ltframework))
                                                      }
                                                    )
                                                  ]
                                                  spids: [23930 23931 23947 -1]
                                                )
                                              ]
                                              spids: [23908 23915 23950]
                                            )
                                          ]
                                          spids: [23900 23905 23953 -1]
                                        )
                                      ]
                                      spids: [23893 23897 23956]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [23959]
                                        )
                                      ]
                                      spids: [23959]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [23889 23890 23965 -1]
                                )
                                (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: [23972]
                                        )
                                      ]
                                      spids: [23972]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [23978]
                                        )
                                      ]
                                      spids: [23978]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [23968 23969 23984 -1]
                                )
                                (case_arm
                                  pat_list: [{(objectlist)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: (C {(test)} {(-f)} {(DQ ($ VSub_Name "$arg"))})
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:save_arg)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$arg")}
                                                  spids: [24005]
                                                )
                                              ]
                                              spids: [24005]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:moreargs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [24009]
                                                )
                                              ]
                                              spids: [24009]
                                            )
                                            (ForEach
                                              iter_name: fil
                                              iter_words: [
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (C {(cat)} {(DQ ($ VSub_Name "$save_arg"))})
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [24018 24024]
                                                  )
                                                }
                                              ]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$fil")}
                                                          spids: [24033]
                                                        )
                                                      ]
                                                      spids: [24033]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(func_lalib_unsafe_p)} 
                                                                  {(DQ ($ VSub_Name "$arg"))}
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:pic_object)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [24058]
                                                                )
                                                              ]
                                                              spids: [24058]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:non_pic_object)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [24061]
                                                                )
                                                              ]
                                                              spids: [24061]
                                                            )
                                                            (C {(func_source)} 
                                                              {(DQ ($ VSub_Name "$arg"))}
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          children: [
                                                                            (C {(test)} {(-z)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
"$pic_object"
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (AndOr
                                                                              children: [
                                                                                (C {(test)} {(-z)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
"$non_pic_object"
                                                                                      )
                                                                                    )
                                                                                  }
                                                                                )
                                                                                (AndOr
                                                                                  children: [
                                                                                    (C {(test)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name "$pic_object"
                                                                                          )
                                                                                        )
                                                                                      } {(Lit_Other "=")} {(none)}
                                                                                    )
                                                                                    (C {(test)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name "$non_pic_object"
                                                                                          )
                                                                                        )
                                                                                      } {(Lit_Other "=")} {(none)}
                                                                                    )
                                                                                  ]
                                                                                  op_id: Op_DAmp
                                                                                )
                                                                              ]
                                                                              op_id: Op_DPipe
                                                                            )
                                                                          ]
                                                                          op_id: Op_DPipe
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {(func_fatal_error)} 
                                                                      {
                                                                        (DQ 
                                                                          (
"cannot find name of object for "
                                                                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ($ VSub_Name "$arg") ("'")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [-1 24125]
                                                                )
                                                              ]
                                                              spids: [-1 24138]
                                                            )
                                                            (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: [24160]
                                                                )
                                                              ]
                                                              spids: [24160]
                                                            )
                                                            (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: [24188]
                                                                        )
                                                                      ]
                                                                      spids: [24188]
                                                                    )
                                                                    (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
                                                                                          children: [
                                                                                            (C 
                                                                                              {
                                                                                                (
test
                                                                                                )
                                                                                              } {(DQ ($ VSub_Name "$build_libtool_libs"))} {(Lit_Other "=")} {(yes)}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
test
                                                                                                )
                                                                                              } {(DQ ($ VSub_Name "$dlopen_support"))} {(Lit_Other "=")} {(yes)}
                                                                                            )
                                                                                          ]
                                                                                          op_id: 
Op_DAmp
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
";"
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (C {(func_append)} 
                                                                                      {(dlfiles)} {(DQ (" ") ($ VSub_Name "$pic_object"))}
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
prev
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(SQ )}
                                                                                          spids: [
24250
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [24250]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 24237]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: prev
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (
dlprefiles
                                                                                          )
                                                                                        }
                                                                                      spids: [24263]
                                                                                    )
                                                                                  ]
                                                                                  spids: [24263]
                                                                                )
                                                                              ]
                                                                              spids: [24256 24267]
                                                                            )
                                                                          ]
                                                                          spids: [-1 24209]
                                                                        )
                                                                      ]
                                                                      spids: [-1 24270]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (C {(test)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
"$prev"
                                                                                      )
                                                                                    )
                                                                                  } {(Lit_Other "=")} {(dlprefiles)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ";">
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(func_append)} 
                                                                              {(dlprefiles)} {(DQ (" ") ($ VSub_Name "$pic_object"))}
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: prev
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(SQ )}
                                                                                  spids: [24308]
                                                                                )
                                                                              ]
                                                                              spids: [24308]
                                                                            )
                                                                          ]
                                                                          spids: [-1 24291]
                                                                        )
                                                                      ]
                                                                      spids: [-1 24311]
                                                                    )
                                                                    (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: [24329]
                                                                        )
                                                                      ]
                                                                      spids: [24329]
                                                                    )
                                                                  ]
                                                                  spids: [-1 24181]
                                                                )
                                                              ]
                                                              spids: [-1 24335]
                                                            )
                                                            (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: [24364]
                                                                        )
                                                                      ]
                                                                      spids: [24364]
                                                                    )
                                                                    (C {(func_append)} 
                                                                      {(non_pic_objects)} {(DQ (" ") ($ VSub_Name "$non_pic_object"))}
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (AndOr
                                                                                  children: [
                                                                                    (C {(test)} {(-z)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name "$pic_object"
                                                                                          )
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                    (C {(test)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name "$pic_object"
                                                                                          )
                                                                                        )
                                                                                      } {(Lit_Other "=")} {(none)}
                                                                                    )
                                                                                  ]
                                                                                  op_id: Op_DPipe
                                                                                )
                                                                              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: [24413]
                                                                                )
                                                                              ]
                                                                              spids: [24413]
                                                                            )
                                                                          ]
                                                                          spids: [-1 24410]
                                                                        )
                                                                      ]
                                                                      spids: [-1 24419]
                                                                    )
                                                                  ]
                                                                  spids: [-1 24357]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: non_pic_object
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
"$pic_object"
                                                                            )
                                                                          )
                                                                        }
                                                                      spids: [24433]
                                                                    )
                                                                  ]
                                                                  spids: [24433]
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (" ") 
                                                                      ($ VSub_Name "$non_pic_object")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [24422 24449]
                                                            )
                                                          ]
                                                          spids: [-1 24055]
                                                        )
                                                      ]
                                                      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: [24485]
                                                                    )
                                                                  ]
                                                                  spids: [24485]
                                                                )
                                                                (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: [24499]
                                                                    )
                                                                  ]
                                                                  spids: [24499]
                                                                )
                                                                (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: [24506]
                                                                    )
                                                                  ]
                                                                  spids: [24506]
                                                                )
                                                                (C {(func_append)} {(libobjs)} 
                                                                  {
                                                                    (DQ (" ") 
                                                                      ($ VSub_Name "$pic_object")
                                                                    )
                                                                  }
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (" ") 
                                                                      ($ VSub_Name "$non_pic_object")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [-1 24464]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (C {(func_fatal_error)} 
                                                              {
                                                                (DQ 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar "\\`">
                                                                  ) ($ VSub_Name "$arg") ("' is not a valid libtool object")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [24531 24543]
                                                        )
                                                      ]
                                                      spids: [24452 24546]
                                                    )
                                                  ]
                                                  spids: [24027 24549]
                                                )
                                              spids: [24017 -1]
                                            )
                                          ]
                                          spids: [-1 24002]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("link input file ") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\`">
                                              ) ($ VSub_Name "$arg") ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [24552 24565]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: {($ VSub_Name "$save_arg")}
                                          spids: [24568]
                                        )
                                      ]
                                      spids: [24568]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24572]
                                        )
                                      ]
                                      spids: [24572]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [23987 23988 24578 -1]
                                )
                                (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: [24585]
                                        )
                                      ]
                                      spids: [24585]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24591]
                                        )
                                      ]
                                      spids: [24591]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24581 24582 24597 -1]
                                )
                                (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: [24604]
                                        )
                                      ]
                                      spids: [24604]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24611]
                                        )
                                      ]
                                      spids: [24611]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24600 24601 24617 -1]
                                )
                                (case_arm
                                  pat_list: [{(rpath)} {(xrpath)}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$arg")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "[") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\\\">
                                              ) (/) (Lit_Other "]") (Lit_Other "*")
                                            }
                                            {(Lit_Other "[") (A-Za-z) (Lit_Other "]") (Lit_Other ":") 
                                              (Lit_Other "[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (/) (Lit_Other "]") (Lit_Other "*")
                                            }
                                          ]
                                          spids: [24639 24656 24658 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {(DQ ("only absolute run-paths are allowed"))}
                                            )
                                          ]
                                          spids: [24661 24662 24672 -1]
                                        )
                                      ]
                                      spids: [24632 24636 24675]
                                    )
                                    (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: [24704 24711 24713 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(rpath)} 
                                                      {(DQ (" ") ($ VSub_Name "$arg"))}
                                                    )
                                                  ]
                                                  spids: [24716 24717 24728 -1]
                                                )
                                              ]
                                              spids: [24694 24701 24731]
                                            )
                                          ]
                                          spids: [-1 24691]
                                        )
                                      ]
                                      else_action: [
                                        (Case
                                          to_match: {(DQ ($ VSub_Name "$xrpath") (" "))}
                                          arms: [
                                            (case_arm
                                              pat_list: [
                                                {(Lit_Other "*") 
                                                  (DQ (" ") ($ VSub_Name "$arg") (" ")) (Lit_Other "*")
                                                }
                                              ]
                                              spids: [24747 24754 24756 -1]
                                            )
                                            (case_arm
                                              pat_list: [{(Lit_Other "*")}]
                                              action: [
                                                (C {(func_append)} {(xrpath)} 
                                                  {(DQ (" ") ($ VSub_Name "$arg"))}
                                                )
                                              ]
                                              spids: [24759 24760 24771 -1]
                                            )
                                          ]
                                          spids: [24737 24744 24774]
                                        )
                                      ]
                                      spids: [24734 24777]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24780]
                                        )
                                      ]
                                      spids: [24780]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24620 24625 24786 -1]
                                )
                                (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: [24793]
                                        )
                                      ]
                                      spids: [24793]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24799]
                                        )
                                      ]
                                      spids: [24799]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24789 24790 24805 -1]
                                )
                                (case_arm
                                  pat_list: [{(weak)}]
                                  action: [
                                    (C {(func_append)} {(weak_libs)} {(DQ (" ") ($ VSub_Name "$arg"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24822]
                                        )
                                      ]
                                      spids: [24822]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24808 24809 24828 -1]
                                )
                                (case_arm
                                  pat_list: [{(xcclinker)}]
                                  action: [
                                    (C {(func_append)} {(linker_flags)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (C {(func_append)} {(compiler_flags)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24855]
                                        )
                                      ]
                                      spids: [24855]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24831 24832 24881 -1]
                                )
                                (case_arm
                                  pat_list: [{(xcompiler)}]
                                  action: [
                                    (C {(func_append)} {(compiler_flags)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24898]
                                        )
                                      ]
                                      spids: [24898]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24884 24885 24924 -1]
                                )
                                (case_arm
                                  pat_list: [{(xlinker)}]
                                  action: [
                                    (C {(func_append)} {(linker_flags)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (C {(func_append)} {(compiler_flags)} 
                                      {(DQ (" ") ($ VSub_Name "$wl") ($ VSub_Name "$qarg"))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24952]
                                        )
                                      ]
                                      spids: [24952]
                                    )
                                    (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: [24927 24928 24980 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ($ VSub_Name "$prev") ("=") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\\"">
                                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (arg) 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\\"">
                                          )
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24999]
                                        )
                                      ]
                                      spids: [24999]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24983 24984 25005 -1]
                                )
                              ]
                              spids: [23549 23553 25008]
                            )
                          ]
                          spids: [-1 23510]
                        )
                      ]
                      spids: [-1 25011]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:prevarg)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$arg"))}
                          spids: [25018]
                        )
                      ]
                      spids: [25018]
                    )
                    (Case
                      to_match: {($ VSub_Name "$arg")}
                      arms: [
                        (case_arm
                          pat_list: [{(-all-static)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$link_static_flag"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (" ") ($ VSub_Name "$link_static_flag"))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (" ") ($ VSub_Name "$link_static_flag"))}
                                    )
                                  ]
                                  spids: [-1 25047]
                                )
                              ]
                              spids: [-1 25074]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25032 25033 25080 -1]
                        )
                        (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: [25084 25085 25100 -1]
                        )
                        (case_arm
                          pat_list: [{(-avoid-version)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoid_version)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [25108]
                                )
                              ]
                              spids: [25108]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25104 25105 25115 -1]
                        )
                        (case_arm
                          pat_list: [{(-bindir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(bindir)}
                                  spids: [25123]
                                )
                              ]
                              spids: [25123]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25119 25120 25130 -1]
                        )
                        (case_arm
                          pat_list: [{(-dlopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlfiles)}
                                  spids: [25138]
                                )
                              ]
                              spids: [25138]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25134 25135 25145 -1]
                        )
                        (case_arm
                          pat_list: [{(-dlpreopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlprefiles)}
                                  spids: [25153]
                                )
                              ]
                              spids: [25153]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25149 25150 25160 -1]
                        )
                        (case_arm
                          pat_list: [{(-export-dynamic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:export_dynamic)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [25168]
                                )
                              ]
                              spids: [25168]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25164 25165 25175 -1]
                        )
                        (case_arm
                          pat_list: [{(-export-symbols)} {(-export-symbols-regex)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$export_symbols"))})
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name "$export_symbols_regex"))}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ 
                                          (
"more than one -exported-symbols argument is not allowed"
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 25208]
                                )
                              ]
                              spids: [-1 25218]
                            )
                            (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: [25240]
                                        )
                                      ]
                                      spids: [25240]
                                    )
                                  ]
                                  spids: [-1 25237]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {(expsyms_regex)}
                                      spids: [25247]
                                    )
                                  ]
                                  spids: [25247]
                                )
                              ]
                              spids: [25244 25251]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25179 25184 25257 -1]
                        )
                        (case_arm
                          pat_list: [{(-framework)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(framework)}
                                  spids: [25265]
                                )
                              ]
                              spids: [25265]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25261 25262 25272 -1]
                        )
                        (case_arm
                          pat_list: [{(-inst-prefix-dir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(inst_prefix)}
                                  spids: [25280]
                                )
                              ]
                              spids: [25280]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25276 25277 25287 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(-L) (Lit_Other "[") (A-Z) (Lit_Other "]") (Lit_Other "[") (A-Z) 
                              (Lit_Other "]") (Lit_Other "*") (Lit_Other ":") (Lit_Other "*")
                            }
                          ]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$with_gcc") (/) ($ VSub_Name "$host")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(no/) (Lit_Other "*") (-) (Lit_Other "*") (-irix) (Lit_Other "*")}
                                    {(/) (Lit_Other "*") (-) (Lit_Other "*") (-irix) (Lit_Other "*")}
                                  ]
                                  action: [
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (" ") ($ VSub_Name "$arg"))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (" ") ($ VSub_Name "$arg"))}
                                    )
                                  ]
                                  spids: [25321 25336 25359 -1]
                                )
                              ]
                              spids: [25312 25318 25362]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25299 25309 25368 -1]
                        )
                        (case_arm
                          pat_list: [{(-L) (Lit_Other "*")}]
                          action: [
                            (C {(func_stripname)} {(DQ (-L))} {(SQ )} {(DQ ($ VSub_Name "$arg"))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name "$func_stripname_result"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Pound "$#"))} {(-gt)} {(0)})
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ("require no space between ") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\`">
                                                  ) ("-L' and ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ($ VSub_Number "$1") ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 25418]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("need path for ") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\`">
                                              ) ("-L' option")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [25433 25445]
                                    )
                                  ]
                                  spids: [-1 25402]
                                )
                              ]
                              spids: [-1 25448]
                            )
                            (C {(func_resolve_sysroot)} {(DQ ($ VSub_Name "$func_stripname_result"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Name "$func_resolve_sysroot_result")}
                                  spids: [25458]
                                )
                              ]
                              spids: [25458]
                            )
                            (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: [25473 25490 25492 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        children: [
                                                          (C {(cd)} {(DQ ($ VSub_Name "$dir"))})
                                                          (C {(pwd)})
                                                        ]
                                                        op_id: Op_DAmp
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [25500 25510]
                                              )
                                            }
                                          spids: [25499]
                                        )
                                      ]
                                      spids: [25499]
                                    )
                                    (AndOr
                                      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") ("'")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$absdir"))}
                                          spids: [25535]
                                        )
                                      ]
                                      spids: [25535]
                                    )
                                  ]
                                  spids: [25495 25496 25541 -1]
                                )
                              ]
                              spids: [25466 25470 25544]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name "$deplibs") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" -L") ($ VSub_Name "$dir") (" ")) 
                                      (Lit_Other "*")
                                    }
                                    {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$arg") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  spids: [25557 25574 25581 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$dir")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "[") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\\\">
                                              ) (/) (Lit_Other "]") (Lit_Other "*")
                                            }
                                            {(Lit_Other "[") (A-Za-z) (Lit_Other "]") (Lit_Other ":") 
                                              (Lit_Other "[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (/) (Lit_Other "]") (Lit_Other "*")
                                            }
                                            {(Lit_Other "=") (Lit_Other "*")}
                                          ]
                                          action: [
                                            (C {(func_append)} {(deplibs)} 
                                              {(DQ (" ") ($ VSub_Name "$arg"))}
                                            )
                                          ]
                                          spids: [25599 25621 25632 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(deplibs)} 
                                              {(DQ (" -L") ($ VSub_Name "$dir"))}
                                            )
                                          ]
                                          spids: [25635 25636 25647 -1]
                                        )
                                      ]
                                      spids: [25592 25596 25650]
                                    )
                                    (C {(func_append)} {(lib_search_path)} 
                                      {(DQ (" ") ($ VSub_Name "$dir"))}
                                    )
                                  ]
                                  spids: [25584 25585 25663 -1]
                                )
                              ]
                              spids: [25547 25554 25666]
                            )
                            (Case
                              to_match: {($ VSub_Name "$host")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-cygwin) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-mingw) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-pw32) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-os2) (Lit_Other "*")}
                                    {(Lit_Other "*") (-cegcc) (Lit_Other "*")}
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:testbindir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {(DQ ($ VSub_Name "$dir"))}
                                                          )
                                                          (C {($ VSub_Name "$SED")} 
                                                            {(SQ <"s*/lib$*/bin*">)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [25715 25729]
                                              )
                                            }
                                          spids: [25714]
                                        )
                                      ]
                                      spids: [25714]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (":") ($ VSub_Name "$dir") (":")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [25741 25748 25750 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ":") (Lit_Other ":")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$dir")}
                                                  spids: [25757]
                                                )
                                              ]
                                              spids: [25757]
                                            )
                                          ]
                                          spids: [25753 25755 25759 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (":") ($ VSub_Name "$dir"))}
                                            )
                                          ]
                                          spids: [25762 25763 25773 -1]
                                        )
                                      ]
                                      spids: [25732 25738 25776]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") 
                                              (DQ (":") ($ VSub_Name "$testbindir") (":")) (Lit_Other "*")
                                            }
                                          ]
                                          spids: [25788 25795 25797 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ":") (Lit_Other ":")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$testbindir")}
                                                  spids: [25804]
                                                )
                                              ]
                                              spids: [25804]
                                            )
                                          ]
                                          spids: [25800 25802 25806 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (":") ($ VSub_Name "$testbindir"))}
                                            )
                                          ]
                                          spids: [25809 25810 25820 -1]
                                        )
                                      ]
                                      spids: [25779 25785 25823]
                                    )
                                  ]
                                  spids: [25676 25711 25826 -1]
                                )
                              ]
                              spids: [25669 25673 25829]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25372 25374 25835 -1]
                        )
                        (case_arm
                          pat_list: [{(-l) (Lit_Other "*")}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          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))}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$host")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-cygwin) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-mingw) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-pw32) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-beos) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-cegcc) (Lit_Other "*")}
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-haiku) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [25885 25928 25938 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-os2) (Lit_Other "*")}
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name "$arg"))} 
                                                  {(Lit_Other "=")} {(DQ (X-lc))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [25941 25946 25971 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-openbsd) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-freebsd) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-dragonfly) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name "$arg"))} 
                                                  {(Lit_Other "=")} {(DQ (X-lc))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [25974 25995 26020 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-rhapsody) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-darwin1.) 
                                              (Lit_Other "[") (012) (Lit_Other "]")
                                            }
                                          ]
                                          action: [
                                            (C {(func_append)} {(deplibs)} {(DQ (" System.ltframework"))})
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [26023 26038 26057 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sco3.2v5) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sco5v6) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name "$arg"))} 
                                                  {(Lit_Other "=")} {(DQ (X-lc))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [26060 26073 26098 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sysv4.2uw2) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sysv5) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-unixware) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-OpenUNIX) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name "$arg"))} 
                                                  {(Lit_Other "=")} {(DQ (X-lc))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [26101 26130 26155 -1]
                                        )
                                      ]
                                      spids: [25878 25882 26158]
                                    )
                                  ]
                                  spids: [-1 25875]
                                )
                                (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: [26187 26208 26218 -1]
                                        )
                                      ]
                                      spids: [26180 26184 26221]
                                    )
                                  ]
                                  spids: [26161 26177]
                                )
                              ]
                              spids: [-1 26224]
                            )
                            (C {(func_append)} {(deplibs)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25839 25841 26240 -1]
                        )
                        (case_arm
                          pat_list: [{(-module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:module)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [26248]
                                )
                              ]
                              spids: [26248]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26244 26245 26255 -1]
                        )
                        (case_arm
                          pat_list: [{(-model)} {(-arch)} {(-isysroot)} {(--sysroot)}]
                          action: [
                            (C {(func_append)} {(compiler_flags)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (C {(func_append)} {(compile_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (C {(func_append)} {(finalize_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcompiler)}
                                  spids: [26311]
                                )
                              ]
                              spids: [26311]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26271 26278 26318 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(-mt)}
                            {(-mthreads)}
                            {(-kthread)}
                            {(-Kthread)}
                            {(-pthread)}
                            {(-pthreads)}
                            {(--thread-safe)}
                            {(-threads)}
                          ]
                          action: [
                            (C {(func_append)} {(compiler_flags)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (C {(func_append)} {(compile_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (C {(func_append)} {(finalize_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (Case
                              to_match: {(DQ ($ VSub_Name "$new_inherited_linker_flags") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$arg") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  spids: [26380 26387 26389 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(new_inherited_linker_flags)} 
                                      {(DQ (" ") ($ VSub_Name "$arg"))}
                                    )
                                  ]
                                  spids: [26392 26394 26405 -1]
                                )
                              ]
                              spids: [26370 26377 26408]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26322 26337 26414 -1]
                        )
                        (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: [26422]
                                )
                              ]
                              spids: [26422]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26418 26419 26434 -1]
                        )
                        (case_arm
                          pat_list: [{(-no-fast-install)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:fast_install)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [26442]
                                )
                              ]
                              spids: [26442]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26438 26439 26449 -1]
                        )
                        (case_arm
                          pat_list: [{(-no-install)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$host")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-cygwin) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-mingw) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-pw32) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-os2) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-darwin) (Lit_Other "*")}
                                    {(Lit_Other "*") (-cegcc) (Lit_Other "*")}
                                  ]
                                  action: [
                                    (C {(func_warning)} 
                                      {
                                        (DQ (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: [26536]
                                        )
                                      ]
                                      spids: [26536]
                                    )
                                  ]
                                  spids: [26464 26507 26540 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:no_install)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [26546]
                                        )
                                      ]
                                      spids: [26546]
                                    )
                                  ]
                                  spids: [26543 26544 26549 -1]
                                )
                              ]
                              spids: [26457 26461 26552]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26453 26454 26558 -1]
                        )
                        (case_arm
                          pat_list: [{(-no-undefined)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:allow_undefined)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [26566]
                                )
                              ]
                              spids: [26566]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26562 26563 26573 -1]
                        )
                        (case_arm
                          pat_list: [{(-objectlist)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(objectlist)}
                                  spids: [26581]
                                )
                              ]
                              spids: [26581]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26577 26578 26588 -1]
                        )
                        (case_arm
                          pat_list: [{(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(output)}
                                  spids: [26595]
                                )
                              ]
                              spids: [26595]
                            )
                          ]
                          spids: [26592 26593 26598 -1]
                        )
                        (case_arm
                          pat_list: [{(-precious-files-regex)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(precious_regex)}
                                  spids: [26606]
                                )
                              ]
                              spids: [26606]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26602 26603 26613 -1]
                        )
                        (case_arm
                          pat_list: [{(-release)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(release)}
                                  spids: [26621]
                                )
                              ]
                              spids: [26621]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26617 26618 26628 -1]
                        )
                        (case_arm
                          pat_list: [{(-rpath)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(rpath)}
                                  spids: [26636]
                                )
                              ]
                              spids: [26636]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26632 26633 26643 -1]
                        )
                        (case_arm
                          pat_list: [{(-R)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xrpath)}
                                  spids: [26651]
                                )
                              ]
                              spids: [26651]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26647 26648 26658 -1]
                        )
                        (case_arm
                          pat_list: [{(-R) (Lit_Other "*")}]
                          action: [
                            (C {(func_stripname)} {(SQ <-R>)} {(SQ )} {(DQ ($ VSub_Name "$arg"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Name "$func_stripname_result")}
                                  spids: [26681]
                                )
                              ]
                              spids: [26681]
                            )
                            (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: [26696 26713 26715 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "=") (Lit_Other "*")}]
                                  action: [
                                    (C {(func_stripname)} {(SQ <"=">)} {(SQ )} {(DQ ($ VSub_Name "$dir"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name "$lt_sysroot") 
                                              ($ VSub_Name "$func_stripname_result")
                                            }
                                          spids: [26737]
                                        )
                                      ]
                                      spids: [26737]
                                    )
                                  ]
                                  spids: [26718 26720 26742 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {(DQ ("only absolute run-paths are allowed"))}
                                    )
                                  ]
                                  spids: [26745 26746 26756 -1]
                                )
                              ]
                              spids: [26689 26693 26759]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name "$xrpath") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$dir") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  spids: [26772 26779 26781 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(xrpath)} {(DQ (" ") ($ VSub_Name "$dir"))})
                                  ]
                                  spids: [26784 26785 26796 -1]
                                )
                              ]
                              spids: [26762 26769 26799]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26662 26664 26805 -1]
                        )
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [26809 26810 26820 -1]
                        )
                        (case_arm
                          pat_list: [{(-shrext)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(shrext)}
                                  spids: [26828]
                                )
                              ]
                              spids: [26828]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26824 26825 26835 -1]
                        )
                        (case_arm
                          pat_list: [{(-static)} {(-static-libtool-libs)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [26839 26844 26870 -1]
                        )
                        (case_arm
                          pat_list: [{(-thread-safe)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:thread_safe)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [26878]
                                )
                              ]
                              spids: [26878]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26874 26875 26885 -1]
                        )
                        (case_arm
                          pat_list: [{(-version-info)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [26893]
                                )
                              ]
                              spids: [26893]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26889 26890 26900 -1]
                        )
                        (case_arm
                          pat_list: [{(-version-number)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [26908]
                                )
                              ]
                              spids: [26908]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:vinfo_number)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [26912]
                                )
                              ]
                              spids: [26912]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26904 26905 26919 -1]
                        )
                        (case_arm
                          pat_list: [{(-weak)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(weak)}
                                  spids: [26927]
                                )
                              ]
                              spids: [26927]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26923 26924 26934 -1]
                        )
                        (case_arm
                          pat_list: [{(-Wc) (Lit_Comma ",") (Lit_Other "*")}]
                          action: [
                            (C {(func_stripname)} {(SQ <"-Wc,">)} {(SQ )} {(DQ ($ VSub_Name "$arg"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:args)
                                  op: Equal
                                  rhs: {($ VSub_Name "$func_stripname_result")}
                                  spids: [26958]
                                )
                              ]
                              spids: [26958]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [26962]
                                )
                              ]
                              spids: [26962]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$IFS"))}
                                      spids: [26965]
                                    )
                                  ]
                                  spids: [26965]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <",">)}
                                  spids: [26971]
                                )
                              ]
                              spids: [26971]
                            )
                            (ForEach
                              iter_name: flag
                              iter_words: [{($ VSub_Name "$args")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                          spids: [26989]
                                        )
                                      ]
                                      spids: [26989]
                                    )
                                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$flag"))})
                                    (C {(func_append)} {(arg)} 
                                      {(DQ (" ") ($ VSub_Name "$func_quote_for_eval_result"))}
                                    )
                                    (C {(func_append)} {(compiler_flags)} 
                                      {(DQ (" ") ($ VSub_Name "$func_quote_for_eval_result"))}
                                    )
                                  ]
                                  spids: [26986 27022]
                                )
                              spids: [26982 26984]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                  spids: [27025]
                                )
                              ]
                              spids: [27025]
                            )
                            (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: [27045]
                                )
                              ]
                              spids: [27045]
                            )
                          ]
                          spids: [26938 26941 27049 -1]
                        )
                        (case_arm
                          pat_list: [{(-Wl) (Lit_Comma ",") (Lit_Other "*")}]
                          action: [
                            (C {(func_stripname)} {(SQ <"-Wl,">)} {(SQ )} {(DQ ($ VSub_Name "$arg"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:args)
                                  op: Equal
                                  rhs: {($ VSub_Name "$func_stripname_result")}
                                  spids: [27073]
                                )
                              ]
                              spids: [27073]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [27077]
                                )
                              ]
                              spids: [27077]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$IFS"))}
                                      spids: [27080]
                                    )
                                  ]
                                  spids: [27080]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <",">)}
                                  spids: [27086]
                                )
                              ]
                              spids: [27086]
                            )
                            (ForEach
                              iter_name: flag
                              iter_words: [{($ VSub_Name "$args")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                          spids: [27104]
                                        )
                                      ]
                                      spids: [27104]
                                    )
                                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$flag"))})
                                    (C {(func_append)} {(arg)} 
                                      {
                                        (DQ (" ") ($ VSub_Name "$wl") 
                                          ($ VSub_Name "$func_quote_for_eval_result")
                                        )
                                      }
                                    )
                                    (C {(func_append)} {(compiler_flags)} 
                                      {
                                        (DQ (" ") ($ VSub_Name "$wl") 
                                          ($ VSub_Name "$func_quote_for_eval_result")
                                        )
                                      }
                                    )
                                    (C {(func_append)} {(linker_flags)} 
                                      {(DQ (" ") ($ VSub_Name "$func_quote_for_eval_result"))}
                                    )
                                  ]
                                  spids: [27101 27149]
                                )
                              spids: [27097 27099]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                  spids: [27152]
                                )
                              ]
                              spids: [27152]
                            )
                            (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: [27172]
                                )
                              ]
                              spids: [27172]
                            )
                          ]
                          spids: [27053 27056 27176 -1]
                        )
                        (case_arm
                          pat_list: [{(-Xcompiler)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcompiler)}
                                  spids: [27184]
                                )
                              ]
                              spids: [27184]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [27180 27181 27191 -1]
                        )
                        (case_arm
                          pat_list: [{(-Xlinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xlinker)}
                                  spids: [27199]
                                )
                              ]
                              spids: [27199]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [27195 27196 27206 -1]
                        )
                        (case_arm
                          pat_list: [{(-XCClinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcclinker)}
                                  spids: [27214]
                                )
                              ]
                              spids: [27214]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [27210 27211 27221 -1]
                        )
                        (case_arm
                          pat_list: [{(-msg_) (Lit_Other "*")}]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$arg"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$func_quote_for_eval_result"))}
                                  spids: [27241]
                                )
                              ]
                              spids: [27241]
                            )
                          ]
                          spids: [27229 27231 27247 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(-64)}
                            {(-mips) (Lit_Other "[") (0-9) (Lit_Other "]")}
                            {(-r) (Lit_Other "[") (0-9) (Lit_Other "]") (Lit_Other "[") (0-9) 
                              (Lit_Other "]") (Lit_Other "*")
                            }
                            {(-xarch) (Lit_Other "=") (Lit_Other "*")}
                            {(-xtarget) (Lit_Other "=") (Lit_Other "*")}
                            {(Lit_Other "+") (DA) (Lit_Other "*")}
                            {(Lit_Other "+") (DD) (Lit_Other "*")}
                            {(-q) (Lit_Other "*")}
                            {(-m) (Lit_Other "*")}
                            {(-t) (Lit_Other "[") (45) (Lit_Other "]") (Lit_Other "*")}
                            {(-txscale) (Lit_Other "*")}
                            {(-p)}
                            {(-pg)}
                            {(--coverage)}
                            {(-fprofile-) (Lit_Other "*")}
                            {(-F) (Lit_Other "*")}
                            {(Lit_Other "@") (Lit_Other "*")}
                            {(-tp) (Lit_Other "=") (Lit_Other "*")}
                            {(--sysroot) (Lit_Other "=") (Lit_Other "*")}
                            {(-O) (Lit_Other "*")}
                            {(-flto) (Lit_Other "*")}
                            {(-fwhopr) (Lit_Other "*")}
                            {(-fuse-linker-plugin)}
                          ]
                          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: [27399]
                                )
                              ]
                              spids: [27399]
                            )
                            (C {(func_append)} {(compile_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (C {(func_append)} {(finalize_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (C {(func_append)} {(compiler_flags)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [27303 27389 27438 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other "*")} {(Lit_Other "+") (Lit_Other "*")}]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$arg"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$func_quote_for_eval_result"))}
                                  spids: [27463]
                                )
                              ]
                              spids: [27463]
                            )
                          ]
                          spids: [27446 27453 27469 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.) ($ VSub_Name "$objext")}]
                          action: [(C {(func_append)} {(objs)} {(DQ (" ") ($ VSub_Name "$arg"))})]
                          spids: [27473 27476 27493 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.lo)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name "$arg"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:pic_object)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [27523]
                                        )
                                      ]
                                      spids: [27523]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:non_pic_object)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [27526]
                                        )
                                      ]
                                      spids: [27526]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name "$arg"))})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name "$pic_object"))})
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name "$non_pic_object"))}
                                                        )
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name "$pic_object"))} {(Lit_Other "=")} {(none)}
                                                            )
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name "$non_pic_object"))} {(Lit_Other "=")} {(none)}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ("cannot find name of object for ") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\`">
                                                  ) ($ VSub_Name "$arg") ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 27590]
                                        )
                                      ]
                                      spids: [-1 27603]
                                    )
                                    (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: [27625]
                                        )
                                      ]
                                      spids: [27625]
                                    )
                                    (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: [27653]
                                                )
                                              ]
                                              spids: [27653]
                                            )
                                            (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
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
"$build_libtool_libs"
                                                                          )
                                                                        )
                                                                      } {(Lit_Other "=")} {(yes)}
                                                                    )
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
"$dlopen_support"
                                                                          )
                                                                        )
                                                                      } {(Lit_Other "=")} {(yes)}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(func_append)} {(dlfiles)} 
                                                              {
                                                                (DQ (" ") ($ VSub_Name "$pic_object"))
                                                              }
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:prev)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [27715]
                                                                )
                                                              ]
                                                              spids: [27715]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [-1 27702]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:prev)
                                                              op: Equal
                                                              rhs: {(dlprefiles)}
                                                              spids: [27728]
                                                            )
                                                          ]
                                                          spids: [27728]
                                                        )
                                                      ]
                                                      spids: [27721 27732]
                                                    )
                                                  ]
                                                  spids: [-1 27674]
                                                )
                                              ]
                                              spids: [-1 27735]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name "$prev"))} 
                                                          {(Lit_Other "=")} {(dlprefiles)}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(dlprefiles)} 
                                                      {(DQ (" ") ($ VSub_Name "$pic_object"))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:prev)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [27773]
                                                        )
                                                      ]
                                                      spids: [27773]
                                                    )
                                                  ]
                                                  spids: [-1 27756]
                                                )
                                              ]
                                              spids: [-1 27776]
                                            )
                                            (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: [27794]
                                                )
                                              ]
                                              spids: [27794]
                                            )
                                          ]
                                          spids: [-1 27646]
                                        )
                                      ]
                                      spids: [-1 27800]
                                    )
                                    (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: [27829]
                                                )
                                              ]
                                              spids: [27829]
                                            )
                                            (C {(func_append)} {(non_pic_objects)} 
                                              {(DQ (" ") ($ VSub_Name "$non_pic_object"))}
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(-z)} 
                                                              {(DQ ($ VSub_Name "$pic_object"))}
                                                            )
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name "$pic_object"))} {(Lit_Other "=")} {(none)}
                                                            )
                                                          ]
                                                          op_id: Op_DPipe
                                                        )
                                                      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: [27878]
                                                        )
                                                      ]
                                                      spids: [27878]
                                                    )
                                                  ]
                                                  spids: [-1 27875]
                                                )
                                              ]
                                              spids: [-1 27884]
                                            )
                                          ]
                                          spids: [-1 27822]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:non_pic_object)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$pic_object"))}
                                              spids: [27898]
                                            )
                                          ]
                                          spids: [27898]
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (" ") ($ VSub_Name "$non_pic_object"))}
                                        )
                                      ]
                                      spids: [27887 27914]
                                    )
                                  ]
                                  spids: [-1 27520]
                                )
                              ]
                              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: [27950]
                                            )
                                          ]
                                          spids: [27950]
                                        )
                                        (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: [27964]
                                            )
                                          ]
                                          spids: [27964]
                                        )
                                        (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: [27971]
                                            )
                                          ]
                                          spids: [27971]
                                        )
                                        (C {(func_append)} {(libobjs)} 
                                          {(DQ (" ") ($ VSub_Name "$pic_object"))}
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (" ") ($ VSub_Name "$non_pic_object"))}
                                        )
                                      ]
                                      spids: [-1 27929]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                          ($ VSub_Name "$arg") ("' is not a valid libtool object")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [27996 28008]
                                )
                              ]
                              spids: [27917 28011]
                            )
                          ]
                          spids: [27497 27499 28014 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.) ($ VSub_Name "$libext")}]
                          action: [
                            (C {(func_append)} {(deplibs)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (C {(func_append)} {(old_deplibs)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [28018 28021 28051 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.la)}]
                          action: [
                            (C {(func_resolve_sysroot)} {(DQ ($ VSub_Name "$arg"))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$prev"))} {(Lit_Other "=")} 
                                          {(dlfiles)}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(dlfiles)} 
                                      {(DQ (" ") ($ VSub_Name "$func_resolve_sysroot_result"))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [28102]
                                        )
                                      ]
                                      spids: [28102]
                                    )
                                  ]
                                  spids: [-1 28085]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$prev"))} {(Lit_Other "=")} 
                                          {(dlprefiles)}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(dlprefiles)} 
                                      {(DQ (" ") ($ VSub_Name "$func_resolve_sysroot_result"))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [28135]
                                        )
                                      ]
                                      spids: [28135]
                                    )
                                  ]
                                  spids: [28105 28118]
                                )
                              ]
                              else_action: [
                                (C {(func_append)} {(deplibs)} 
                                  {(DQ (" ") ($ VSub_Name "$func_resolve_sysroot_result"))}
                                )
                              ]
                              spids: [28138 28151]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [28055 28057 28157 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$arg"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$func_quote_for_eval_result"))}
                                  spids: [28184]
                                )
                              ]
                              spids: [28184]
                            )
                          ]
                          spids: [28165 28166 28190 -1]
                        )
                      ]
                      spids: [25025 25029 28193]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$arg"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(func_append)} {(compile_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (C {(func_append)} {(finalize_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                          ]
                          spids: [-1 28215]
                        )
                      ]
                      spids: [-1 28238]
                    )
                  ]
                  spids: [23461 28241]
                )
            )
            (AndOr
              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")
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name "$export_dynamic"))} {(Lit_Other "=")} {(yes)})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$export_dynamic_flag_spec"))})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(eval)} 
                      {(Lit_VarLike "arg=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                        ($ VSub_Name "$export_dynamic_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                      }
                    )
                    (C {(func_append)} {(compile_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                    (C {(func_append)} {(finalize_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                  ]
                  spids: [-1 28294]
                )
              ]
              spids: [-1 28325]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:oldlibs) op:Equal rhs:{(SQ )} spids:[28329])]
              spids: [28329]
            )
            (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: [28343]
                )
              ]
              spids: [28343]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs_save)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$libobjs"))}
                  spids: [28349]
                )
              ]
              spids: [28349]
            )
            (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: [-1 28367]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:shlib_search_path)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [28406]
                    )
                  ]
                  spids: [28406]
                )
              ]
              spids: [28403 28409]
            )
            (C {(eval)} 
              {(Lit_VarLike "sys_lib_search_path=") 
                (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$sys_lib_search_path_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
              }
            )
            (C {(eval)} 
              {(Lit_VarLike "sys_lib_dlsearch_path=") 
                (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$sys_lib_dlsearch_path_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
              }
            )
            (C {(func_dirname)} {(DQ ($ VSub_Name "$output"))} {(DQ (/))} {(DQ )})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:output_objdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$func_dirname_result") ($ VSub_Name "$objdir"))}
                  spids: [28443]
                )
              ]
              spids: [28443]
            )
            (C {(func_to_tool_file)} {(DQ ($ VSub_Name "$output_objdir") (/))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tool_output_objdir)
                  op: Equal
                  rhs: {($ VSub_Name "$func_to_tool_file_result")}
                  spids: [28458]
                )
              ]
              spids: [28458]
            )
            (C {(func_mkdir_p)} {(DQ ($ VSub_Name "$output_objdir"))})
            (Case
              to_match: {($ VSub_Name "$output")}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [(C {(func_fatal_help)} {(DQ ("you must specify an output file"))})]
                  spids: [-1 28487 28497 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (.) ($ VSub_Name "$libext")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(oldlib)}
                          spids: [28505]
                        )
                      ]
                      spids: [28505]
                    )
                  ]
                  spids: [28500 28503 28508 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (.lo)} {(Lit_Other "*") (.) ($ VSub_Name "$objext")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(obj)}
                          spids: [28521]
                        )
                      ]
                      spids: [28521]
                    )
                  ]
                  spids: [28511 28519 28524 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (.la)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(lib)}
                          spids: [28531]
                        )
                      ]
                      spids: [28531]
                    )
                  ]
                  spids: [28527 28529 28534 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(prog)}
                          spids: [28540]
                        )
                      ]
                      spids: [28540]
                    )
                  ]
                  spids: [28537 28538 28543 -1]
                )
              ]
              spids: [28478 28482 28549]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:specialdeplibs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28553]
                )
              ]
              spids: [28553]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(SQ )} spids:[28557])]
              spids: [28557]
            )
            (ForEach
              iter_name: deplib
              iter_words: [{($ VSub_Name "$deplibs")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name "$opt_preserve_dup_deps")})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Case
                              to_match: {(DQ ($ VSub_Name "$libs") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$deplib") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  action: [
                                    (C {(func_append)} {(specialdeplibs)} 
                                      {(DQ (" ") ($ VSub_Name "$deplib"))}
                                    )
                                  ]
                                  spids: [28599 28606 28617 -1]
                                )
                              ]
                              spids: [28589 28596 28620]
                            )
                          ]
                          spids: [-1 28586]
                        )
                      ]
                      spids: [-1 28623]
                    )
                    (C {(func_append)} {(libs)} {(DQ (" ") ($ VSub_Name "$deplib"))})
                  ]
                  spids: [28577 28636]
                )
              spids: [28573 28575]
            )
            (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: [28656]
                        )
                      ]
                      spids: [28656]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [28681]
                        )
                      ]
                      spids: [28681]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name "$opt_duplicate_compiler_generated_deps")})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: pre_post_dep
                              iter_words: [{($ VSub_Name "$predeps")} {($ VSub_Name "$postdeps")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {(DQ ($ VSub_Name "$pre_post_deps") (" "))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") 
                                              (DQ (" ") ($ VSub_Name "$pre_post_dep") (" ")) (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (C {(func_append)} {(specialdeplibs)} 
                                              {(DQ (" ") ($ VSub_Name "$pre_post_deps"))}
                                            )
                                          ]
                                          spids: [28716 28723 28734 -1]
                                        )
                                      ]
                                      spids: [28706 28713 28737]
                                    )
                                    (C {(func_append)} {(pre_post_deps)} 
                                      {(DQ (" ") ($ VSub_Name "$pre_post_dep"))}
                                    )
                                  ]
                                  spids: [28703 28750]
                                )
                              spids: [28697 28701]
                            )
                          ]
                          spids: [-1 28689]
                        )
                      ]
                      spids: [-1 28753]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [28756]
                        )
                      ]
                      spids: [28756]
                    )
                  ]
                  spids: [-1 28653]
                )
              ]
              spids: [-1 28759]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:deplibs) op:Equal rhs:{(SQ )} spids:[28763])]
              spids: [28763]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newdependency_libs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28766]
                )
              ]
              spids: [28766]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newlib_search_path)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28769]
                )
              ]
              spids: [28769]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:need_relink) op:Equal rhs:{(no)} spids:[28772])]
              spids: [28772]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_deplibs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28779]
                )
              ]
              spids: [28779]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_path)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28785]
                )
              ]
              spids: [28785]
            )
            (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: [28803]
                        )
                      ]
                      spids: [28803]
                    )
                    (ForEach
                      iter_name: file
                      iter_words: [{($ VSub_Name "$dlfiles")} {($ VSub_Name "$dlprefiles")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name "$file")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (.la)}]
                                  spids: [28830 28832 28834 -1]
                                )
                                (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: [28837 28838 28851 -1]
                                )
                              ]
                              spids: [28823 28827 28854]
                            )
                          ]
                          spids: [28820 28857]
                        )
                      spids: [28814 28818]
                    )
                  ]
                  spids: [28799 28800 28860 -1]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [28867]
                        )
                      ]
                      spids: [28867]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_deplibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [28870]
                        )
                      ]
                      spids: [28870]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:alldeplibs)
                          op: Equal
                          rhs: {(no)}
                          spids: [28873]
                        )
                      ]
                      spids: [28873]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlfiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [28877]
                        )
                      ]
                      spids: [28877]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlprefiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [28880]
                        )
                      ]
                      spids: [28880]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ ("conv scan dlopen dlpreopen link"))}
                          spids: [28883]
                        )
                      ]
                      spids: [28883]
                    )
                  ]
                  spids: [28863 28864 28889 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ (conv))}
                          spids: [28895]
                        )
                      ]
                      spids: [28895]
                    )
                  ]
                  spids: [28892 28893 28901 -1]
                )
              ]
              spids: [28792 28796 28904]
            )
            (ForEach
              iter_name: pass
              iter_words: [{($ VSub_Name "$passes")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(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: {(SQ )}
                                  spids: [28956]
                                )
                              ]
                              spids: [28956]
                            )
                            (ForEach
                              iter_name: deplib
                              iter_words: [{($ VSub_Name "$deplibs")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                ($ VSub_Name "$tmp_deplibs")
                                              )
                                            }
                                          spids: [28971]
                                        )
                                      ]
                                      spids: [28971]
                                    )
                                  ]
                                  spids: [28968 28979]
                                )
                              spids: [28964 28966]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$tmp_deplibs"))}
                                  spids: [28982]
                                )
                              ]
                              spids: [28982]
                            )
                          ]
                          spids: [-1 28945]
                        )
                      ]
                      spids: [-1 28988]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  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"))}
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$deplibs"))}
                                  spids: [29029]
                                )
                              ]
                              spids: [29029]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [29035]
                                )
                              ]
                              spids: [29035]
                            )
                          ]
                          spids: [-1 29026]
                        )
                      ]
                      spids: [-1 29038]
                    )
                    (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: [29067]
                                        )
                                      ]
                                      spids: [29067]
                                    )
                                  ]
                                  spids: [29064 29065 29072 -1]
                                )
                                (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: [29078]
                                        )
                                      ]
                                      spids: [29078]
                                    )
                                  ]
                                  spids: [29075 29076 29083 -1]
                                )
                                (case_arm
                                  pat_list: [{(link)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$deplibs") (" %DEPLIBS% ") 
                                                ($ VSub_Name "$dependency_libs")
                                              )
                                            }
                                          spids: [29089]
                                        )
                                      ]
                                      spids: [29089]
                                    )
                                  ]
                                  spids: [29086 29087 29096 -1]
                                )
                              ]
                              spids: [29057 29061 29099]
                            )
                          ]
                          spids: [-1 29054]
                        )
                      ]
                      spids: [-1 29102]
                    )
                    (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: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dependency_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29145]
                                        )
                                      ]
                                      spids: [29145]
                                    )
                                    (C {(func_resolve_sysroot)} {(DQ ($ VSub_Name "$lib"))})
                                    (Case
                                      to_match: {($ VSub_Name "$lib")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other "*") (.la)}]
                                          action: [
                                            (C {(func_source)} 
                                              {(DQ ($ VSub_Name "$func_resolve_sysroot_result"))}
                                            )
                                          ]
                                          spids: [29162 29164 29172 -1]
                                        )
                                      ]
                                      spids: [29155 29159 29175]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name "$dependency_libs")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_basename)} {(DQ ($ VSub_Name "$deplib"))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplib_base)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$func_basename_result")}
                                                  spids: [29206]
                                                )
                                              ]
                                              spids: [29206]
                                            )
                                            (Case
                                              to_match: {(DQ (" ") ($ VSub_Name "$weak_libs") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$deplib_base") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [29221 29228 29230 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(deplibs)} 
                                                      {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                    )
                                                  ]
                                                  spids: [29233 29234 29245 -1]
                                                )
                                              ]
                                              spids: [29210 29218 29248]
                                            )
                                          ]
                                          spids: [29196 29251]
                                        )
                                      spids: [29192 29194]
                                    )
                                  ]
                                  spids: [29138 29254]
                                )
                              spids: [29134 29136]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$dlprefiles"))}
                                  spids: [29257]
                                )
                              ]
                              spids: [29257]
                            )
                          ]
                          spids: [-1 29122]
                        )
                      ]
                      spids: [-1 29263]
                    )
                    (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: [29286]
                                )
                              ]
                              spids: [29286]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [29292]
                                )
                              ]
                              spids: [29292]
                            )
                          ]
                          spids: [-1 29279]
                        )
                      ]
                      spids: [-1 29295]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name "$libs")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [29311]
                                )
                              ]
                              spids: [29311]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:found)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [29314]
                                )
                              ]
                              spids: [29314]
                            )
                            (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: [29363]
                                                )
                                              ]
                                              spids: [29363]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$finalize_deplibs")
                                                      )
                                                    }
                                                  spids: [29371]
                                                )
                                              ]
                                              spids: [29371]
                                            )
                                          ]
                                          spids: [-1 29360]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_append)} {(compiler_flags)} 
                                          {(DQ (" ") ($ VSub_Name "$deplib"))}
                                        )
                                        (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: [29419 29426 29428 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} 
                                                          {(new_inherited_linker_flags)} {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                        )
                                                      ]
                                                      spids: [29431 29433 29444 -1]
                                                    )
                                                  ]
                                                  spids: [29409 29416 29447]
                                                )
                                              ]
                                              spids: [-1 29406]
                                            )
                                          ]
                                          spids: [-1 29450]
                                        )
                                      ]
                                      spids: [29379 29453]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29325 29340 29459 -1]
                                )
                                (case_arm
                                  pat_list: [{(-l) (Lit_Other "*")}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                      {(KW_Bang "!") (Lit_Other "=")} {(lib)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                      {(KW_Bang "!") (Lit_Other "=")} {(prog)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                                  ("-l' is ignored for archives/objects")
                                                )
                                              }
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [-1 29494]
                                        )
                                      ]
                                      spids: [-1 29508]
                                    )
                                    (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: [29525]
                                        )
                                      ]
                                      spids: [29525]
                                    )
                                    (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: [29545]
                                                )
                                              ]
                                              spids: [29545]
                                            )
                                          ]
                                          spids: [-1 29542]
                                        )
                                      ]
                                      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: [29562]
                                            )
                                          ]
                                          spids: [29562]
                                        )
                                      ]
                                      spids: [29559 29574]
                                    )
                                    (ForEach
                                      iter_name: searchdir
                                      iter_words: [{($ VSub_Name "$searchdirs")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (ForEach
                                              iter_name: search_ext
                                              iter_words: [
                                                {(.la)}
                                                {($ VSub_Name "$std_shrext")}
                                                {(.so)}
                                                {(.a)}
                                              ]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$searchdir") (/lib) 
                                                                (${ VSub_Name name) (${ VSub_Name search_ext)
                                                              )
                                                            }
                                                          spids: [29611]
                                                        )
                                                      ]
                                                      spids: [29611]
                                                    )
                                                    (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: [29656]
                                                                        )
                                                                      ]
                                                                      spids: [29656]
                                                                    )
                                                                  ]
                                                                  spids: [-1 29653]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:found)
                                                                      op: Equal
                                                                      rhs: {(no)}
                                                                      spids: [29663]
                                                                    )
                                                                  ]
                                                                  spids: [29663]
                                                                )
                                                              ]
                                                              spids: [29660 29667]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                              arg_word: {(2)}
                                                            )
                                                          ]
                                                          spids: [-1 29635]
                                                        )
                                                      ]
                                                      spids: [-1 29675]
                                                    )
                                                  ]
                                                  spids: [29604 29678]
                                                )
                                              spids: [29594 29602]
                                            )
                                          ]
                                          spids: [29586 29681]
                                        )
                                      spids: [29582 29584]
                                    )
                                    (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: [29725]
                                                        )
                                                      ]
                                                      spids: [29725]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                                ($ VSub_Name "$finalize_deplibs")
                                                              )
                                                            }
                                                          spids: [29733]
                                                        )
                                                      ]
                                                      spids: [29733]
                                                    )
                                                  ]
                                                  spids: [-1 29722]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$deplib") (" ") 
                                                            ($ VSub_Name "$deplibs")
                                                          )
                                                        }
                                                      spids: [29744]
                                                    )
                                                  ]
                                                  spids: [29744]
                                                )
                                                (AndOr
                                                  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: [29764]
                                                        )
                                                      ]
                                                      spids: [29764]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              spids: [29741 29772]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [-1 29698]
                                        )
                                      ]
                                      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: {(SQ )}
                                                                      spids: [29847]
                                                                    )
                                                                  ]
                                                                  spids: [29847]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:old_library)
                                                                      op: Equal
                                                                      rhs: {(SQ )}
                                                                      spids: [29850]
                                                                    )
                                                                  ]
                                                                  spids: [29850]
                                                                )
                                                                (C {(func_source)} 
                                                                  {(DQ ($ VSub_Name "$lib"))}
                                                                )
                                                                (ForEach
                                                                  iter_name: l
                                                                  iter_words: [
                                                                    {($ VSub_Name "$old_library")}
                                                                    {($ VSub_Name "$library_names")}
                                                                  ]
                                                                  do_arg_iter: False
                                                                  body: 
                                                                    (DoGroup
                                                                      children: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: (LhsName name:ll)
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name "$l")
                                                                                  )
                                                                                }
                                                                              spids: [29874]
                                                                            )
                                                                          ]
                                                                          spids: [29874]
                                                                        )
                                                                      ]
                                                                      spids: [29871 29880]
                                                                    )
                                                                  spids: [29865 29869]
                                                                )
                                                                (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: [29907]
                                                                            )
                                                                          ]
                                                                          spids: [29907]
                                                                        )
                                                                        (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: [29925]
                                                                            )
                                                                          ]
                                                                          spids: [29925]
                                                                        )
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: (LhsName name:lib)
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  ($ VSub_Name 
"$ladir"
                                                                                  ) (/) ($ VSub_Name "$old_library")
                                                                                }
                                                                              spids: [29931]
                                                                            )
                                                                          ]
                                                                          spids: [29931]
                                                                        )
                                                                        (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: [29957]
                                                                                    )
                                                                                  ]
                                                                                  spids: [29957]
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
finalize_deplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name "$deplib"
                                                                                            ) (" ") ($ VSub_Name "$finalize_deplibs")
                                                                                          )
                                                                                        }
                                                                                      spids: [29965]
                                                                                    )
                                                                                  ]
                                                                                  spids: [29965]
                                                                                )
                                                                              ]
                                                                              spids: [-1 29954]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: deplibs
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$deplib"
                                                                                        ) (" ") ($ VSub_Name "$deplibs")
                                                                                      )
                                                                                    }
                                                                                  spids: [29976]
                                                                                )
                                                                              ]
                                                                              spids: [29976]
                                                                            )
                                                                            (AndOr
                                                                              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: [29996]
                                                                                    )
                                                                                  ]
                                                                                  spids: [29996]
                                                                                )
                                                                              ]
                                                                              op_id: Op_DAmp
                                                                            )
                                                                          ]
                                                                          spids: [29973 30004]
                                                                        )
                                                                        (ControlFlow
                                                                          token: 
                                                                            <ControlFlow_Continue 
continue
                                                                            >
                                                                        )
                                                                      ]
                                                                      spids: [-1 29901]
                                                                    )
                                                                  ]
                                                                  spids: [-1 30010]
                                                                )
                                                              ]
                                                              spids: [-1 29844]
                                                            )
                                                          ]
                                                          spids: [-1 30013]
                                                        )
                                                      ]
                                                      spids: [29825 29832 30016 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      spids: [30019 30020 30022 -1]
                                                    )
                                                  ]
                                                  spids: [29812 29822 30025]
                                                )
                                              ]
                                              spids: [-1 29809]
                                            )
                                          ]
                                          spids: [-1 30028]
                                        )
                                      ]
                                      spids: [29778 30031]
                                    )
                                  ]
                                  spids: [29462 29464 30034 -1]
                                )
                                (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: [30065]
                                                )
                                              ]
                                              spids: [30065]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$finalize_deplibs")
                                                      )
                                                    }
                                                  spids: [30073]
                                                )
                                              ]
                                              spids: [30073]
                                            )
                                          ]
                                          spids: [-1 30062]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$deplib") (" ") 
                                                    ($ VSub_Name "$deplibs")
                                                  )
                                                }
                                              spids: [30084]
                                            )
                                          ]
                                          spids: [30084]
                                        )
                                        (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: [30119 30126 30128 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} 
                                                          {(new_inherited_linker_flags)} {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                        )
                                                      ]
                                                      spids: [30131 30133 30144 -1]
                                                    )
                                                  ]
                                                  spids: [30109 30116 30147]
                                                )
                                              ]
                                              spids: [-1 30106]
                                            )
                                          ]
                                          spids: [-1 30150]
                                        )
                                      ]
                                      spids: [30081 30153]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30040 30042 30159 -1]
                                )
                                (case_arm
                                  pat_list: [{(-L) (Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$linkmode")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(lib)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$deplibs")
                                                      )
                                                    }
                                                  spids: [30178]
                                                )
                                              ]
                                              spids: [30178]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ ($ VSub_Name "$pass"))} 
                                                  {(Lit_Other "=")} {(conv)}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$newdependency_libs")
                                                      )
                                                    }
                                                  spids: [30201]
                                                )
                                              ]
                                              spids: [30201]
                                            )
                                            (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                              {(DQ ($ VSub_Name "$deplib"))}
                                            )
                                            (C {(func_resolve_sysroot)} 
                                              {(DQ ($ VSub_Name "$func_stripname_result"))}
                                            )
                                            (C {(func_append)} {(newlib_search_path)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$func_resolve_sysroot_result"))
                                              }
                                            )
                                          ]
                                          spids: [30174 30175 30240 -1]
                                        )
                                        (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: [30263]
                                                        )
                                                      ]
                                                      spids: [30263]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [-1 30260]
                                                )
                                              ]
                                              spids: [-1 30274]
                                            )
                                            (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: [30293]
                                                        )
                                                      ]
                                                      spids: [30293]
                                                    )
                                                  ]
                                                  spids: [-1 30290]
                                                )
                                              ]
                                              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: [30304]
                                                    )
                                                  ]
                                                  spids: [30304]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$deplib") (" ") 
                                                            ($ VSub_Name "$finalize_deplibs")
                                                          )
                                                        }
                                                      spids: [30312]
                                                    )
                                                  ]
                                                  spids: [30312]
                                                )
                                              ]
                                              spids: [30301 30320]
                                            )
                                            (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                              {(DQ ($ VSub_Name "$deplib"))}
                                            )
                                            (C {(func_resolve_sysroot)} 
                                              {(DQ ($ VSub_Name "$func_stripname_result"))}
                                            )
                                            (C {(func_append)} {(newlib_search_path)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$func_resolve_sysroot_result"))
                                              }
                                            )
                                          ]
                                          spids: [30243 30244 30354 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                                  ("-L' is ignored for archives/objects")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [30357 30358 30369 -1]
                                        )
                                      ]
                                      spids: [30167 30171 30372]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30162 30164 30381 -1]
                                )
                                (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"))}
                                            )
                                            (C {(func_resolve_sysroot)} 
                                              {(DQ ($ VSub_Name "$func_stripname_result"))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$func_resolve_sysroot_result")}
                                                  spids: [30429]
                                                )
                                              ]
                                              spids: [30429]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_Name "$xrpath") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$dir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [30447 30454 30456 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(xrpath)} 
                                                      {(DQ (" ") ($ VSub_Name "$dir"))}
                                                    )
                                                  ]
                                                  spids: [30459 30460 30471 -1]
                                                )
                                              ]
                                              spids: [30437 30444 30474]
                                            )
                                          ]
                                          spids: [-1 30405]
                                        )
                                      ]
                                      spids: [-1 30477]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                ($ VSub_Name "$deplibs")
                                              )
                                            }
                                          spids: [30480]
                                        )
                                      ]
                                      spids: [30480]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30387 30389 30491 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (.la)}]
                                  action: [
                                    (C {(func_resolve_sysroot)} {(DQ ($ VSub_Name "$deplib"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: {($ VSub_Name "$func_resolve_sysroot_result")}
                                          spids: [30506]
                                        )
                                      ]
                                      spids: [30506]
                                    )
                                  ]
                                  spids: [30494 30496 30510 -1]
                                )
                                (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: [30535]
                                                )
                                              ]
                                              spids: [30535]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [-1 30532]
                                        )
                                      ]
                                      spids: [-1 30546]
                                    )
                                    (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: [30579 30586 30588 -1]
                                                )
                                                (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: [30595]
                                                        )
                                                      ]
                                                      spids: [30595]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {($ VSub_Name "$deplibs_check_method")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(match_pattern) (Lit_Other "*")}]
                                                          action: [
                                                            (Sentence
                                                              child: 
                                                                (C {(set)} {(dummy)} 
                                                                  {
                                                                    ($ VSub_Name 
"$deplibs_check_method"
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                            (C {(shift)})
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: match_pattern_regex
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(expr)} 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
"$deplibs_check_method"
                                                                                    )
                                                                                  )
                                                                                } {(Lit_Other ":")} 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Number 
"$1"
                                                                                    ) (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (".*") 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar "\\)"
                                                                                        >
                                                                                    )
                                                                                  )
                                                                                }
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick "`">
                                                                        spids: [30622 30638]
                                                                      )
                                                                    }
                                                                  spids: [30621]
                                                                )
                                                              ]
                                                              spids: [30621]
                                                            )
                                                            (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: [30653]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (C {($ VSub_Name "$SED")} 
                                                                              {(10q)}
                                                                            )
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {
                                                                                  ($ VSub_Name 
"$EGREP"
                                                                                  )
                                                                                }
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
"$match_pattern_regex"
                                                                                    )
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                  spids: [30672]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          negated: False
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: valid_a_lib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(yes)}
                                                                          spids: [30680]
                                                                        )
                                                                      ]
                                                                      spids: [30680]
                                                                    )
                                                                  ]
                                                                  spids: [-1 30677]
                                                                )
                                                              ]
                                                              spids: [-1 30684]
                                                            )
                                                          ]
                                                          spids: [30606 30608 30687 -1]
                                                        )
                                                        (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: [30694]
                                                                )
                                                              ]
                                                              spids: [30694]
                                                            )
                                                          ]
                                                          spids: [30690 30691 30698 -1]
                                                        )
                                                      ]
                                                      spids: [30599 30603 30701]
                                                    )
                                                    (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: [-1 30718]
                                                        )
                                                      ]
                                                      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: [30794]
                                                            )
                                                          ]
                                                          spids: [30794]
                                                        )
                                                      ]
                                                      spids: [30770 30802]
                                                    )
                                                  ]
                                                  spids: [30591 30592 30805 -1]
                                                )
                                              ]
                                              spids: [30568 30576 30808]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [30556 30557 30814 -1]
                                        )
                                        (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: [30838]
                                                        )
                                                      ]
                                                      spids: [30838]
                                                    )
                                                  ]
                                                  spids: [-1 30835]
                                                )
                                              ]
                                              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: [30849]
                                                    )
                                                  ]
                                                  spids: [30849]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$deplib") (" ") 
                                                            ($ VSub_Name "$finalize_deplibs")
                                                          )
                                                        }
                                                      spids: [30857]
                                                    )
                                                  ]
                                                  spids: [30857]
                                                )
                                              ]
                                              spids: [30846 30865]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [30817 30818 30871 -1]
                                        )
                                      ]
                                      spids: [30549 30553 30874]
                                    )
                                  ]
                                  spids: [30513 30516 30880 -1]
                                )
                                (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: [30913]
                                                )
                                              ]
                                              spids: [30913]
                                            )
                                          ]
                                          spids: [-1 30910]
                                        )
                                        (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
                                                          children: [
                                                            (C {(test)} {(DQ ($ VSub_Name "$pass"))} 
                                                              {(Lit_Other "=")} {(dlpreopen)}
                                                            )
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name "$dlopen_support")
                                                                    )
                                                                  } {(KW_Bang "!") (Lit_Other "=")} {(yes)}
                                                                )
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
"$build_libtool_libs"
                                                                      )
                                                                    )
                                                                  } {(Lit_Other "=")} {(no)}
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          ]
                                                          op_id: Op_DPipe
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(newdlprefiles)} 
                                                      {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:compile_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                                ($ VSub_Name "$compile_deplibs")
                                                              )
                                                            }
                                                          spids: [30996]
                                                        )
                                                      ]
                                                      spids: [30996]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                                ($ VSub_Name "$finalize_deplibs")
                                                              )
                                                            }
                                                          spids: [31004]
                                                        )
                                                      ]
                                                      spids: [31004]
                                                    )
                                                  ]
                                                  spids: [-1 30975]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlfiles)} 
                                                  {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                )
                                              ]
                                              spids: [31012 31025]
                                            )
                                          ]
                                          spids: [30921 30934]
                                        )
                                      ]
                                      spids: [-1 31028]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30886 30894 31034 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "%") (DEPLIBS) (Lit_Other "%")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:alldeplibs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [31043]
                                        )
                                      ]
                                      spids: [31043]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [31037 31040 31050 -1]
                                )
                              ]
                              spids: [29318 29322 31053]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name "$found"))} {(Lit_Other "=")} 
                                              {(yes)}
                                            )
                                            (C {(test)} {(-f)} {(DQ ($ VSub_Name "$lib"))})
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [(C {(Lit_Other ":")})]
                                  spids: [-1 31083]
                                )
                              ]
                              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: [31088 31104]
                            )
                            (AndOr
                              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")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(func_dirname)} {(DQ ($ VSub_Name "$lib"))} {(DQ )} {(DQ (.))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ladir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$func_dirname_result"))}
                                  spids: [31146]
                                )
                              ]
                              spids: [31146]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31153]
                                )
                              ]
                              spids: [31153]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlopen)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31156]
                                )
                              ]
                              spids: [31156]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlpreopen)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31159]
                                )
                              ]
                              spids: [31159]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31162]
                                )
                              ]
                              spids: [31162]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31165]
                                )
                              ]
                              spids: [31165]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31168]
                                )
                              ]
                              spids: [31168]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:inherited_linker_flags)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31171]
                                )
                              ]
                              spids: [31171]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:installed)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [31182]
                                )
                              ]
                              spids: [31182]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shouldnotlink)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [31186]
                                )
                              ]
                              spids: [31186]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoidtemprpath)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31190]
                                )
                              ]
                              spids: [31190]
                            )
                            (C {(func_source)} {(DQ ($ VSub_Name "$lib"))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$inherited_linker_flags"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_inherited_linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
"$inherited_linker_flags"
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name "$SED")} 
                                                            {
                                                              (SQ 
                                                                <
"s/-framework \\([^ $]*\\)/\\1.ltframework/g"
                                                                >
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [31226 31240]
                                              )
                                            }
                                          spids: [31225]
                                        )
                                      ]
                                      spids: [31225]
                                    )
                                    (ForEach
                                      iter_name: tmp_inherited_linker_flag
                                      iter_words: [{($ VSub_Name "$tmp_inherited_linker_flags")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") 
                                                    ($ VSub_Name "$new_inherited_linker_flags") (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") 
                                                        ($ VSub_Name "$tmp_inherited_linker_flag") (" ")
                                                      ) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [31266 31273 31275 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(new_inherited_linker_flags)} 
                                                      {
                                                        (DQ (" ") 
                                                          ($ VSub_Name "$tmp_inherited_linker_flag")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [31278 31279 31289 -1]
                                                )
                                              ]
                                              spids: [31255 31263 31292]
                                            )
                                          ]
                                          spids: [31252 31295]
                                        )
                                      spids: [31248 31250]
                                    )
                                  ]
                                  spids: [-1 31222]
                                )
                              ]
                              spids: [-1 31298]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dependency_libs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (" ") ($ VSub_Name "$dependency_libs"))}
                                                  )
                                                  (C {($ VSub_Name "$SED")} 
                                                    {
                                                      (SQ 
                                                        <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [31302 31317]
                                      )
                                    }
                                  spids: [31301]
                                )
                              ]
                              spids: [31301]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} 
                                              {
                                                (DQ ($ VSub_Name "$linkmode") (",") 
                                                  ($ VSub_Name "$pass")
                                                )
                                              } {(Lit_Other "=")} {(DQ ("lib,link"))}
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} 
                                                  {
                                                    (DQ ($ VSub_Name "$linkmode") (",") 
                                                      ($ VSub_Name "$pass")
                                                    )
                                                  } {(Lit_Other "=")} {(DQ ("prog,scan"))}
                                                )
                                                (BraceGroup
                                                  children: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                              {(KW_Bang "!") (Lit_Other "=")} {(prog)}
                                                            )
                                                            (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                              {(KW_Bang "!") (Lit_Other "=")} {(lib)}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  spids: [31356]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dlopen"))})
                                        (C {(func_append)} {(dlfiles)} 
                                          {(DQ (" ") ($ VSub_Name "$dlopen"))}
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dlpreopen"))})
                                        (C {(func_append)} {(dlprefiles)} 
                                          {(DQ (" ") ($ VSub_Name "$dlpreopen"))}
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 31386]
                                )
                              ]
                              spids: [-1 31429]
                            )
                            (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: [31453]
                                        )
                                      ]
                                      spids: [31453]
                                    )
                                    (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: [-1 31486]
                                                )
                                              ]
                                              spids: [-1 31499]
                                            )
                                            (C {(func_append)} {(convenience)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$ladir") (/) 
                                                  ($ VSub_Name "$objdir") (/) ($ VSub_Name "$old_library")
                                                )
                                              }
                                            )
                                            (C {(func_append)} {(old_convenience)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$ladir") (/) 
                                                  ($ VSub_Name "$objdir") (/) ($ VSub_Name "$old_library")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 31472]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                      {(KW_Bang "!") (Lit_Other "=")} {(prog)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                      {(KW_Bang "!") (Lit_Other "=")} {(lib)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                                  ($ VSub_Name "$lib") ("' is not a convenience library")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [31534 31561]
                                        )
                                      ]
                                      spids: [-1 31573]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [31576]
                                        )
                                      ]
                                      spids: [31576]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name "$dependency_libs")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$deplibs")
                                                      )
                                                    }
                                                  spids: [31591]
                                                )
                                              ]
                                              spids: [31591]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {($ VSub_Name "$opt_preserve_dup_deps")})
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {(DQ ($ VSub_Name "$tmp_libs") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$deplib") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [
                                                            (C {(func_append)} {(specialdeplibs)} 
                                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                            )
                                                          ]
                                                          spids: [31618 31625 31636 -1]
                                                        )
                                                      ]
                                                      spids: [31608 31615 31639]
                                                    )
                                                  ]
                                                  spids: [-1 31605]
                                                )
                                              ]
                                              spids: [-1 31642]
                                            )
                                            (C {(func_append)} {(tmp_libs)} 
                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                            )
                                          ]
                                          spids: [31588 31655]
                                        )
                                      spids: [31584 31586]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 31446]
                                )
                              ]
                              spids: [-1 31661]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linklib)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31673]
                                )
                              ]
                              spids: [31673]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$old_library"))})
                                            (BraceGroup
                                              children: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name "$prefer_static_libs"))} {(Lit_Other "=")} {(yes)}
                                                        )
                                                        (C {(test)} 
                                                          {
                                                            (DQ ($ VSub_Name "$prefer_static_libs") 
                                                              (",") ($ VSub_Name "$installed")
                                                            )
                                                          } {(Lit_Other "=")} {(DQ ("built,no"))}
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  terminator: <Op_Semi ";">
                                                )
                                              ]
                                              spids: [31689]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linklib)
                                          op: Equal
                                          rhs: {($ VSub_Name "$old_library")}
                                          spids: [31725]
                                        )
                                      ]
                                      spids: [31725]
                                    )
                                  ]
                                  spids: [-1 31722]
                                )
                              ]
                              else_action: [
                                (ForEach
                                  iter_name: l
                                  iter_words: [
                                    {($ VSub_Name "$old_library")}
                                    {($ VSub_Name "$library_names")}
                                  ]
                                  do_arg_iter: False
                                  body: 
                                    (DoGroup
                                      children: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:linklib)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$l"))}
                                              spids: [31746]
                                            )
                                          ]
                                          spids: [31746]
                                        )
                                      ]
                                      spids: [31743 31752]
                                    )
                                  spids: [31737 31741]
                                )
                              ]
                              spids: [31729 31755]
                            )
                            (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: [-1 31769]
                                )
                              ]
                              spids: [-1 31782]
                            )
                            (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: [-1 31817]
                                        )
                                      ]
                                      spids: [-1 31830]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name "$dlname"))})
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name "$dlopen_support"))} {(KW_Bang "!") (Lit_Other "=")} {(yes)}
                                                        )
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name "$build_libtool_libs"))} {(Lit_Other "=")} {(no)}
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_append)} {(dlprefiles)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$lib") (" ") 
                                                  ($ VSub_Name "$dependency_libs")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 31871]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_append)} {(newdlfiles)} 
                                          {(DQ (" ") ($ VSub_Name "$lib"))}
                                        )
                                      ]
                                      spids: [31902 31915]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 31803]
                                )
                              ]
                              spids: [-1 31921]
                            )
                            (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: [31958]
                                        )
                                      ]
                                      spids: [31958]
                                    )
                                  ]
                                  spids: [31939 31956 31963 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:abs_ladir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        children: [
                                                          (C {(cd)} {(DQ ($ VSub_Name "$ladir"))})
                                                          (C {(pwd)})
                                                        ]
                                                        op_id: Op_DAmp
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [31971 31981]
                                              )
                                            }
                                          spids: [31970]
                                        )
                                      ]
                                      spids: [31970]
                                    )
                                    (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: [32015]
                                                )
                                              ]
                                              spids: [32015]
                                            )
                                          ]
                                          spids: [-1 31995]
                                        )
                                      ]
                                      spids: [-1 32021]
                                    )
                                  ]
                                  spids: [31966 31967 32024 -1]
                                )
                              ]
                              spids: [31932 31936 32027]
                            )
                            (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: [32037]
                                )
                              ]
                              spids: [32037]
                            )
                            (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
                                                  children: [
                                                    (C {(test)} {(KW_Bang "!")} {(-f)} 
                                                      {
                                                        (DQ ($ VSub_Name "$lt_sysroot") 
                                                          ($ VSub_Name "$libdir") (/) ($ VSub_Name "$linklib")
                                                        )
                                                      }
                                                    )
                                                    (C {(test)} {(-f)} 
                                                      {
                                                        (DQ ($ VSub_Name "$abs_ladir") (/) 
                                                          ($ VSub_Name "$linklib")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ ("library ") 
                                                  (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: [32106]
                                                )
                                              ]
                                              spids: [32106]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:absdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$abs_ladir"))}
                                                  spids: [32112]
                                                )
                                              ]
                                              spids: [32112]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$abs_ladir"))}
                                                  spids: [32118]
                                                )
                                              ]
                                              spids: [32118]
                                            )
                                          ]
                                          spids: [-1 32093]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$lt_sysroot") 
                                                    ($ VSub_Name "$libdir")
                                                  )
                                                }
                                              spids: [32127]
                                            )
                                          ]
                                          spids: [32127]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$lt_sysroot") 
                                                    ($ VSub_Name "$libdir")
                                                  )
                                                }
                                              spids: [32134]
                                            )
                                          ]
                                          spids: [32134]
                                        )
                                      ]
                                      spids: [32124 32141]
                                    )
                                    (AndOr
                                      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: [32157]
                                            )
                                          ]
                                          spids: [32157]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 32062]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(KW_Bang "!")} {(-f)} 
                                                  {
                                                    (DQ ($ VSub_Name "$ladir") (/) 
                                                      ($ VSub_Name "$objdir") (/) ($ VSub_Name "$linklib")
                                                    )
                                                  }
                                                )
                                                (C {(test)} {(-f)} 
                                                  {
                                                    (DQ ($ VSub_Name "$abs_ladir") (/) 
                                                      ($ VSub_Name "$linklib")
                                                    )
                                                  }
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$ladir"))}
                                              spids: [32196]
                                            )
                                          ]
                                          spids: [32196]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$abs_ladir"))}
                                              spids: [32202]
                                            )
                                          ]
                                          spids: [32202]
                                        )
                                        (C {(func_append)} {(notinst_path)} 
                                          {(DQ (" ") ($ VSub_Name "$abs_ladir"))}
                                        )
                                      ]
                                      spids: [-1 32193]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: 
                                            {(DQ ($ VSub_Name "$ladir") (/) ($ VSub_Name "$objdir"))}
                                          spids: [32225]
                                        )
                                      ]
                                      spids: [32225]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$abs_ladir") (/) 
                                                ($ VSub_Name "$objdir")
                                              )
                                            }
                                          spids: [32233]
                                        )
                                      ]
                                      spids: [32233]
                                    )
                                    (C {(func_append)} {(notinst_path)} 
                                      {(DQ (" ") ($ VSub_Name "$abs_ladir"))}
                                    )
                                  ]
                                  spids: [32222 32255]
                                )
                              ]
                              spids: [32161 32258]
                            )
                            (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: [32279]
                                )
                              ]
                              spids: [32279]
                            )
                            (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
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name "$libdir"))})
                                                    (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                      {(Lit_Other "=")} {(prog)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ 
                                                  (
"only libraries may -dlpreopen a convenience library: "
                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ($ VSub_Name "$lib") ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 32327]
                                        )
                                      ]
                                      spids: [-1 32340]
                                    )
                                    (Case
                                      to_match: {(DQ ($ VSub_Name "$host"))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (cygwin) (Lit_Other "*")}
                                            {(Lit_Other "*") (mingw) (Lit_Other "*")}
                                            {(Lit_Other "*") (cegcc) (Lit_Other "*")}
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dlname"))})
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_tr_sh)} 
                                                      {
                                                        (DQ ($ VSub_Name "$dir") (/) 
                                                          ($ VSub_Name "$linklib")
                                                        )
                                                      }
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ (libfile_) 
                                                          ($ VSub_Name "$func_tr_sh_result") ("=") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (abs_ladir/) 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar "\\$">
                                                          ) (laname)
                                                        )
                                                      }
                                                    )
                                                    (C {(func_append)} {(newdlprefiles)} 
                                                      {
                                                        (DQ (" ") ($ VSub_Name "$dir") (/) 
                                                          ($ VSub_Name "$linklib")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 32418]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {
                                                    (DQ (" ") ($ VSub_Name "$dir") (/) 
                                                      ($ VSub_Name "$old_library")
                                                    )
                                                  }
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name "$libdir"))})
                                                    (C {(func_append)} {(dlpreconveniencelibs)} 
                                                      {
                                                        (DQ (" ") ($ VSub_Name "$dir") (/) 
                                                          ($ VSub_Name "$old_library")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              spids: [32455 32502]
                                            )
                                          ]
                                          spids: [32356 32372 32505 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name "$old_library"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(newdlprefiles)} 
                                                      {
                                                        (DQ (" ") ($ VSub_Name "$dir") (/) 
                                                          ($ VSub_Name "$old_library")
                                                        )
                                                      }
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name "$libdir"))})
                                                        (C {(func_append)} {(dlpreconveniencelibs)} 
                                                          {
                                                            (DQ (" ") ($ VSub_Name "$dir") (/) 
                                                              ($ VSub_Name "$old_library")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 32532]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dlname"))})
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(newdlprefiles)} 
                                                      {
                                                        (DQ (" ") ($ VSub_Name "$dir") (/) 
                                                          ($ VSub_Name "$dlname")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [32583 32594]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {
                                                    (DQ (" ") ($ VSub_Name "$dir") (/) 
                                                      ($ VSub_Name "$linklib")
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [32609 32624]
                                            )
                                          ]
                                          spids: [32508 32510 32627 -1]
                                        )
                                      ]
                                      spids: [32343 32349 32630]
                                    )
                                  ]
                                  spids: [-1 32301]
                                )
                              ]
                              spids: [-1 32633]
                            )
                            (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: [32674]
                                                )
                                              ]
                                              spids: [32674]
                                            )
                                          ]
                                          spids: [-1 32671]
                                        )
                                        (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: [32704]
                                                )
                                              ]
                                              spids: [32704]
                                            )
                                            (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: [32714]
                                                )
                                              ]
                                              spids: [32714]
                                            )
                                          ]
                                          spids: [32684 32701]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$lib") (" ") 
                                                    ($ VSub_Name "$deplibs")
                                                  )
                                                }
                                              spids: [32727]
                                            )
                                          ]
                                          spids: [32727]
                                        )
                                      ]
                                      spids: [32724 32738]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 32651]
                                )
                              ]
                              spids: [-1 32744]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                              {(Lit_Other "=")} {(prog)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name "$pass"))} 
                                              {(KW_Bang "!") (Lit_Other "=")} {(link)}
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(newlib_search_path)} 
                                      {(DQ (" ") ($ VSub_Name "$ladir"))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$lib") (" ") ($ VSub_Name "$deplibs"))
                                            }
                                          spids: [32788]
                                        )
                                      ]
                                      spids: [32788]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linkalldeplibs)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [32797]
                                        )
                                      ]
                                      spids: [32797]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name "$link_all_deplibs"))} 
                                                      {(KW_Bang "!") (Lit_Other "=")} {(no)}
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name "$library_names"))}
                                                        )
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name "$build_libtool_libs"))} {(Lit_Other "=")} {(no)}
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linkalldeplibs)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [32841]
                                                )
                                              ]
                                              spids: [32841]
                                            )
                                          ]
                                          spids: [-1 32838]
                                        )
                                      ]
                                      spids: [-1 32845]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [32849]
                                        )
                                      ]
                                      spids: [32849]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name "$dependency_libs")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name "$deplib")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-L) (Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                                      {(DQ ($ VSub_Name "$deplib"))}
                                                    )
                                                    (C {(func_resolve_sysroot)} 
                                                      {(DQ ($ VSub_Name "$func_stripname_result"))}
                                                    )
                                                    (C {(func_append)} {(newlib_search_path)} 
                                                      {
                                                        (DQ (" ") 
                                                          ($ VSub_Name "$func_resolve_sysroot_result")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [32871 32873 32906 -1]
                                                )
                                              ]
                                              spids: [32864 32868 32909]
                                            )
                                            (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: [32932]
                                                        )
                                                      ]
                                                      spids: [32932]
                                                    )
                                                  ]
                                                  spids: [-1 32929]
                                                )
                                              ]
                                              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: [32951]
                                                    )
                                                  ]
                                                  spids: [32951]
                                                )
                                              ]
                                              spids: [32940 32959]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {($ VSub_Name "$opt_preserve_dup_deps")})
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {(DQ ($ VSub_Name "$tmp_libs") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$deplib") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [
                                                            (C {(func_append)} {(specialdeplibs)} 
                                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                            )
                                                          ]
                                                          spids: [32981 32988 32999 -1]
                                                        )
                                                      ]
                                                      spids: [32971 32978 33002]
                                                    )
                                                  ]
                                                  spids: [-1 32968]
                                                )
                                              ]
                                              spids: [-1 33005]
                                            )
                                            (C {(func_append)} {(tmp_libs)} 
                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                            )
                                          ]
                                          spids: [32861 33018]
                                        )
                                      spids: [32857 32859]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 32775]
                                )
                              ]
                              spids: [-1 33027]
                            )
                            (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
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$library_names"))}
                                                    )
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (BraceGroup
                                                                  children: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          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"))}
                                                                            )
                                                                          ]
                                                                          op_id: Op_DPipe
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  spids: [33069]
                                                                )
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name "$old_library"))}
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      spids: [33067]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name "$shlibpath_var"))}
                                                            )
                                                            (C {(test)} {(-z)} 
                                                              {(DQ ($ VSub_Name "$avoidtemprpath"))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name "$temp_rpath") (":"))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ ($ VSub_Name "$absdir") (":")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          spids: [33162 33168 33170 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(temp_rpath)} 
                                                              {(DQ ($ VSub_Name "$absdir") (":"))}
                                                            )
                                                          ]
                                                          spids: [33173 33174 33185 -1]
                                                        )
                                                      ]
                                                      spids: [33152 33159 33188]
                                                    )
                                                  ]
                                                  spids: [-1 33145]
                                                )
                                              ]
                                              spids: [-1 33191]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") ($ VSub_Name "$sys_lib_dlsearch_path") 
                                                    (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$absdir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [33218 33225 33227 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name "$compile_rpath") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$absdir") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          spids: [33244 33251 33253 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(compile_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$absdir"))}
                                                            )
                                                          ]
                                                          spids: [33256 33257 33268 -1]
                                                        )
                                                      ]
                                                      spids: [33234 33241 33271]
                                                    )
                                                  ]
                                                  spids: [33230 33231 33274 -1]
                                                )
                                              ]
                                              spids: [33207 33215 33277]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") ($ VSub_Name "$sys_lib_dlsearch_path") 
                                                    (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$libdir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [33291 33298 33300 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name "$finalize_rpath") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$libdir") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          spids: [33317 33324 33326 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                                            )
                                                          ]
                                                          spids: [33329 33330 33341 -1]
                                                        )
                                                      ]
                                                      spids: [33307 33314 33344]
                                                    )
                                                  ]
                                                  spids: [33303 33304 33347 -1]
                                                )
                                              ]
                                              spids: [33280 33288 33350]
                                            )
                                          ]
                                          spids: [-1 33116]
                                        )
                                      ]
                                      spids: [-1 33353]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name "$alldeplibs"))} 
                                                      {(Lit_Other "=")} {(yes)}
                                                    )
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
"$deplibs_check_method"
                                                                      )
                                                                    )
                                                                  } {(Lit_Other "=")} {(pass_all)}
                                                                )
                                                                (BraceGroup
                                                                  children: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          children: [
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
"$build_libtool_libs"
                                                                                  )
                                                                                )
                                                                              } {(Lit_Other "=")} {(yes)}
                                                                            )
                                                                            (C {(test)} {(-n)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
"$library_names"
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          op_id: Op_DAmp
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  spids: [33390]
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      spids: [33375]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [-1 33420]
                                        )
                                      ]
                                      spids: [-1 33430]
                                    )
                                  ]
                                  spids: [-1 33051]
                                )
                              ]
                              spids: [-1 33433]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_static)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [33437]
                                )
                              ]
                              spids: [33437]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:use_static_libs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$prefer_static_libs")}
                                  spids: [33444]
                                )
                              ]
                              spids: [33444]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name "$use_static_libs"))} 
                                              {(Lit_Other "=")} {(built)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name "$installed"))} 
                                              {(Lit_Other "=")} {(yes)}
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:use_static_libs)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [33476]
                                        )
                                      ]
                                      spids: [33476]
                                    )
                                  ]
                                  spids: [-1 33473]
                                )
                              ]
                              spids: [-1 33480]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$library_names"))})
                                            (BraceGroup
                                              children: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name "$use_static_libs"))} {(Lit_Other "=")} {(no)}
                                                        )
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name "$old_library"))}
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  terminator: <Op_Semi ";">
                                                )
                                              ]
                                              spids: [33496]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$host")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (cygwin) (Lit_Other "*")}
                                            {(Lit_Other "*") (mingw) (Lit_Other "*")}
                                            {(Lit_Other "*") (cegcc) (Lit_Other "*")}
                                          ]
                                          action: [
                                            (C {(func_append)} {(notinst_deplibs)} 
                                              {(DQ (" ") ($ VSub_Name "$lib"))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:need_relink)
                                                  op: Equal
                                                  rhs: {(no)}
                                                  spids: [33564]
                                                )
                                              ]
                                              spids: [33564]
                                            )
                                          ]
                                          spids: [33532 33547 33568 -1]
                                        )
                                        (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: [
                                                    (C {(func_append)} {(notinst_deplibs)} 
                                                      {(DQ (" ") ($ VSub_Name "$lib"))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:need_relink)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [33601]
                                                        )
                                                      ]
                                                      spids: [33601]
                                                    )
                                                  ]
                                                  spids: [-1 33588]
                                                )
                                              ]
                                              spids: [-1 33605]
                                            )
                                          ]
                                          spids: [33571 33572 33608 -1]
                                        )
                                      ]
                                      spids: [33525 33529 33611]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlopenmodule)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [33627]
                                        )
                                      ]
                                      spids: [33627]
                                    )
                                    (ForEach
                                      iter_name: dlpremoduletest
                                      iter_words: [{($ VSub_Name "$dlprefiles")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ (X) ($ VSub_Name "$dlpremoduletest"))} {(Lit_Other "=")} {(DQ (X) ($ VSub_Name "$lib"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlopenmodule)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name "$dlpremoduletest"))}
                                                          spids: [33664]
                                                        )
                                                      ]
                                                      spids: [33664]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [-1 33661]
                                                )
                                              ]
                                              spids: [-1 33673]
                                            )
                                          ]
                                          spids: [33641 33676]
                                        )
                                      spids: [33637 33639]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name "$dlopenmodule"))}
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} 
                                                          {(DQ ($ VSub_Name "$shouldnotlink"))} {(Lit_Other "=")} {(yes)}
                                                        )
                                                        (C {(test)} {(DQ ($ VSub_Name "$pass"))} 
                                                          {(Lit_Other "=")} {(link)}
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              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: [-1 33733]
                                                )
                                              ]
                                              else_action: [
                                                (C {($ VSub_Name "$ECHO")} 
                                                  {
                                                    (DQ ("*** Warning: Linking the shared library ") 
                                                      ($ VSub_Name "$output") (" against the loadable module")
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [33745 33757]
                                            )
                                            (C {($ VSub_Name "$ECHO")} 
                                              {
                                                (DQ ("*** ") ($ VSub_Name "$linklib") 
                                                  (" is not portable!")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 33714]
                                        )
                                      ]
                                      spids: [-1 33769]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                      {(Lit_Other "=")} {(lib)}
                                                    )
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name "$hardcode_into_libs"))} {(Lit_Other "=")} {(yes)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") ($ VSub_Name "$sys_lib_dlsearch_path") 
                                                    (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$absdir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [33824 33831 33833 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name "$compile_rpath") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$absdir") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          spids: [33850 33857 33859 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(compile_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$absdir"))}
                                                            )
                                                          ]
                                                          spids: [33862 33863 33874 -1]
                                                        )
                                                      ]
                                                      spids: [33840 33847 33877]
                                                    )
                                                  ]
                                                  spids: [33836 33837 33880 -1]
                                                )
                                              ]
                                              spids: [33813 33821 33883]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") ($ VSub_Name "$sys_lib_dlsearch_path") 
                                                    (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$libdir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [33897 33904 33906 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name "$finalize_rpath") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$libdir") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          spids: [33923 33930 33932 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                                            )
                                                          ]
                                                          spids: [33935 33936 33947 -1]
                                                        )
                                                      ]
                                                      spids: [33913 33920 33950]
                                                    )
                                                  ]
                                                  spids: [33909 33910 33953 -1]
                                                )
                                              ]
                                              spids: [33886 33894 33956]
                                            )
                                          ]
                                          spids: [-1 33798]
                                        )
                                      ]
                                      spids: [-1 33959]
                                    )
                                    (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: [33991]
                                                )
                                              ]
                                              spids: [33991]
                                            )
                                            (C {(shift)})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libname)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (C {(eval)} 
                                                                {
                                                                  (DQ 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar "\\\\">
                                                                    ) ($ VSub_Name "$ECHO") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                                                    ($ VSub_Name "$libname_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [34001 34012]
                                                      )
                                                    }
                                                  spids: [34000]
                                                )
                                              ]
                                              spids: [34000]
                                            )
                                            (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: [34033]
                                                        )
                                                      ]
                                                      spids: [34033]
                                                    )
                                                  ]
                                                  spids: [-1 34030]
                                                )
                                                (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: [34090]
                                                                )
                                                              ]
                                                              spids: [34090]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:versuffix)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-) ($ VSub_Name "$major"))}
                                                                  spids: [34094]
                                                                )
                                                              ]
                                                              spids: [34094]
                                                            )
                                                          ]
                                                          spids: [34064 34078 34101 -1]
                                                        )
                                                      ]
                                                      spids: [34057 34061 34104]
                                                    )
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "soname=") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\\"">
                                                        ) ($ VSub_Name "$soname_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                      }
                                                    )
                                                  ]
                                                  spids: [34039 34050]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:soname)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name "$realname"))}
                                                      spids: [34118]
                                                    )
                                                  ]
                                                  spids: [34118]
                                                )
                                              ]
                                              spids: [34115 34124]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:soroot)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$soname"))}
                                                  spids: [34132]
                                                )
                                              ]
                                              spids: [34132]
                                            )
                                            (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: [34145]
                                                )
                                              ]
                                              spids: [34145]
                                            )
                                            (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: [34166]
                                                )
                                              ]
                                              spids: [34166]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-f)} 
                                                          {
                                                            (DQ ($ VSub_Name "$output_objdir") (/) 
                                                              ($ VSub_Name "$soname") (-def)
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [(C {(Lit_Other ":")})]
                                                  spids: [-1 34191]
                                                )
                                              ]
                                              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: [34196 34220]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-f)} 
                                                          {
                                                            (DQ ($ VSub_Name "$output_objdir") (/) 
                                                              ($ VSub_Name "$newlib")
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (Sentence
                                                      child: (C {(Lit_Other ":")})
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  spids: [-1 34241]
                                                )
                                              ]
                                              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: [34246 34270]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$output_objdir")}
                                                  spids: [34277]
                                                )
                                              ]
                                              spids: [34277]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linklib)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$newlib")}
                                                  spids: [34281]
                                                )
                                              ]
                                              spids: [34281]
                                            )
                                          ]
                                          spids: [-1 33974]
                                        )
                                      ]
                                      spids: [-1 34285]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                      {(Lit_Other "=")} {(prog)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name "$opt_mode"))} 
                                                      {(KW_Bang "!") (Lit_Other "=")} {(relink)}
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_shlibpath)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [34321]
                                                )
                                              ]
                                              spids: [34321]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [34324]
                                                )
                                              ]
                                              spids: [34324]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [34327]
                                                )
                                              ]
                                              spids: [34327]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib_linked)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [34330]
                                                )
                                              ]
                                              spids: [34330]
                                            )
                                            (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: [34365]
                                                                )
                                                              ]
                                                              spids: [34365]
                                                            )
                                                            (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: [34390]
                                                                        )
                                                                      ]
                                                                      spids: [34390]
                                                                    )
                                                                  ]
                                                                  spids: [34380 34388 34396 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (-) 
                                                                      (Lit_Other "*") (-sysv4) (Lit_Other "*") (uw2) (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:add_dir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ (-L) 
                                                                                ($ VSub_Name "$dir")
                                                                              )
                                                                            }
                                                                          spids: [34408]
                                                                        )
                                                                      ]
                                                                      spids: [34408]
                                                                    )
                                                                  ]
                                                                  spids: [34399 34406 34414 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (-) 
                                                                      (Lit_Other "*") (-sysv5OpenUNIX) (Lit_Other "*")
                                                                    }
                                                                    {(Lit_Other "*") (-) 
                                                                      (Lit_Other "*") (-sysv5UnixWare7.) (Lit_Other "[") (01) (Lit_Other "]") (.) (Lit_Other "[") (10) (Lit_Other "]") 
                                                                      (Lit_Other "*")
                                                                    }
                                                                    {(Lit_Other "*") (-) 
                                                                      (Lit_Other "*") (-unixware7) (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:add_dir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ (-L) 
                                                                                ($ VSub_Name "$dir")
                                                                              )
                                                                            }
                                                                          spids: [34449]
                                                                        )
                                                                      ]
                                                                      spids: [34449]
                                                                    )
                                                                  ]
                                                                  spids: [34417 34447 34455 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") (-) 
                                                                      (Lit_Other "*") (-darwin) (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (Pipeline
                                                                                  children: [
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          (
/usr/bin/file
                                                                                          )
                                                                                        }
                                                                                        {(-L)}
                                                                                        {
                                                                                          ($ 
VSub_Name "$add"
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: 2
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
34483
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          ($ 
VSub_Name "$GREP"
                                                                                          )
                                                                                        }
                                                                                        {
                                                                                          (DQ 
                                                                                            (
": [^:]* bundle"
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: -1
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
34496
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  negated: False
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ";">
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (C {(test)} 
                                                                                          {
                                                                                            (DQ (X) 
                                                                                              ($ 
VSub_Name "$dlopenmodule"
                                                                                              )
                                                                                            )
                                                                                          } {(KW_Bang "!") (Lit_Other "=")} {(DQ (X) ($ VSub_Name "$lib"))}
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
";"
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (C 
                                                                                      {
                                                                                        ($ VSub_Name 
"$ECHO"
                                                                                        )
                                                                                      } {(DQ ("*** Warning: lib ") ($ VSub_Name "$linklib") (" is a module, not a shared library"))}
                                                                                    )
                                                                                    (If
                                                                                      arms: [
                                                                                        (if_arm
                                                                                          cond: [
                                                                                            (Sentence
                                                                                              child: 
                                                                                                (C 
                                                                                                  {
                                                                                                    (
test
                                                                                                    )
                                                                                                  } {(-z)} {(DQ ($ VSub_Name "$old_library"))}
                                                                                                )
                                                                                              terminator: 
                                                                                                <
Op_Semi ";"
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          action: [
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {(DQ ("*** And there doesn't seem to be a static archive available"))}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {(DQ ("*** The link will probably fail, sorry"))}
                                                                                            )
                                                                                          ]
                                                                                          spids: [
-1
34546
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      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: [
34569
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
34569
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
34566
34577
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 34522]
                                                                                )
                                                                                (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: [
34594
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [34594]
                                                                                    )
                                                                                  ]
                                                                                  spids: [34580 34591]
                                                                                )
                                                                              ]
                                                                              spids: [-1 34602]
                                                                            )
                                                                          ]
                                                                          spids: [-1 34501]
                                                                        )
                                                                      ]
                                                                      spids: [-1 34605]
                                                                    )
                                                                  ]
                                                                  spids: [34458 34464 -1 34608]
                                                                )
                                                              ]
                                                              spids: [34373 34377 34608]
                                                            )
                                                          ]
                                                          spids: [-1 34362]
                                                        )
                                                        (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: [34641]
                                                                        )
                                                                      ]
                                                                      spids: [34641]
                                                                    )
                                                                  ]
                                                                  spids: [34634 34639 34646 -1]
                                                                )
                                                              ]
                                                              spids: [34627 34631 34649]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(DQ (-L) ($ VSub_Name "$dir"))}
                                                                  spids: [34652]
                                                                )
                                                              ]
                                                              spids: [34652]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name "$name"))}
                                                                  spids: [34659]
                                                                )
                                                              ]
                                                              spids: [34659]
                                                            )
                                                          ]
                                                          spids: [34611 34624]
                                                        )
                                                        (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: [34682]
                                                                )
                                                              ]
                                                              spids: [34682]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name "$name"))}
                                                                  spids: [34688]
                                                                )
                                                              ]
                                                              spids: [34688]
                                                            )
                                                          ]
                                                          spids: [34666 34679]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [34698]
                                                            )
                                                          ]
                                                          spids: [34698]
                                                        )
                                                      ]
                                                      spids: [34695 34702]
                                                    )
                                                  ]
                                                  spids: [34341 34346 34705 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(relink)}]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
"$hardcode_direct"
                                                                          )
                                                                        )
                                                                      } {(Lit_Other "=")} {(yes)}
                                                                    )
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
"$hardcode_direct_absolute"
                                                                          )
                                                                        )
                                                                      } {(Lit_Other "=")} {(no)}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              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: [34741]
                                                                )
                                                              ]
                                                              spids: [34741]
                                                            )
                                                          ]
                                                          spids: [-1 34738]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
"$hardcode_minus_L"
                                                                      )
                                                                    )
                                                                  } {(Lit_Other "=")} {(yes)}
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(DQ (-L) ($ VSub_Name "$dir"))}
                                                                  spids: [34765]
                                                                )
                                                              ]
                                                              spids: [34765]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-n)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
"$inst_prefix_dir"
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name "$libdir")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "[") 
                                                                              (EscapedLiteralPart
                                                                                token: 
                                                                                  <Lit_EscapedChar 
"\\\\"
                                                                                  >
                                                                              ) (/) (Lit_Other "]") (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (C {(func_append)} 
                                                                              {(add_dir)} {(DQ (" -L") ($ VSub_Name "$inst_prefix_dir") ($ VSub_Name "$libdir"))}
                                                                            )
                                                                          ]
                                                                          spids: [34797 34802 34816 -1]
                                                                        )
                                                                      ]
                                                                      spids: [34790 34794 34819]
                                                                    )
                                                                  ]
                                                                  spids: [-1 34787]
                                                                )
                                                              ]
                                                              spids: [-1 34822]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name "$name"))}
                                                                  spids: [34825]
                                                                )
                                                              ]
                                                              spids: [34825]
                                                            )
                                                          ]
                                                          spids: [34749 34762]
                                                        )
                                                        (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: [34848]
                                                                )
                                                              ]
                                                              spids: [34848]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name "$name"))}
                                                                  spids: [34854]
                                                                )
                                                              ]
                                                              spids: [34854]
                                                            )
                                                          ]
                                                          spids: [34832 34845]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [34864]
                                                            )
                                                          ]
                                                          spids: [34864]
                                                        )
                                                      ]
                                                      spids: [34861 34868]
                                                    )
                                                  ]
                                                  spids: [34708 34709 34871 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib_linked)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [34877]
                                                        )
                                                      ]
                                                      spids: [34877]
                                                    )
                                                  ]
                                                  spids: [34874 34875 34880 -1]
                                                )
                                              ]
                                              spids: [34334 34338 34883]
                                            )
                                            (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: [-1 34901]
                                                )
                                              ]
                                              spids: [-1 34911]
                                            )
                                            (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: [34938 34945 34947 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(compile_shlibpath)} 
                                                              {
                                                                (DQ ($ VSub_Name "$add_shlibpath") 
                                                                  (":")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [34950 34951 34962 -1]
                                                        )
                                                      ]
                                                      spids: [34929 34935 34965]
                                                    )
                                                  ]
                                                  spids: [-1 34926]
                                                )
                                              ]
                                              spids: [-1 34968]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                          {(Lit_Other "=")} {(prog)}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name "$add_dir"))}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:compile_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name "$add_dir") (" ") 
                                                                    ($ VSub_Name "$compile_deplibs")
                                                                  )
                                                                }
                                                              spids: [34997]
                                                            )
                                                          ]
                                                          spids: [34997]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$add"))})
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:compile_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name "$add") (" ") 
                                                                    ($ VSub_Name "$compile_deplibs")
                                                                  )
                                                                }
                                                              spids: [35015]
                                                            )
                                                          ]
                                                          spids: [35015]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 34984]
                                                )
                                              ]
                                              else_action: [
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$add_dir"))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$add_dir") (" ") 
                                                                ($ VSub_Name "$deplibs")
                                                              )
                                                            }
                                                          spids: [35036]
                                                        )
                                                      ]
                                                      spids: [35036]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$add"))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$add") (" ") 
                                                                ($ VSub_Name "$deplibs")
                                                              )
                                                            }
                                                          spids: [35054]
                                                        )
                                                      ]
                                                      spids: [35054]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name "$hardcode_direct")
                                                                    )
                                                                  } {(KW_Bang "!") (Lit_Other "=")} {(yes)}
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
"$hardcode_minus_L"
                                                                          )
                                                                        )
                                                                      } {(KW_Bang "!") (Lit_Other "=")} {(yes)}
                                                                    )
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
"$hardcode_shlibpath_var"
                                                                          )
                                                                        )
                                                                      } {(Lit_Other "=")} {(yes)}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      action: [
                                                        (Case
                                                          to_match: 
                                                            {(Lit_Other ":") 
                                                              ($ VSub_Name "$finalize_shlibpath") (Lit_Other ":")
                                                            }
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [
                                                                {(Lit_Other "*") 
                                                                  (DQ (":") ($ VSub_Name "$libdir") 
                                                                    (":")
                                                                  ) (Lit_Other "*")
                                                                }
                                                              ]
                                                              spids: [35115 35122 35124 -1]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other "*")}]
                                                              action: [
                                                                (C {(func_append)} 
                                                                  {(finalize_shlibpath)} {(DQ ($ VSub_Name "$libdir") (":"))}
                                                                )
                                                              ]
                                                              spids: [35127 35128 35139 -1]
                                                            )
                                                          ]
                                                          spids: [35106 35112 35142]
                                                        )
                                                      ]
                                                      spids: [-1 35103]
                                                    )
                                                  ]
                                                  spids: [-1 35145]
                                                )
                                              ]
                                              spids: [35023 35148]
                                            )
                                          ]
                                          spids: [-1 34318]
                                        )
                                      ]
                                      spids: [-1 35151]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                      {(Lit_Other "=")} {(prog)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name "$opt_mode"))} 
                                                      {(Lit_Other "=")} {(relink)}
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_shlibpath)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [35183]
                                                )
                                              ]
                                              spids: [35183]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [35186]
                                                )
                                              ]
                                              spids: [35186]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [35189]
                                                )
                                              ]
                                              spids: [35189]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name "$hardcode_direct"))} {(Lit_Other "=")} {(yes)}
                                                            )
                                                            (C {(test)} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
"$hardcode_direct_absolute"
                                                                  )
                                                                )
                                                              } {(Lit_Other "=")} {(no)}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      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: [35225]
                                                        )
                                                      ]
                                                      spids: [35225]
                                                    )
                                                  ]
                                                  spids: [-1 35222]
                                                )
                                                (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: [35249]
                                                        )
                                                      ]
                                                      spids: [35249]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(DQ (-l) ($ VSub_Name "$name"))}
                                                          spids: [35256]
                                                        )
                                                      ]
                                                      spids: [35256]
                                                    )
                                                  ]
                                                  spids: [35233 35246]
                                                )
                                                (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: [35288 35295 35297 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_shlibpath)} 
                                                              {(DQ ($ VSub_Name "$libdir") (":"))}
                                                            )
                                                          ]
                                                          spids: [35300 35301 35312 -1]
                                                        )
                                                      ]
                                                      spids: [35279 35285 35315]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(DQ (-l) ($ VSub_Name "$name"))}
                                                          spids: [35318]
                                                        )
                                                      ]
                                                      spids: [35318]
                                                    )
                                                  ]
                                                  spids: [35263 35276]
                                                )
                                                (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
                                                                  children: [
                                                                    (C {(test)} {(-n)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
"$inst_prefix_dir"
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(test)} {(-f)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
"$inst_prefix_dir"
                                                                          ) ($ VSub_Name "$libdir") (/) ($ VSub_Name "$linklib")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$inst_prefix_dir"
                                                                        ) ($ VSub_Name "$libdir") (/) ($ VSub_Name "$linklib")
                                                                      )
                                                                    }
                                                                  spids: [35370]
                                                                )
                                                              ]
                                                              spids: [35370]
                                                            )
                                                          ]
                                                          spids: [-1 35367]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:add)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name "$libdir") (/) 
                                                                    ($ VSub_Name "$linklib")
                                                                  )
                                                                }
                                                              spids: [35382]
                                                            )
                                                          ]
                                                          spids: [35382]
                                                        )
                                                      ]
                                                      spids: [35379 35390]
                                                    )
                                                  ]
                                                  spids: [35325 35338]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add_dir)
                                                      op: Equal
                                                      rhs: {(DQ (-L) ($ VSub_Name "$libdir"))}
                                                      spids: [35400]
                                                    )
                                                  ]
                                                  spids: [35400]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name "$inst_prefix_dir"))}
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      action: [
                                                        (Case
                                                          to_match: {($ VSub_Name "$libdir")}
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [
                                                                {(Lit_Other "[") 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar "\\\\">
                                                                  ) (/) (Lit_Other "]") (Lit_Other "*")
                                                                }
                                                              ]
                                                              action: [
                                                                (C {(func_append)} {(add_dir)} 
                                                                  {
                                                                    (DQ (" -L") 
                                                                      ($ VSub_Name "$inst_prefix_dir") ($ VSub_Name "$libdir")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [35432 35437 35451 -1]
                                                            )
                                                          ]
                                                          spids: [35425 35429 35454]
                                                        )
                                                      ]
                                                      spids: [-1 35422]
                                                    )
                                                  ]
                                                  spids: [-1 35457]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add)
                                                      op: Equal
                                                      rhs: {(DQ (-l) ($ VSub_Name "$name"))}
                                                      spids: [35460]
                                                    )
                                                  ]
                                                  spids: [35460]
                                                )
                                              ]
                                              spids: [35393 35467]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                          {(Lit_Other "=")} {(prog)}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name "$add_dir"))}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:finalize_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name "$add_dir") (" ") 
                                                                    ($ VSub_Name "$finalize_deplibs")
                                                                  )
                                                                }
                                                              spids: [35497]
                                                            )
                                                          ]
                                                          spids: [35497]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$add"))})
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:finalize_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name "$add") (" ") 
                                                                    ($ VSub_Name "$finalize_deplibs")
                                                                  )
                                                                }
                                                              spids: [35515]
                                                            )
                                                          ]
                                                          spids: [35515]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 35484]
                                                )
                                              ]
                                              else_action: [
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$add_dir"))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$add_dir") (" ") 
                                                                ($ VSub_Name "$deplibs")
                                                              )
                                                            }
                                                          spids: [35536]
                                                        )
                                                      ]
                                                      spids: [35536]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$add"))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$add") (" ") 
                                                                ($ VSub_Name "$deplibs")
                                                              )
                                                            }
                                                          spids: [35554]
                                                        )
                                                      ]
                                                      spids: [35554]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              spids: [35523 35562]
                                            )
                                          ]
                                          spids: [-1 35180]
                                        )
                                      ]
                                      spids: [-1 35565]
                                    )
                                  ]
                                  spids: [-1 33522]
                                )
                                (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
                                              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: [35623]
                                                    )
                                                  ]
                                                  spids: [35623]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$dir") (/) 
                                                        ($ VSub_Name "$linklib") (" ") ($ VSub_Name "$compile_deplibs")
                                                      )
                                                    }
                                                  spids: [35629]
                                                )
                                              ]
                                              spids: [35629]
                                            )
                                            (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: [35639]
                                                )
                                              ]
                                              spids: [35639]
                                            )
                                          ]
                                          spids: [-1 35610]
                                        )
                                      ]
                                      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: [35652]
                                            )
                                          ]
                                          spids: [35652]
                                        )
                                        (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: [35663]
                                            )
                                          ]
                                          spids: [35663]
                                        )
                                      ]
                                      spids: [35649 35674]
                                    )
                                  ]
                                  spids: [35568 35581]
                                )
                                (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: [-1 35812]
                                                        )
                                                      ]
                                                      spids: [-1 35850]
                                                    )
                                                    (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: [35869]
                                                                )
                                                              ]
                                                              spids: [35869]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:build_old_libs)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [35873]
                                                                )
                                                              ]
                                                              spids: [35873]
                                                            )
                                                          ]
                                                          spids: [-1 35866]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [35880]
                                                            )
                                                          ]
                                                          spids: [35880]
                                                        )
                                                      ]
                                                      spids: [35877 35884]
                                                    )
                                                  ]
                                                  spids: [-1 35777]
                                                )
                                              ]
                                              spids: [-1 35887]
                                            )
                                          ]
                                          spids: [-1 35711]
                                        )
                                      ]
                                      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: [35893]
                                            )
                                          ]
                                          spids: [35893]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:link_static)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [35903]
                                            )
                                          ]
                                          spids: [35903]
                                        )
                                      ]
                                      spids: [35890 35907]
                                    )
                                  ]
                                  spids: [35677 35690]
                                )
                              ]
                              spids: [-1 35910]
                            )
                            (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
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$dependency_libs"))}
                                                    )
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
"$hardcode_into_libs"
                                                                      )
                                                                    )
                                                                  } {(KW_Bang "!") (Lit_Other "=")} {(yes)}
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
"$build_old_libs"
                                                                          )
                                                                        )
                                                                      } {(Lit_Other "=")} {(yes)}
                                                                    )
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name "$link_static")
                                                                        )
                                                                      } {(Lit_Other "=")} {(yes)}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DPipe
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      spids: [35946]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:temp_deplibs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [35996]
                                                )
                                              ]
                                              spids: [35996]
                                            )
                                            (ForEach
                                              iter_name: libdir
                                              iter_words: [{($ VSub_Name "$dependency_libs")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$libdir")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(-R) (Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_stripname)} {(SQ <-R>)} {(SQ )} 
                                                              {(DQ ($ VSub_Name "$libdir"))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:temp_xrpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
"$func_stripname_result"
                                                                      )
                                                                    }
                                                                  spids: [36036]
                                                                )
                                                              ]
                                                              spids: [36036]
                                                            )
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (" ") ($ VSub_Name "$xrpath") 
                                                                    (" ")
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") 
                                                                      (DQ (" ") 
                                                                        ($ VSub_Name "$temp_xrpath") (" ")
                                                                      ) (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  spids: [36051 36058 36060 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (C {(func_append)} {(xrpath)} 
                                                                      {
                                                                        (DQ (" ") 
                                                                          ($ VSub_Name "$temp_xrpath")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [36063 36064 36074 -1]
                                                                )
                                                              ]
                                                              spids: [36040 36048 36077]
                                                            )
                                                          ]
                                                          spids: [36018 36020 36078 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(temp_deplibs)} 
                                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                                            )
                                                          ]
                                                          spids: [36081 36082 36092 -1]
                                                        )
                                                      ]
                                                      spids: [36011 36015 36095]
                                                    )
                                                  ]
                                                  spids: [36008 36098]
                                                )
                                              spids: [36004 36006]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$temp_deplibs"))}
                                                  spids: [36101]
                                                )
                                              ]
                                              spids: [36101]
                                            )
                                          ]
                                          spids: [-1 35989]
                                        )
                                      ]
                                      spids: [-1 36107]
                                    )
                                    (C {(func_append)} {(newlib_search_path)} 
                                      {(DQ (" ") ($ VSub_Name "$absdir"))}
                                    )
                                    (AndOr
                                      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: [36137]
                                            )
                                          ]
                                          spids: [36137]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [36151]
                                        )
                                      ]
                                      spids: [36151]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name "$dependency_libs")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$newdependency_libs")
                                                      )
                                                    }
                                                  spids: [36166]
                                                )
                                              ]
                                              spids: [36166]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name "$deplib")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-L) (Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                                      {(DQ ($ VSub_Name "$deplib"))}
                                                    )
                                                    (C {(func_resolve_sysroot)} 
                                                      {(DQ ($ VSub_Name "$func_stripname_result"))}
                                                    )
                                                  ]
                                                  spids: [36181 36183 36204 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_resolve_sysroot)} 
                                                      {(DQ ($ VSub_Name "$deplib"))}
                                                    )
                                                  ]
                                                  spids: [36207 36208 36216 -1]
                                                )
                                              ]
                                              spids: [36174 36178 36219]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {($ VSub_Name "$opt_preserve_dup_deps")})
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {(DQ ($ VSub_Name "$tmp_libs") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") 
                                                                ($ VSub_Name 
"$func_resolve_sysroot_result"
                                                                ) (" ")
                                                              ) (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [
                                                            (C {(func_append)} {(specialdeplibs)} 
                                                              {
                                                                (DQ (" ") 
                                                                  ($ VSub_Name 
"$func_resolve_sysroot_result"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [36241 36248 36260 -1]
                                                        )
                                                      ]
                                                      spids: [36231 36238 36263]
                                                    )
                                                  ]
                                                  spids: [-1 36228]
                                                )
                                              ]
                                              spids: [-1 36266]
                                            )
                                            (C {(func_append)} {(tmp_libs)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$func_resolve_sysroot_result"))
                                              }
                                            )
                                          ]
                                          spids: [36163 36279]
                                        )
                                      spids: [36159 36161]
                                    )
                                    (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: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:path)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [36316]
                                                        )
                                                      ]
                                                      spids: [36316]
                                                    )
                                                    (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: [36330]
                                                                )
                                                              ]
                                                              spids: [36330]
                                                            )
                                                          ]
                                                          spids: [36326 36328 36335 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*") (.la)}]
                                                          action: [
                                                            (C {(func_resolve_sysroot)} 
                                                              {(DQ ($ VSub_Name "$deplib"))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:deplib)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
"$func_resolve_sysroot_result"
                                                                      )
                                                                    }
                                                                  spids: [36350]
                                                                )
                                                              ]
                                                              spids: [36350]
                                                            )
                                                            (C {(func_dirname)} 
                                                              {(DQ ($ VSub_Name "$deplib"))} {(DQ )} {(DQ (.))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:dir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
"$func_dirname_result"
                                                                      )
                                                                    }
                                                                  spids: [36368]
                                                                )
                                                              ]
                                                              spids: [36368]
                                                            )
                                                            (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: [36402]
                                                                        )
                                                                      ]
                                                                      spids: [36402]
                                                                    )
                                                                  ]
                                                                  spids: [36383 36400 36407 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:absdir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (AndOr
                                                                                        children: [
                                                                                          (C {(cd)} 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name "$dir"
                                                                                                )
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                          (C {(pwd)})
                                                                                        ]
                                                                                        op_id: 
Op_DAmp
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [36415 36425]
                                                                              )
                                                                            }
                                                                          spids: [36414]
                                                                        )
                                                                      ]
                                                                      spids: [36414]
                                                                    )
                                                                    (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: [36452]
                                                                                )
                                                                              ]
                                                                              spids: [36452]
                                                                            )
                                                                          ]
                                                                          spids: [-1 36439]
                                                                        )
                                                                      ]
                                                                      spids: [-1 36458]
                                                                    )
                                                                  ]
                                                                  spids: [36410 36411 36461 -1]
                                                                )
                                                              ]
                                                              spids: [36376 36380 36464]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (SimpleCommand
                                                                          words: [
                                                                            {($ VSub_Name "$GREP")}
                                                                            {(DQ ("^installed=no"))}
                                                                            {
                                                                              ($ VSub_Name "$deplib")
                                                                            }
                                                                          ]
                                                                          redirects: [
                                                                            (Redir
                                                                              op_id: Redir_Great
                                                                              fd: -1
                                                                              arg_word: {(/dev/null)}
                                                                              spids: [36477]
                                                                            )
                                                                          ]
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name "$host")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "*") (-) 
                                                                              (Lit_Other "*") (-darwin) (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: depdepl
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(SQ )}
                                                                                  spids: [36500]
                                                                                )
                                                                              ]
                                                                              spids: [36500]
                                                                            )
                                                                            (C {(eval)} 
                                                                              {
                                                                                (Lit_VarLike 
"deplibrary_names="
                                                                                ) 
                                                                                (CommandSubPart
                                                                                  command_list: 
                                                                                    (CommandList
                                                                                      children: [
                                                                                        (C 
                                                                                          {
                                                                                            (${ 
VSub_Name SED
                                                                                            )
                                                                                          } {(-n)} {(-e)} {(SQ <"s/^library_names=\\(.*\\)$/\\1/p">)} {($ VSub_Name "$deplib")}
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  left_token: 
                                                                                    <Left_Backtick 
"`"
                                                                                    >
                                                                                  spids: [36506 36520]
                                                                                )
                                                                              }
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (C {(test)} 
                                                                                          {(-n)} {(DQ ($ VSub_Name "$deplibrary_names"))}
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
";"
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ForEach
                                                                                      iter_name: tmp
                                                                                      iter_words: [
                                                                                        {
                                                                                          ($ 
VSub_Name "$deplibrary_names"
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      do_arg_iter: 
False
                                                                                      body: 
                                                                                        (DoGroup
                                                                                          children: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
depdepl
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      ($ 
VSub_Name "$tmp"
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
36551
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
36551
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
36548
36555
                                                                                          ]
                                                                                        )
                                                                                      spids: [
36543
36546
                                                                                      ]
                                                                                    )
                                                                                    (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: [
36577
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
36577
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
darwin_install_name
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (CommandSubPart
                                                                                                        command_list: 
                                                                                                          (CommandList
                                                                                                            children: [
                                                                                                              (Pipeline
                                                                                                                children: [
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      (${ 
VSub_Name OTOOL
                                                                                                                      )
                                                                                                                    } {(-L)} {($ VSub_Name "$depdepl")}
                                                                                                                  )
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      (
awk
                                                                                                                      )
                                                                                                                    } {(SQ <"{if (NR == 2) {print $1;exit}}">)}
                                                                                                                  )
                                                                                                                ]
                                                                                                                negated: 
False
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick "`"
                                                                                                          >
                                                                                                        spids: [
36588
36604
                                                                                                        ]
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
36587
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
36587
                                                                                              ]
                                                                                            )
                                                                                            (If
                                                                                              arms: [
                                                                                                (if_arm
                                                                                                  cond: [
                                                                                                    (Sentence
                                                                                                      child: 
                                                                                                        (C 
                                                                                                          {
                                                                                                            (
test
                                                                                                            )
                                                                                                          } {(-z)} {(DQ ($ VSub_Name "$darwin_install_name"))}
                                                                                                        )
                                                                                                      terminator: 
                                                                                                        <
Op_Semi ";"
                                                                                                        >
                                                                                                    )
                                                                                                  ]
                                                                                                  action: [
                                                                                                    (Assignment
                                                                                                      keyword: 
Assign_None
                                                                                                      pairs: [
                                                                                                        (assign_pair
                                                                                                          lhs: 
                                                                                                            (LhsName
                                                                                                              name: 
darwin_install_name
                                                                                                            )
                                                                                                          op: 
                                                                                                            Equal
                                                                                                          rhs: 
                                                                                                            {
                                                                                                              (CommandSubPart
                                                                                                                command_list: 
                                                                                                                  (CommandList
                                                                                                                    children: [
                                                                                                                      (Pipeline
                                                                                                                        children: [
                                                                                                                          (C 
                                                                                                                            {
                                                                                                                              (${ 
VSub_Name OTOOL64
                                                                                                                              )
                                                                                                                            } {(-L)} {($ VSub_Name "$depdepl")}
                                                                                                                          )
                                                                                                                          (C 
                                                                                                                            {
                                                                                                                              (
awk
                                                                                                                              )
                                                                                                                            } {(SQ <"{if (NR == 2) {print $1;exit}}">)}
                                                                                                                          )
                                                                                                                        ]
                                                                                                                        negated: 
False
                                                                                                                      )
                                                                                                                    ]
                                                                                                                  )
                                                                                                                left_token: 
                                                                                                                  <
Left_Backtick "`"
                                                                                                                  >
                                                                                                                spids: [
36622
36638
                                                                                                                ]
                                                                                                              )
                                                                                                            }
                                                                                                          spids: [
36621
                                                                                                          ]
                                                                                                        )
                                                                                                      ]
                                                                                                      spids: [
36621
                                                                                                      ]
                                                                                                    )
                                                                                                  ]
                                                                                                  spids: [
-1
36618
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
-1
36641
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
func_append
                                                                                                )
                                                                                              } {(compiler_flags)} 
                                                                                              {
                                                                                                (DQ 
                                                                                                  (
" "
                                                                                                  ) (${ VSub_Name wl) ("-dylib_file ") (${ VSub_Name wl) (${ VSub_Name darwin_install_name) (":") 
                                                                                                  (${ 
VSub_Name depdepl
                                                                                                  )
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
func_append
                                                                                                )
                                                                                              } {(linker_flags)} 
                                                                                              {
                                                                                                (DQ 
                                                                                                  (
" -dylib_file "
                                                                                                  ) (${ VSub_Name darwin_install_name) (":") (${ VSub_Name depdepl)
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
path
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: {(SQ )}
                                                                                                  spids: [
36683
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
36683
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
-1
36574
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
-1
36686
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 36535]
                                                                                )
                                                                              ]
                                                                              spids: [-1 36689]
                                                                            )
                                                                          ]
                                                                          spids: [36492 36497 36692 -1]
                                                                        )
                                                                        (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: [36699]
                                                                                )
                                                                              ]
                                                                              spids: [36699]
                                                                            )
                                                                          ]
                                                                          spids: [36695 36696 36708 -1]
                                                                        )
                                                                      ]
                                                                      spids: [36485 36489 36711]
                                                                    )
                                                                  ]
                                                                  spids: [-1 36482]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(eval)} 
                                                                  {(Lit_VarLike "libdir=") 
                                                                    (CommandSubPart
                                                                      command_list: 
                                                                        (CommandList
                                                                          children: [
                                                                            (C {(${ VSub_Name SED)} 
                                                                              {(-n)} {(-e)} {(SQ <"s/^libdir=\\(.*\\)$/\\1/p">)} {($ VSub_Name "$deplib")}
                                                                            )
                                                                          ]
                                                                        )
                                                                      left_token: <Left_Backtick "`">
                                                                      spids: [36720 36734]
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  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")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                                (AndOr
                                                                  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")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:path)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ (-L) 
                                                                            ($ VSub_Name "$absdir")
                                                                          )
                                                                        }
                                                                      spids: [36785]
                                                                    )
                                                                  ]
                                                                  spids: [36785]
                                                                )
                                                              ]
                                                              spids: [36714 36792]
                                                            )
                                                          ]
                                                          spids: [36338 36340 36795 -1]
                                                        )
                                                      ]
                                                      spids: [36319 36323 36798]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (" ") ($ VSub_Name "$deplibs") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$path") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          spids: [36812 36819 36821 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:deplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$path") (" ") 
                                                                        ($ VSub_Name "$deplibs")
                                                                      )
                                                                    }
                                                                  spids: [36827]
                                                                )
                                                              ]
                                                              spids: [36827]
                                                            )
                                                          ]
                                                          spids: [36824 36825 36834 -1]
                                                        )
                                                      ]
                                                      spids: [36801 36809 36837]
                                                    )
                                                  ]
                                                  spids: [36313 36840]
                                                )
                                              spids: [36309 36311]
                                            )
                                          ]
                                          spids: [-1 36297]
                                        )
                                      ]
                                      spids: [-1 36843]
                                    )
                                  ]
                                  spids: [-1 35930]
                                )
                              ]
                              spids: [-1 36849]
                            )
                          ]
                          spids: [29308 36855]
                        )
                      spids: [29304 29306]
                    )
                    (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: [36895]
                                        )
                                      ]
                                      spids: [36895]
                                    )
                                    (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: [36903]
                                        )
                                      ]
                                      spids: [36903]
                                    )
                                  ]
                                  spids: [-1 36892]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:compiler_flags)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name "$compiler_flags") (" ")) 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {($ VSub_Name "$ECHO")} 
                                                        {
                                                          (DQ (" ") 
                                                            ($ VSub_Name 
"$new_inherited_linker_flags"
                                                            )
                                                          )
                                                        }
                                                      )
                                                      (C {($ VSub_Name "$SED")} 
                                                        {
                                                          (SQ 
                                                            <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                            >
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [36919 36934]
                                          )
                                        }
                                      spids: [36914]
                                    )
                                  ]
                                  spids: [36914]
                                )
                              ]
                              spids: [36911 36937]
                            )
                          ]
                          spids: [-1 36874]
                        )
                      ]
                      spids: [-1 36940]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$newdependency_libs"))}
                          spids: [36943]
                        )
                      ]
                      spids: [36943]
                    )
                    (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: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                ($ VSub_Name "$deplibs")
                                              )
                                            }
                                          spids: [36981]
                                        )
                                      ]
                                      spids: [36981]
                                    )
                                  ]
                                  spids: [36978 36989]
                                )
                              spids: [36974 36976]
                            )
                          ]
                          spids: [-1 36962]
                        )
                      ]
                      spids: [-1 36992]
                    )
                    (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: {(SQ )}
                                          spids: [37033]
                                        )
                                      ]
                                      spids: [37033]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name "$newlib_search_path")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {(DQ ($ VSub_Name "$lib_search_path") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$dir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [37058 37065 37067 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(lib_search_path)} 
                                                      {(DQ (" ") ($ VSub_Name "$dir"))}
                                                    )
                                                  ]
                                                  spids: [37070 37071 37082 -1]
                                                )
                                              ]
                                              spids: [37048 37055 37085]
                                            )
                                          ]
                                          spids: [37045 37088]
                                        )
                                      spids: [37041 37043]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [37091]
                                        )
                                      ]
                                      spids: [37091]
                                    )
                                  ]
                                  spids: [-1 37026]
                                )
                              ]
                              spids: [-1 37094]
                            )
                            (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: [37119]
                                        )
                                      ]
                                      spids: [37119]
                                    )
                                  ]
                                  spids: [-1 37116]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:vars)
                                      op: Equal
                                      rhs: {(DQ ("compile_deplibs finalize_deplibs"))}
                                      spids: [37128]
                                    )
                                  ]
                                  spids: [37128]
                                )
                              ]
                              spids: [37125 37134]
                            )
                            (ForEach
                              iter_name: var
                              iter_words: [{($ VSub_Name "$vars")} {(dependency_libs)}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(eval)} 
                                      {(Lit_VarLike "tmp_libs=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$var") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:new_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [37164]
                                        )
                                      ]
                                      spids: [37164]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name "$tmp_libs")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name "$deplib")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-L) (Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:new_libs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                                ($ VSub_Name "$new_libs")
                                                              )
                                                            }
                                                          spids: [37214]
                                                        )
                                                      ]
                                                      spids: [37214]
                                                    )
                                                  ]
                                                  spids: [37210 37212 37221 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(-R) (Lit_Other "*")}]
                                                  spids: [37224 37226 37228 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {
                                                          (DQ (" ") ($ VSub_Name "$specialdeplibs") 
                                                            (" ")
                                                          )
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$deplib") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:new_libs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$deplib") 
                                                                        (" ") ($ VSub_Name "$new_libs")
                                                                      )
                                                                    }
                                                                  spids: [37311]
                                                                )
                                                              ]
                                                              spids: [37311]
                                                            )
                                                          ]
                                                          spids: [37302 37309 37318 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (" ") ($ VSub_Name "$new_libs") 
                                                                    (" ")
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") 
                                                                      (DQ (" ") 
                                                                        ($ VSub_Name "$deplib") (" ")
                                                                      ) (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  spids: [37336 37343 37345 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: new_libs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
"$deplib"
                                                                                ) (" ") ($ VSub_Name "$new_libs")
                                                                              )
                                                                            }
                                                                          spids: [37351]
                                                                        )
                                                                      ]
                                                                      spids: [37351]
                                                                    )
                                                                  ]
                                                                  spids: [37348 37349 37358 -1]
                                                                )
                                                              ]
                                                              spids: [37325 37333 37361]
                                                            )
                                                          ]
                                                          spids: [37321 37322 37364 -1]
                                                        )
                                                      ]
                                                      spids: [37291 37299 37367]
                                                    )
                                                  ]
                                                  spids: [37231 37232 37370 -1]
                                                )
                                              ]
                                              spids: [37203 37207 37373]
                                            )
                                          ]
                                          spids: [37176 37376]
                                        )
                                      spids: [37172 37174]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [37379]
                                        )
                                      ]
                                      spids: [37379]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name "$new_libs")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name "$deplib")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-L) (Lit_Other "*")}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ (" ") ($ VSub_Name "$tmp_libs") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$deplib") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          spids: [37417 37424 37426 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(tmp_libs)} 
                                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                            )
                                                          ]
                                                          spids: [37429 37430 37441 -1]
                                                        )
                                                      ]
                                                      spids: [37406 37414 37444]
                                                    )
                                                  ]
                                                  spids: [37401 37403 37447 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(tmp_libs)} 
                                                      {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                    )
                                                  ]
                                                  spids: [37450 37451 37462 -1]
                                                )
                                              ]
                                              spids: [37394 37398 37465]
                                            )
                                          ]
                                          spids: [37391 37468]
                                        )
                                      spids: [37387 37389]
                                    )
                                    (C {(eval)} 
                                      {($ VSub_Name "$var") (Lit_Other "=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) ($ VSub_Name "$tmp_libs") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                      }
                                    )
                                  ]
                                  spids: [37148 37480]
                                )
                              spids: [37142 37146]
                            )
                          ]
                          spids: [-1 37009]
                        )
                      ]
                      spids: [-1 37486]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tmp_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [37497]
                        )
                      ]
                      spids: [37497]
                    )
                    (ForEach
                      iter_name: i
                      iter_words: [{($ VSub_Name "$dependency_libs")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: 
                                {
                                  (DQ (" ") ($ VSub_Name "$predeps") (" ") ($ VSub_Name "$postdeps") 
                                    (" ") ($ VSub_Name "$compiler_lib_search_path") (" ")
                                  )
                                }
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$i") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:i)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [37538]
                                        )
                                      ]
                                      spids: [37538]
                                    )
                                  ]
                                  spids: [37528 37535 37543 -1]
                                )
                              ]
                              spids: [37513 37525 37546]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$i"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(tmp_libs)} {(DQ (" ") ($ VSub_Name "$i"))})
                                  ]
                                  spids: [-1 37561]
                                )
                              ]
                              spids: [-1 37574]
                            )
                          ]
                          spids: [37510 37577]
                        )
                      spids: [37505 37508]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name "$tmp_libs")}
                          spids: [37580]
                        )
                      ]
                      spids: [37580]
                    )
                  ]
                  spids: [28917 37584]
                )
              spids: [28913 28915]
            )
            (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: [37606]
                        )
                      ]
                      spids: [37606]
                    )
                  ]
                  spids: [-1 37603]
                )
              ]
              spids: [-1 37612]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} {(Lit_Other "=")} {(prog)})
                            (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} {(Lit_Other "=")} {(lib)})
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$newdlprefiles"))}
                          spids: [37643]
                        )
                      ]
                      spids: [37643]
                    )
                  ]
                  spids: [-1 37640]
                )
              ]
              spids: [-1 37649]
            )
            (Case
              to_match: {($ VSub_Name "$linkmode")}
              arms: [
                (case_arm
                  pat_list: [{(oldlib)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {(DQ ($ VSub_Name "$dlfiles") ($ VSub_Name "$dlprefiles"))}
                                    )
                                    (C {(test)} {(DQ ($ VSub_Name "$dlself"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} {(no)}
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                  ("-dlopen' is ignored for archives")
                                )
                              }
                            )
                          ]
                          spids: [-1 37689]
                        )
                      ]
                      spids: [-1 37700]
                    )
                    (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: [37714 37725 37737 -1]
                        )
                      ]
                      spids: [37704 37711 37740]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$rpath"))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                              ("-rpath' is ignored for archives")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$xrpath"))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                              ("-R' is ignored for archives")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$vinfo"))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                              ("-version-info/-version-number' is ignored for archives")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$release"))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                              ("-release' is ignored for archives")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} 
                          {
                            (DQ ($ VSub_Name "$export_symbols") ($ VSub_Name "$export_symbols_regex"))
                          }
                        )
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                              ("-export-symbols' is ignored for archives")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:build_libtool_libs)
                          op: Equal
                          rhs: {(no)}
                          spids: [37854]
                        )
                      ]
                      spids: [37854]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$output"))}
                          spids: [37858]
                        )
                      ]
                      spids: [37858]
                    )
                    (C {(func_append)} {(objs)} {(DQ ($ VSub_Name "$old_deplibs"))})
                  ]
                  spids: [37660 37661 37873 -1]
                )
                (case_arm
                  pat_list: [{(lib)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$outputname")}
                      arms: [
                        (case_arm
                          pat_list: [{(lib) (Lit_Other "*")}]
                          action: [
                            (C {(func_stripname)} {(SQ <lib>)} {(SQ <.la>)} 
                              {(DQ ($ VSub_Name "$outputname"))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name "$func_stripname_result")}
                                  spids: [37912]
                                )
                              ]
                              spids: [37912]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "shared_ext=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) ($ VSub_Name "$shrext_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                              }
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "libname=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) ($ VSub_Name "$libname_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                              }
                            )
                          ]
                          spids: [37892 37894 37932 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (AndOr
                              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'")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (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: [38001]
                                        )
                                      ]
                                      spids: [38001]
                                    )
                                    (C {(eval)} 
                                      {(Lit_VarLike "shared_ext=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) ($ VSub_Name "$shrext_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                      }
                                    )
                                    (C {(eval)} 
                                      {(Lit_VarLike "libname=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) ($ VSub_Name "$libname_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                      }
                                    )
                                  ]
                                  spids: [-1 37980]
                                )
                              ]
                              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: [38038]
                                    )
                                  ]
                                  spids: [38038]
                                )
                              ]
                              spids: [38021 38042]
                            )
                          ]
                          spids: [37935 37936 38045 -1]
                        )
                      ]
                      spids: [37885 37889 38048]
                    )
                    (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: [-1 38080]
                                )
                              ]
                              else_action: [
                                (C {(echo)})
                                (C {($ VSub_Name "$ECHO")} 
                                  {
                                    (DQ ("*** Warning: Linking the shared library ") 
                                      ($ VSub_Name "$output") (" against the non-libtool")
                                    )
                                  }
                                )
                                (C {($ VSub_Name "$ECHO")} 
                                  {(DQ ("*** objects ") ($ VSub_Name "$objs") (" is not portable!"))}
                                )
                                (C {(func_append)} {(libobjs)} {(DQ (" ") ($ VSub_Name "$objs"))})
                              ]
                              spids: [38094 38128]
                            )
                          ]
                          spids: [-1 38063]
                        )
                      ]
                      spids: [-1 38131]
                    )
                    (AndOr
                      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")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (C {(set)} {(dummy)} {($ VSub_Name "$rpath")})
                    (C {(shift)})
                    (AndOr
                      children: [
                        (C {(test)} {(DQ ($ VSub_Pound "$#"))} {(-gt)} {(1)})
                        (C {(func_warning)} 
                          {
                            (DQ ("ignoring multiple ") 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\`">
                              ) ("-rpath's for a libtool library")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_libdir)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number "$1"))}
                          spids: [38193]
                        )
                      ]
                      spids: [38193]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [38200]
                        )
                      ]
                      spids: [38200]
                    )
                    (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: [38249]
                                        )
                                      ]
                                      spids: [38249]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_libtool_libs)
                                          op: Equal
                                          rhs: {(convenience)}
                                          spids: [38261]
                                        )
                                      ]
                                      spids: [38261]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_old_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [38265]
                                        )
                                      ]
                                      spids: [38265]
                                    )
                                  ]
                                  spids: [-1 38230]
                                )
                              ]
                              spids: [-1 38269]
                            )
                            (AndOr
                              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"
                                      )
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$release"))})
                                (C {(func_warning)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                      ("-release' is ignored for convenience libraries")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          spids: [-1 38214]
                        )
                      ]
                      else_action: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_ifs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$IFS"))}
                                  spids: [38322]
                                )
                              ]
                              spids: [38322]
                            )
                          terminator: <Op_Semi ";">
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(SQ <":">)}
                              spids: [38328]
                            )
                          ]
                          spids: [38328]
                        )
                        (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: [38350]
                            )
                          ]
                          spids: [38350]
                        )
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Number "$7"))})
                            (C {(func_fatal_help)} 
                              {
                                (DQ ("too many parameters to ") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\`">
                                  ) ("-version-info'")
                                )
                              }
                            )
                          ]
                          op_id: Op_DAmp
                        )
                        (Case
                          to_match: {($ VSub_Name "$vinfo_number")}
                          arms: [
                            (case_arm
                              pat_list: [{(yes)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_major)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number "$1"))}
                                      spids: [38403]
                                    )
                                  ]
                                  spids: [38403]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_minor)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number "$2"))}
                                      spids: [38409]
                                    )
                                  ]
                                  spids: [38409]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_revision)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number "$3"))}
                                      spids: [38415]
                                    )
                                  ]
                                  spids: [38415]
                                )
                                (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: [38477]
                                            )
                                          ]
                                          spids: [38477]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_minor"))}
                                              spids: [38481]
                                            )
                                          ]
                                          spids: [38481]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_revision"))}
                                              spids: [38487]
                                            )
                                          ]
                                          spids: [38487]
                                        )
                                      ]
                                      spids: [38456 38465 38493 -1]
                                    )
                                    (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: [38506]
                                            )
                                          ]
                                          spids: [38506]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_minor"))}
                                              spids: [38512]
                                            )
                                          ]
                                          spids: [38512]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ (0))}
                                              spids: [38518]
                                            )
                                          ]
                                          spids: [38518]
                                        )
                                      ]
                                      spids: [38496 38503 38524 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(irix)} {(nonstopux)}]
                                      action: [
                                        (C {(func_arith)} {($ VSub_Name "$number_major")} 
                                          {(Lit_Other "+")} {($ VSub_Name "$number_minor")}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:current)
                                              op: Equal
                                              rhs: {($ VSub_Name "$func_arith_result")}
                                              spids: [38542]
                                            )
                                          ]
                                          spids: [38542]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_minor"))}
                                              spids: [38546]
                                            )
                                          ]
                                          spids: [38546]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_minor"))}
                                              spids: [38552]
                                            )
                                          ]
                                          spids: [38552]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:lt_irix_increment)
                                              op: Equal
                                              rhs: {(no)}
                                              spids: [38558]
                                            )
                                          ]
                                          spids: [38558]
                                        )
                                      ]
                                      spids: [38527 38530 38562 -1]
                                    )
                                  ]
                                  spids: [38449 38453 38565]
                                )
                              ]
                              spids: [38399 38400 38568 -1]
                            )
                            (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: [38575]
                                    )
                                  ]
                                  spids: [38575]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:revision)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number "$2"))}
                                      spids: [38581]
                                    )
                                  ]
                                  spids: [38581]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:age)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number "$3"))}
                                      spids: [38587]
                                    )
                                  ]
                                  spids: [38587]
                                )
                              ]
                              spids: [38571 38572 38593 -1]
                            )
                          ]
                          spids: [38392 38396 38596]
                        )
                        (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: [38611 38662 38664 -1]
                            )
                            (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: [38667 38668 38690 -1]
                            )
                          ]
                          spids: [38604 38608 38693]
                        )
                        (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: [38704 38755 38757 -1]
                            )
                            (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: [38760 38761 38783 -1]
                            )
                          ]
                          spids: [38697 38701 38786]
                        )
                        (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: [38797 38848 38850 -1]
                            )
                            (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: [38853 38854 38876 -1]
                            )
                          ]
                          spids: [38790 38794 38879]
                        )
                        (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: [-1 38898]
                            )
                          ]
                          spids: [-1 38923]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:major)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [38931]
                            )
                          ]
                          spids: [38931]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:versuffix)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [38934]
                            )
                          ]
                          spids: [38934]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:verstring)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [38937]
                            )
                          ]
                          spids: [38937]
                        )
                        (Case
                          to_match: {($ VSub_Name "$version_type")}
                          arms: [
                            (case_arm
                              pat_list: [{(none)}]
                              spids: [38947 38948 38950 -1]
                            )
                            (case_arm
                              pat_list: [{(darwin)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name "$current")} {(-)} {($ VSub_Name "$age")})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name "$func_arith_result")}
                                      spids: [38975]
                                    )
                                  ]
                                  spids: [38975]
                                )
                                (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: [38980]
                                    )
                                  ]
                                  spids: [38980]
                                )
                                (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: [39003]
                                    )
                                  ]
                                  spids: [39003]
                                )
                                (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: [39007]
                                    )
                                  ]
                                  spids: [39007]
                                )
                                (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: [39031]
                                    )
                                  ]
                                  spids: [39031]
                                )
                              ]
                              spids: [38954 38955 39042 -1]
                            )
                            (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: [39050]
                                    )
                                  ]
                                  spids: [39050]
                                )
                                (Sentence
                                  child: 
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ (.) ($ VSub_Name "$current") (.) 
                                                ($ VSub_Name "$revision")
                                              )
                                            }
                                          spids: [39057]
                                        )
                                      ]
                                      spids: [39057]
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              spids: [39046 39047 39067 -1]
                            )
                            (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: [39075]
                                    )
                                  ]
                                  spids: [39075]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name "$current"))}
                                      spids: [39082]
                                    )
                                  ]
                                  spids: [39082]
                                )
                              ]
                              spids: [39071 39072 39089 -1]
                            )
                            (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: [-1 39117]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_arith)} {($ VSub_Name "$current")} {(-)} 
                                      {($ VSub_Name "$age")} {(Lit_Other "+")} {(1)}
                                    )
                                  ]
                                  spids: [39129 39145]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name "$func_arith_result")}
                                      spids: [39148]
                                    )
                                  ]
                                  spids: [39148]
                                )
                                (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: [39163]
                                            )
                                          ]
                                          spids: [39163]
                                        )
                                      ]
                                      spids: [39160 39161 39166 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other "*")}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring_prefix)
                                              op: Equal
                                              rhs: {(sgi)}
                                              spids: [39172]
                                            )
                                          ]
                                          spids: [39172]
                                        )
                                      ]
                                      spids: [39169 39170 39175 -1]
                                    )
                                  ]
                                  spids: [39153 39157 39178]
                                )
                                (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: [39181]
                                    )
                                  ]
                                  spids: [39181]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name "$revision")}
                                      spids: [39195]
                                    )
                                  ]
                                  spids: [39195]
                                )
                                (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: [39224]
                                            )
                                          ]
                                          spids: [39224]
                                        )
                                        (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: [39237]
                                            )
                                          ]
                                          spids: [39237]
                                        )
                                        (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: [39241]
                                            )
                                          ]
                                          spids: [39241]
                                        )
                                      ]
                                      spids: [39212 39252]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name "$major")}
                                      spids: [39260]
                                    )
                                  ]
                                  spids: [39260]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$major") (.) ($ VSub_Name "$revision"))}
                                      spids: [39265]
                                    )
                                  ]
                                  spids: [39265]
                                )
                              ]
                              spids: [39093 39098 39273 -1]
                            )
                            (case_arm
                              pat_list: [{(linux)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name "$current")} {(-)} {($ VSub_Name "$age")})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name "$func_arith_result")}
                                      spids: [39290]
                                    )
                                  ]
                                  spids: [39290]
                                )
                                (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: [39295]
                                    )
                                  ]
                                  spids: [39295]
                                )
                              ]
                              spids: [39277 39278 39305 -1]
                            )
                            (case_arm
                              pat_list: [{(osf)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name "$current")} {(-)} {($ VSub_Name "$age")})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name "$func_arith_result")}
                                      spids: [39322]
                                    )
                                  ]
                                  spids: [39322]
                                )
                                (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: [39327]
                                    )
                                  ]
                                  spids: [39327]
                                )
                                (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: [39338]
                                    )
                                  ]
                                  spids: [39338]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name "$age")}
                                      spids: [39353]
                                    )
                                  ]
                                  spids: [39353]
                                )
                                (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: [39382]
                                            )
                                          ]
                                          spids: [39382]
                                        )
                                        (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: [39395]
                                            )
                                          ]
                                          spids: [39395]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$verstring") (":") 
                                                    (${ VSub_Name iface) (.0)
                                                  )
                                                }
                                              spids: [39399]
                                            )
                                          ]
                                          spids: [39399]
                                        )
                                      ]
                                      spids: [39370 39410]
                                    )
                                )
                                (C {(func_append)} {(verstring)} {(DQ (":") (${ VSub_Name current) (.0))})
                              ]
                              spids: [39309 39310 39431 -1]
                            )
                            (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: [39439]
                                    )
                                  ]
                                  spids: [39439]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name "$current"))}
                                      spids: [39446]
                                    )
                                  ]
                                  spids: [39446]
                                )
                              ]
                              spids: [39435 39436 39453 -1]
                            )
                            (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: [39461]
                                    )
                                  ]
                                  spids: [39461]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ (.) ($ VSub_Name "$current") (.) ($ VSub_Name "$revision"))
                                        }
                                      spids: [39468]
                                    )
                                  ]
                                  spids: [39468]
                                )
                              ]
                              spids: [39457 39458 39477 -1]
                            )
                            (case_arm
                              pat_list: [{(windows)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name "$current")} {(-)} {($ VSub_Name "$age")})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name "$func_arith_result")}
                                      spids: [39502]
                                    )
                                  ]
                                  spids: [39502]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (-) ($ VSub_Name "$major"))}
                                      spids: [39506]
                                    )
                                  ]
                                  spids: [39506]
                                )
                              ]
                              spids: [39481 39482 39513 -1]
                            )
                            (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: [39517 39518 39531 -1]
                            )
                          ]
                          spids: [38940 38944 39534]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name "$vinfo"))})
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$release"))})
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [39566]
                                    )
                                  ]
                                  spids: [39566]
                                )
                                (Case
                                  to_match: {($ VSub_Name "$version_type")}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(darwin)}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [39588]
                                            )
                                          ]
                                          spids: [39588]
                                        )
                                      ]
                                      spids: [39576 39577 39591 -1]
                                    )
                                    (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: [39598]
                                            )
                                          ]
                                          spids: [39598]
                                        )
                                      ]
                                      spids: [39594 39595 39604 -1]
                                    )
                                  ]
                                  spids: [39569 39573 39607]
                                )
                                (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: {(SQ )}
                                              spids: [39626]
                                            )
                                          ]
                                          spids: [39626]
                                        )
                                      ]
                                      spids: [-1 39623]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: {(DQ (.0.0))}
                                          spids: [39632]
                                        )
                                      ]
                                      spids: [39632]
                                    )
                                  ]
                                  spids: [39629 39638]
                                )
                              ]
                              spids: [-1 39563]
                            )
                          ]
                          spids: [-1 39641]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name "$avoid_version"))} 
                                          {(Lit_Other "=")} {(yes)}
                                        )
                                        (C {(test)} {(DQ ($ VSub_Name "$need_version"))} 
                                          {(Lit_Other "=")} {(no)}
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [39677]
                                    )
                                  ]
                                  spids: [39677]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [39680]
                                    )
                                  ]
                                  spids: [39680]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: {(DQ )}
                                      spids: [39683]
                                    )
                                  ]
                                  spids: [39683]
                                )
                              ]
                              spids: [-1 39674]
                            )
                          ]
                          spids: [-1 39688]
                        )
                        (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: [39737]
                                            )
                                          ]
                                          spids: [39737]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:build_old_libs)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [39741]
                                            )
                                          ]
                                          spids: [39741]
                                        )
                                      ]
                                      spids: [-1 39725]
                                    )
                                  ]
                                  spids: [-1 39745]
                                )
                              ]
                              spids: [-1 39709]
                            )
                          ]
                          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: [39755]
                                )
                              ]
                              spids: [39755]
                            )
                          ]
                          spids: [39748 39761]
                        )
                      ]
                      spids: [38314 39765]
                    )
                    (C {(func_generate_dlsyms)} {(DQ ($ VSub_Name "$libname"))} 
                      {(DQ ($ VSub_Name "$libname"))} {(DQ (yes))}
                    )
                    (C {(func_append)} {(libobjs)} {(DQ (" ") ($ VSub_Name "$symfileobj"))})
                    (AndOr
                      children: [
                        (C {(test)} {(DQ (X) ($ VSub_Name "$libobjs"))} {(Lit_Other "=")} {(DQ ("X "))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:libobjs)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [39809]
                            )
                          ]
                          spids: [39809]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$opt_mode"))} 
                                  {(KW_Bang "!") (Lit_Other "=")} {(relink)}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:removelist)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [39838]
                                )
                              ]
                              spids: [39838]
                            )
                            (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: [39842 39849]
                                      )
                                    }
                                  spids: [39841]
                                )
                              ]
                              spids: [39841]
                            )
                            (ForEach
                              iter_name: p
                              iter_words: [{($ VSub_Name "$tempremovelist")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name "$p")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (.) ($ VSub_Name "$objext")}
                                            {(Lit_Other "*") (.gcno)}
                                          ]
                                          spids: [39871 39879 39882 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {($ VSub_Name "$output_objdir") (/) 
                                              ($ VSub_Name "$outputname")
                                            }
                                            {($ VSub_Name "$output_objdir") (/) 
                                              ($ VSub_Name "$libname") (.) (Lit_Other "*")
                                            }
                                            {($ VSub_Name "$output_objdir") (/) 
                                              (${ VSub_Name libname) (${ VSub_Name release) (.) (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (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: -1
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [39950]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [39953]
                                                                    )
                                                                  ]
                                                                )
                                                              ]
                                                              negated: False
                                                            )
                                                          ]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [-1 39957]
                                                        )
                                                      ]
                                                      spids: [-1 39963]
                                                    )
                                                  ]
                                                  spids: [-1 39929]
                                                )
                                              ]
                                              spids: [-1 39966]
                                            )
                                            (C {(func_append)} {(removelist)} 
                                              {(DQ (" ") ($ VSub_Name "$p"))}
                                            )
                                          ]
                                          spids: [39885 39909 39979 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          spids: [39982 39983 39985 -1]
                                        )
                                      ]
                                      spids: [39864 39868 39988]
                                    )
                                  ]
                                  spids: [39861 39991]
                                )
                              spids: [39857 39859]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$removelist"))})
                                (C {(func_show_eval)} 
                                  {
                                    (DQ (${ VSub_Name RM) ("r ") 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\$">
                                      ) (removelist)
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          spids: [-1 39827]
                        )
                      ]
                      spids: [-1 40018]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  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)}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(func_append)} {(oldlibs)} 
                              {
                                (DQ (" ") ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$libname") (.) 
                                  ($ VSub_Name "$libext")
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: 
                                    {(DQ ($ VSub_Name "$objs") (" ")) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ ($ VSub_Name "$libobjs"))}
                                                  )
                                                  (C {($ VSub_Name "$SP2NL")})
                                                  (C {($ VSub_Name "$SED")} 
                                                    {
                                                      (DQ (/) 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\.">
                                                        ) (${ VSub_Name libext) (Lit_Other "$") ("/d; ") ($ VSub_Name "$lo2o")
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name "$NL2SP")})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [40080 40109]
                                      )
                                    }
                                  spids: [40075]
                                )
                              ]
                              spids: [40075]
                            )
                          ]
                          spids: [-1 40053]
                        )
                      ]
                      spids: [-1 40112]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$xrpath"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:temp_xrpath)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [40159]
                                )
                              ]
                              spids: [40159]
                            )
                            (ForEach
                              iter_name: libdir
                              iter_words: [{($ VSub_Name "$xrpath")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_replace_sysroot)} {(DQ ($ VSub_Name "$libdir"))})
                                    (C {(func_append)} {(temp_xrpath)} 
                                      {(DQ (" -R") ($ VSub_Name "$func_replace_sysroot_result"))}
                                    )
                                    (Case
                                      to_match: {(DQ ($ VSub_Name "$finalize_rpath") (" "))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$libdir") (" ")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [40201 40208 40210 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(finalize_rpath)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [40213 40214 40225 -1]
                                        )
                                      ]
                                      spids: [40191 40198 40228]
                                    )
                                  ]
                                  spids: [40171 40231]
                                )
                              spids: [40167 40169]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          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)}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dependency_libs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$temp_xrpath") (" ") 
                                                ($ VSub_Name "$dependency_libs")
                                              )
                                            }
                                          spids: [40263]
                                        )
                                      ]
                                      spids: [40263]
                                    )
                                  ]
                                  spids: [-1 40260]
                                )
                              ]
                              spids: [-1 40271]
                            )
                          ]
                          spids: [-1 40152]
                        )
                      ]
                      spids: [-1 40274]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$dlfiles"))}
                          spids: [40282]
                        )
                      ]
                      spids: [40282]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlfiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [40288]
                        )
                      ]
                      spids: [40288]
                    )
                    (ForEach
                      iter_name: lib
                      iter_words: [{($ VSub_Name "$old_dlfiles")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: 
                                {
                                  (DQ (" ") ($ VSub_Name "$dlprefiles") (" ") ($ VSub_Name "$dlfiles") 
                                    (" ")
                                  )
                                }
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$lib") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  spids: [40316 40323 40325 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(dlfiles)} {(DQ (" ") ($ VSub_Name "$lib"))})
                                  ]
                                  spids: [40328 40329 40340 -1]
                                )
                              ]
                              spids: [40303 40313 40343]
                            )
                          ]
                          spids: [40300 40346]
                        )
                      spids: [40296 40298]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlprefiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$dlprefiles"))}
                          spids: [40354]
                        )
                      ]
                      spids: [40354]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [40360]
                        )
                      ]
                      spids: [40360]
                    )
                    (ForEach
                      iter_name: lib
                      iter_words: [{($ VSub_Name "$old_dlprefiles")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ ($ VSub_Name "$dlprefiles") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$lib") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  spids: [40385 40392 40394 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(dlprefiles)} {(DQ (" ") ($ VSub_Name "$lib"))})
                                  ]
                                  spids: [40397 40398 40409 -1]
                                )
                              ]
                              spids: [40375 40382 40412]
                            )
                          ]
                          spids: [40372 40415]
                        )
                      spids: [40368 40370]
                    )
                    (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: [40456 40507 40514 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-rhapsody) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-darwin1.) 
                                              (Lit_Other "[") (012) (Lit_Other "]")
                                            }
                                          ]
                                          action: [
                                            (C {(func_append)} {(deplibs)} {(DQ (" System.ltframework"))})
                                          ]
                                          spids: [40517 40532 40548 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-netbsd) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [40551 40556 40563 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-openbsd) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-freebsd) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-dragonfly) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [40566 40587 40594 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sco3.2v5) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sco5v6) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [40597 40610 40617 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sysv4.2uw2) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sysv5) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-unixware) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-OpenUNIX) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [40620 40649 40656 -1]
                                        )
                                        (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: [
                                                    (C {(func_append)} {(deplibs)} {(DQ (" -lc"))})
                                                  ]
                                                  spids: [-1 40682]
                                                )
                                              ]
                                              spids: [-1 40694]
                                            )
                                          ]
                                          spids: [40659 40660 40697 -1]
                                        )
                                      ]
                                      spids: [40449 40453 40700]
                                    )
                                  ]
                                  spids: [-1 40446]
                                )
                              ]
                              spids: [-1 40703]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$name")}
                                  spids: [40711]
                                )
                              ]
                              spids: [40711]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$libname")}
                                  spids: [40715]
                                )
                              ]
                              spids: [40715]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$release")}
                                  spids: [40719]
                                )
                              ]
                              spids: [40719]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$versuffix")}
                                  spids: [40723]
                                )
                              ]
                              spids: [40723]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$major")}
                                  spids: [40727]
                                )
                              ]
                              spids: [40727]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [40743]
                                )
                              ]
                              spids: [40743]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [40748]
                                )
                              ]
                              spids: [40748]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [40753]
                                )
                              ]
                              spids: [40753]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [40758]
                                )
                              ]
                              spids: [40758]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:droppeddeps)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [40761]
                                )
                              ]
                              spids: [40761]
                            )
                            (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: [40796]
                                        )
                                      ]
                                      spids: [40796]
                                    )
                                  ]
                                  spids: [40772 40773 40800 -1]
                                )
                                (case_arm
                                  pat_list: [{(test_compile)}]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (C {($ VSub_Name "$RM")} {(conftest.c)})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (SimpleCommand
                                      words: [{(cat)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {(conftest.c)}
                                          spids: [40834]
                                        )
                                        (HereDoc
                                          op_id: Redir_DLess
                                          fd: -1
                                          body: {(DQ ("\t  int main() { return 0; }\n"))}
                                          do_expansion: True
                                          here_end: EOF
                                          was_filled: True
                                          spids: [40838]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (C {($ VSub_Name "$RM")} {(conftest)})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {($ VSub_Name "$LTCC")} {($ VSub_Name "$LTCFLAGS")} 
                                                  {(-o)} {(conftest)} {(conftest.c)} {($ VSub_Name "$deplibs")}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:ldd_output)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [(C {(ldd)} {(conftest)})]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [40871 40875]
                                                      )
                                                    }
                                                  spids: [40870]
                                                )
                                              ]
                                              spids: [40870]
                                            )
                                            (ForEach
                                              iter_name: i
                                              iter_words: [{($ VSub_Name "$deplibs")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$i")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(-l) (Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_stripname)} {(-l)} {(SQ )} 
                                                              {(DQ ($ VSub_Name "$i"))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
"$func_stripname_result"
                                                                      )
                                                                    }
                                                                  spids: [40914]
                                                                )
                                                              ]
                                                              spids: [40914]
                                                            )
                                                            (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: [
                                                                            (C {(func_append)} 
                                                                              {(newdeplibs)} {(DQ (" ") ($ VSub_Name "$i"))}
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: i
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(DQ )}
                                                                                  spids: [40971]
                                                                                )
                                                                              ]
                                                                              spids: [40971]
                                                                            )
                                                                          ]
                                                                          spids: [40951 40958 40976 -1]
                                                                        )
                                                                      ]
                                                                      spids: [40938 40948 40979]
                                                                    )
                                                                  ]
                                                                  spids: [-1 40935]
                                                                )
                                                              ]
                                                              spids: [-1 40982]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-n)} 
                                                                          {(DQ ($ VSub_Name "$i"))}
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:libname)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (C {(eval)} 
                                                                                        {
                                                                                          (DQ 
                                                                                            (EscapedLiteralPart
                                                                                              token: 
                                                                                                <
Lit_EscapedChar "\\\\"
                                                                                                >
                                                                                            ) ($ VSub_Name "$ECHO") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                                                                            ($ 
VSub_Name "$libname_spec"
                                                                                            ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                                                          )
                                                                                        }
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [41001 41012]
                                                                              )
                                                                            }
                                                                          spids: [41000]
                                                                        )
                                                                      ]
                                                                      spids: [41000]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: deplib_matches
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (C {(eval)} 
                                                                                        {
                                                                                          (DQ 
                                                                                            (EscapedLiteralPart
                                                                                              token: 
                                                                                                <
Lit_EscapedChar "\\\\"
                                                                                                >
                                                                                            ) ($ VSub_Name "$ECHO") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                                                                            ($ 
VSub_Name "$library_names_spec"
                                                                                            ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                                                          )
                                                                                        }
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [41016 41027]
                                                                              )
                                                                            }
                                                                          spids: [41015]
                                                                        )
                                                                      ]
                                                                      spids: [41015]
                                                                    )
                                                                    (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: [41040]
                                                                        )
                                                                      ]
                                                                      spids: [41040]
                                                                    )
                                                                    (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: [
41048
41061
                                                                                      ]
                                                                                    )
                                                                                  } {(-ne)} {(0)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ";">
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(func_append)} 
                                                                              {(newdeplibs)} {(DQ (" ") ($ VSub_Name "$i"))}
                                                                            )
                                                                          ]
                                                                          spids: [-1 41069]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: droppeddeps
                                                                                )
                                                                              op: Equal
                                                                              rhs: {(yes)}
                                                                              spids: [41085]
                                                                            )
                                                                          ]
                                                                          spids: [41085]
                                                                        )
                                                                        (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: [41082 41136]
                                                                    )
                                                                  ]
                                                                  spids: [-1 40997]
                                                                )
                                                              ]
                                                              spids: [-1 41139]
                                                            )
                                                          ]
                                                          spids: [40897 40899 41142 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(newdeplibs)} 
                                                              {(DQ (" ") ($ VSub_Name "$i"))}
                                                            )
                                                          ]
                                                          spids: [41145 41146 41159 -1]
                                                        )
                                                      ]
                                                      spids: [40890 40894 41162]
                                                    )
                                                  ]
                                                  spids: [40887 41165]
                                                )
                                              spids: [40883 40885]
                                            )
                                          ]
                                          spids: [-1 40867]
                                        )
                                      ]
                                      else_action: [
                                        (ForEach
                                          iter_name: i
                                          iter_words: [{($ VSub_Name "$deplibs")}]
                                          do_arg_iter: False
                                          body: 
                                            (DoGroup
                                              children: [
                                                (Case
                                                  to_match: {($ VSub_Name "$i")}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [{(-l) (Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_stripname)} {(-l)} {(SQ )} 
                                                          {(DQ ($ VSub_Name "$i"))}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:name)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  ($ VSub_Name 
"$func_stripname_result"
                                                                  )
                                                                }
                                                              spids: [41215]
                                                            )
                                                          ]
                                                          spids: [41215]
                                                        )
                                                        (AndOr
                                                          children: [
                                                            (C {($ VSub_Name "$opt_dry_run")})
                                                            (C {($ VSub_Name "$RM")} {(conftest)})
                                                          ]
                                                          op_id: Op_DPipe
                                                        )
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {($ VSub_Name "$LTCC")} 
                                                                      {($ VSub_Name "$LTCFLAGS")} {(-o)} {(conftest)} {(conftest.c)} {($ VSub_Name "$i")}
                                                                    )
                                                                  terminator: <Op_Semi ";">
                                                                )
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:ldd_output)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (CommandSubPart
                                                                            command_list: 
                                                                              (CommandList
                                                                                children: [
                                                                                  (C {(ldd)} 
                                                                                    {(conftest)}
                                                                                  )
                                                                                ]
                                                                              )
                                                                            left_token: 
                                                                              <Left_Backtick "`">
                                                                            spids: [41247 41251]
                                                                          )
                                                                        }
                                                                      spids: [41246]
                                                                    )
                                                                  ]
                                                                  spids: [41246]
                                                                )
                                                                (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: [
                                                                                (C {(func_append)} 
                                                                                  {(newdeplibs)} {(DQ (" ") ($ VSub_Name "$i"))}
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: i
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: {(DQ )}
                                                                                      spids: [41307]
                                                                                    )
                                                                                  ]
                                                                                  spids: [41307]
                                                                                )
                                                                              ]
                                                                              spids: [
41287
41294
41312
-1
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [41274 41284 41315]
                                                                        )
                                                                      ]
                                                                      spids: [-1 41271]
                                                                    )
                                                                  ]
                                                                  spids: [-1 41318]
                                                                )
                                                                (If
                                                                  arms: [
                                                                    (if_arm
                                                                      cond: [
                                                                        (Sentence
                                                                          child: 
                                                                            (C {(test)} {(-n)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name "$i")
                                                                                )
                                                                              }
                                                                            )
                                                                          terminator: <Op_Semi ";">
                                                                        )
                                                                      ]
                                                                      action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: libname
                                                                                )
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (CommandSubPart
                                                                                    command_list: 
                                                                                      (CommandList
                                                                                        children: [
                                                                                          (C {(eval)} 
                                                                                            {
                                                                                              (DQ 
                                                                                                (EscapedLiteralPart
                                                                                                  token: 
                                                                                                    <
Lit_EscapedChar "\\\\"
                                                                                                    >
                                                                                                ) ($ VSub_Name "$ECHO") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                                                                                ($ 
VSub_Name "$libname_spec"
                                                                                                ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    left_token: 
                                                                                      <
Left_Backtick "`"
                                                                                      >
                                                                                    spids: [
41337
41348
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [41336]
                                                                            )
                                                                          ]
                                                                          spids: [41336]
                                                                        )
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: 
deplib_matches
                                                                                )
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (CommandSubPart
                                                                                    command_list: 
                                                                                      (CommandList
                                                                                        children: [
                                                                                          (C {(eval)} 
                                                                                            {
                                                                                              (DQ 
                                                                                                (EscapedLiteralPart
                                                                                                  token: 
                                                                                                    <
Lit_EscapedChar "\\\\"
                                                                                                    >
                                                                                                ) ($ VSub_Name "$ECHO") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                                                                                ($ 
VSub_Name "$library_names_spec"
                                                                                                ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    left_token: 
                                                                                      <
Left_Backtick "`"
                                                                                      >
                                                                                    spids: [
41352
41363
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [41351]
                                                                            )
                                                                          ]
                                                                          spids: [41351]
                                                                        )
                                                                        (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: [41376]
                                                                            )
                                                                          ]
                                                                          spids: [41376]
                                                                        )
                                                                        (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: [
41384
41397
                                                                                          ]
                                                                                        )
                                                                                      } {(-ne)} {(0)}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ";">
                                                                                )
                                                                              ]
                                                                              action: [
                                                                                (C {(func_append)} 
                                                                                  {(newdeplibs)} {(DQ (" ") ($ VSub_Name "$i"))}
                                                                                )
                                                                              ]
                                                                              spids: [-1 41405]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
droppeddeps
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(yes)}
                                                                                  spids: [41421]
                                                                                )
                                                                              ]
                                                                              spids: [41421]
                                                                            )
                                                                            (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: [41418 41472]
                                                                        )
                                                                      ]
                                                                      spids: [-1 41333]
                                                                    )
                                                                  ]
                                                                  spids: [-1 41475]
                                                                )
                                                              ]
                                                              spids: [-1 41243]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:droppeddeps)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [41481]
                                                                )
                                                              ]
                                                              spids: [41481]
                                                            )
                                                            (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: [41478 41518]
                                                        )
                                                      ]
                                                      spids: [41198 41200 41521 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} {(newdeplibs)} 
                                                          {(DQ (" ") ($ VSub_Name "$i"))}
                                                        )
                                                      ]
                                                      spids: [41524 41525 41538 -1]
                                                    )
                                                  ]
                                                  spids: [41191 41195 41541]
                                                )
                                              ]
                                              spids: [41188 41544]
                                            )
                                          spids: [41184 41186]
                                        )
                                      ]
                                      spids: [41168 41547]
                                    )
                                  ]
                                  spids: [40803 40804 41550 -1]
                                )
                                (case_arm
                                  pat_list: [{(file_magic) (Lit_Other "*")}]
                                  action: [
                                    (Sentence
                                      child: 
                                        (C {(set)} {(dummy)} {($ VSub_Name "$deplibs_check_method")})
                                      terminator: <Op_Semi ";">
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:file_magic_regex)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(expr)} 
                                                        {(DQ ($ VSub_Name "$deplibs_check_method"))} {(Lit_Other ":")} 
                                                        {
                                                          (DQ ($ VSub_Number "$1") (" ") 
                                                            (EscapedLiteralPart
                                                              token: <Lit_EscapedChar "\\(">
                                                            ) (".*") (EscapedLiteralPart token:<Lit_EscapedChar "\\)">)
                                                          )
                                                        }
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [41569 41585]
                                              )
                                            }
                                          spids: [41568]
                                        )
                                      ]
                                      spids: [41568]
                                    )
                                    (ForEach
                                      iter_name: a_deplib
                                      iter_words: [{($ VSub_Name "$deplibs")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name "$a_deplib")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-l) (Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_stripname)} {(-l)} {(SQ )} 
                                                      {(DQ ($ VSub_Name "$a_deplib"))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:name)
                                                          op: Equal
                                                          rhs: 
                                                            {($ VSub_Name "$func_stripname_result")}
                                                          spids: [41624]
                                                        )
                                                      ]
                                                      spids: [41624]
                                                    )
                                                    (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: [
                                                                    (C {(func_append)} {(newdeplibs)} 
                                                                      {
                                                                        (DQ (" ") 
                                                                          ($ VSub_Name "$a_deplib")
                                                                        )
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: a_deplib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(DQ )}
                                                                          spids: [41681]
                                                                        )
                                                                      ]
                                                                      spids: [41681]
                                                                    )
                                                                  ]
                                                                  spids: [41661 41668 41686 -1]
                                                                )
                                                              ]
                                                              spids: [41648 41658 41689]
                                                            )
                                                          ]
                                                          spids: [-1 41645]
                                                        )
                                                      ]
                                                      spids: [-1 41692]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {(DQ ($ VSub_Name "$a_deplib"))}
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(eval)} 
                                                                                {
                                                                                  (DQ 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar "\\\\"
                                                                                        >
                                                                                    ) ($ VSub_Name "$ECHO") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                                                                    ($ VSub_Name 
"$libname_spec"
                                                                                    ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                                                  )
                                                                                }
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick "`">
                                                                        spids: [41711 41722]
                                                                      )
                                                                    }
                                                                  spids: [41710]
                                                                )
                                                              ]
                                                              spids: [41710]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-n)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
"$file_magic_glob"
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: libnameglob
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (Pipeline
                                                                                        children: [
                                                                                          (C 
                                                                                            {
                                                                                              (
func_echo_all
                                                                                              )
                                                                                            } {(DQ ($ VSub_Name "$libname"))}
                                                                                          )
                                                                                          (C 
                                                                                            {
                                                                                              ($ 
VSub_Name "$SED"
                                                                                              )
                                                                                            } {(-e)} {($ VSub_Name "$file_magic_glob")}
                                                                                          )
                                                                                        ]
                                                                                        negated: 
False
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [41740 41754]
                                                                              )
                                                                            }
                                                                          spids: [41739]
                                                                        )
                                                                      ]
                                                                      spids: [41739]
                                                                    )
                                                                  ]
                                                                  spids: [-1 41736]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:libnameglob)
                                                                      op: Equal
                                                                      rhs: {($ VSub_Name "$libname")}
                                                                      spids: [41760]
                                                                    )
                                                                  ]
                                                                  spids: [41760]
                                                                )
                                                              ]
                                                              spids: [41757 41764]
                                                            )
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name "$want_nocaseglob")
                                                                    )
                                                                  } {(Lit_Other "=")} {(yes)}
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:nocaseglob)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (CommandSubPart
                                                                            command_list: 
                                                                              (CommandList
                                                                                children: [
                                                                                  (C {(shopt)} {(-p)} 
                                                                                    {(nocaseglob)}
                                                                                  )
                                                                                ]
                                                                              )
                                                                            left_token: 
                                                                              <Left_Backtick "`">
                                                                            spids: [41780 41786]
                                                                          )
                                                                        }
                                                                      spids: [41779]
                                                                    )
                                                                  ]
                                                                  spids: [41779]
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                            (ForEach
                                                              iter_name: i
                                                              iter_words: [
                                                                {($ VSub_Name "$lib_search_path")}
                                                                {
                                                                  ($ VSub_Name "$sys_lib_search_path")
                                                                }
                                                                {($ VSub_Name "$shlib_search_path")}
                                                              ]
                                                              do_arg_iter: False
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (C {(test)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
"$want_nocaseglob"
                                                                                      )
                                                                                    )
                                                                                  } {(Lit_Other "=")} {(yes)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ";">
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(shopt)} {(-s)} 
                                                                              {(nocaseglob)}
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
potential_libs
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (CommandSubPart
                                                                                        command_list: 
                                                                                          (CommandList
                                                                                            children: [
                                                                                              (SimpleCommand
                                                                                                words: [
                                                                                                  {
                                                                                                    (
ls
                                                                                                    )
                                                                                                  }
                                                                                                  {
                                                                                                    ($ 
VSub_Name "$i"
                                                                                                    ) (/) ($ VSub_Name "$libnameglob") (Lit_Other "[") (.-) (Lit_Other "]") (Lit_Other "*")
                                                                                                  }
                                                                                                ]
                                                                                                redirects: [
                                                                                                  (Redir
                                                                                                    op_id: 
Redir_Great
                                                                                                    fd: 
2
                                                                                                    arg_word: 
                                                                                                      {
                                                                                                        (
/dev/null
                                                                                                        )
                                                                                                      }
                                                                                                    spids: [
41840
                                                                                                    ]
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
41829
41842
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [41828]
                                                                                )
                                                                              ]
                                                                              spids: [41828]
                                                                            )
                                                                            (C 
                                                                              {
                                                                                ($ VSub_Name 
"$nocaseglob"
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [-1 41818]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: 
potential_libs
                                                                                )
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (CommandSubPart
                                                                                    command_list: 
                                                                                      (CommandList
                                                                                        children: [
                                                                                          (SimpleCommand
                                                                                            words: [
                                                                                              {(ls)}
                                                                                              {
                                                                                                ($ 
VSub_Name "$i"
                                                                                                ) (/) ($ VSub_Name "$libnameglob") (Lit_Other "[") (.-) (Lit_Other "]") (Lit_Other "*")
                                                                                              }
                                                                                            ]
                                                                                            redirects: [
                                                                                              (Redir
                                                                                                op_id: 
Redir_Great
                                                                                                fd: 
2
                                                                                                arg_word: 
                                                                                                  {
                                                                                                    (
/dev/null
                                                                                                    )
                                                                                                  }
                                                                                                spids: [
41863
                                                                                                ]
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    left_token: 
                                                                                      <
Left_Backtick "`"
                                                                                      >
                                                                                    spids: [
41852
41865
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [41851]
                                                                            )
                                                                          ]
                                                                          spids: [41851]
                                                                        )
                                                                      ]
                                                                      spids: [41848 41868]
                                                                    )
                                                                    (ForEach
                                                                      iter_name: potent_lib
                                                                      iter_words: [
                                                                        {
                                                                          ($ VSub_Name 
"$potential_libs"
                                                                          )
                                                                        }
                                                                      ]
                                                                      do_arg_iter: False
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
ls
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (
-lLd
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name "$potent_lib"
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
41897
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name "$GREP"
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (
" -> "
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
-1
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
41909
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
";"
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 41913]
                                                                                )
                                                                              ]
                                                                              spids: [-1 41919]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$potent_lib"
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [41942]
                                                                                )
                                                                              ]
                                                                              spids: [41942]
                                                                            )
                                                                            (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: [
41958
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ";">
                                                                                )
                                                                              ]
                                                                              body: 
                                                                                (DoGroup
                                                                                  children: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
potliblink
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (CommandSubPart
                                                                                                command_list: 
                                                                                                  (CommandList
                                                                                                    children: [
                                                                                                      (Pipeline
                                                                                                        children: [
                                                                                                          (C 
                                                                                                            {
                                                                                                              (
ls
                                                                                                              )
                                                                                                            } {(-ld)} {($ VSub_Name "$potlib")}
                                                                                                          )
                                                                                                          (C 
                                                                                                            {
                                                                                                              (${ 
VSub_Name SED
                                                                                                              )
                                                                                                            } {(SQ <"s/.* -> //">)}
                                                                                                          )
                                                                                                        ]
                                                                                                        negated: 
False
                                                                                                      )
                                                                                                    ]
                                                                                                  )
                                                                                                left_token: 
                                                                                                  <
Left_Backtick "`"
                                                                                                  >
                                                                                                spids: [
41966
41982
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
41965
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [41965]
                                                                                    )
                                                                                    (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: [
42011
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
42011
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
41992
42009
42015
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other "*"
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
potlib
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (CommandSubPart
                                                                                                        command_list: 
                                                                                                          (CommandList
                                                                                                            children: [
                                                                                                              (Pipeline
                                                                                                                children: [
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      ($ 
VSub_Name "$ECHO"
                                                                                                                      )
                                                                                                                    } {(DQ ($ VSub_Name "$potlib"))}
                                                                                                                  )
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      ($ 
VSub_Name "$SED"
                                                                                                                      )
                                                                                                                    } {(SQ <"s,[^/]*$,,">)}
                                                                                                                  )
                                                                                                                ]
                                                                                                                negated: 
False
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick "`"
                                                                                                          >
                                                                                                        spids: [
42022
42036
                                                                                                        ]
                                                                                                      ) (DQ ($ VSub_Name "$potliblink"))
                                                                                                    }
                                                                                                  spids: [
42021
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
42021
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
42018
42019
42040
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
41985
41989
42043
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [41962 42046]
                                                                                )
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
eval
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  ($ 
VSub_Name "$file_magic_cmd"
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (EscapedLiteralPart
                                                                                                    token: 
                                                                                                      <
Lit_EscapedChar "\\\""
                                                                                                      >
                                                                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (potlib) 
                                                                                                  (EscapedLiteralPart
                                                                                                    token: 
                                                                                                      <
Lit_EscapedChar "\\\""
                                                                                                      >
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
42060
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name "$SED"
                                                                                                )
                                                                                              } {(-e)} {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name "$EGREP"
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name "$file_magic_regex"
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
-1
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
42081
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
";"
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (C {(func_append)} 
                                                                                      {(newdeplibs)} {(DQ (" ") ($ VSub_Name "$a_deplib"))}
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
a_deplib
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(DQ )}
                                                                                          spids: [
42099
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [42099]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 42086]
                                                                                )
                                                                              ]
                                                                              spids: [-1 42109]
                                                                            )
                                                                          ]
                                                                          spids: [41880 42112]
                                                                        )
                                                                      spids: [41876 41878]
                                                                    )
                                                                  ]
                                                                  spids: [41802 42115]
                                                                )
                                                              spids: [41794 41800]
                                                            )
                                                          ]
                                                          spids: [-1 41707]
                                                        )
                                                      ]
                                                      spids: [-1 42118]
                                                    )
                                                    (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: [42136]
                                                                )
                                                              ]
                                                              spids: [42136]
                                                            )
                                                            (C {(echo)})
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** Warning: linker path does not have real file for library "
                                                                  ) ($ VSub_Name "$a_deplib") (.)
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
"*** I have the capability to make that library automatically link in when"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
"*** you link to this library.  But I can only do this if you have a"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
"*** shared version of the library, which you do not appear to have"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
"*** because I did check the linker path looking for a file starting"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name "$potlib")
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {($ VSub_Name "$ECHO")} 
                                                                      {
                                                                        (DQ ("*** with ") 
                                                                          ($ VSub_Name "$libname") (" but no candidates were found. (...for file magic test)")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [-1 42192]
                                                                )
                                                              ]
                                                              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: [42204 42224]
                                                            )
                                                          ]
                                                          spids: [-1 42133]
                                                        )
                                                      ]
                                                      spids: [-1 42227]
                                                    )
                                                  ]
                                                  spids: [41607 41609 42230 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(newdeplibs)} 
                                                      {(DQ (" ") ($ VSub_Name "$a_deplib"))}
                                                    )
                                                  ]
                                                  spids: [42233 42234 42251 -1]
                                                )
                                              ]
                                              spids: [41600 41604 42254]
                                            )
                                          ]
                                          spids: [41597 42257]
                                        )
                                      spids: [41593 41595]
                                    )
                                  ]
                                  spids: [41553 41555 42263 -1]
                                )
                                (case_arm
                                  pat_list: [{(match_pattern) (Lit_Other "*")}]
                                  action: [
                                    (Sentence
                                      child: 
                                        (C {(set)} {(dummy)} {($ VSub_Name "$deplibs_check_method")})
                                      terminator: <Op_Semi ";">
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:match_pattern_regex)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(expr)} 
                                                        {(DQ ($ VSub_Name "$deplibs_check_method"))} {(Lit_Other ":")} 
                                                        {
                                                          (DQ ($ VSub_Number "$1") (" ") 
                                                            (EscapedLiteralPart
                                                              token: <Lit_EscapedChar "\\(">
                                                            ) (".*") (EscapedLiteralPart token:<Lit_EscapedChar "\\)">)
                                                          )
                                                        }
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [42282 42298]
                                              )
                                            }
                                          spids: [42281]
                                        )
                                      ]
                                      spids: [42281]
                                    )
                                    (ForEach
                                      iter_name: a_deplib
                                      iter_words: [{($ VSub_Name "$deplibs")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name "$a_deplib")}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-l) (Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_stripname)} {(-l)} {(SQ )} 
                                                      {(DQ ($ VSub_Name "$a_deplib"))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:name)
                                                          op: Equal
                                                          rhs: 
                                                            {($ VSub_Name "$func_stripname_result")}
                                                          spids: [42337]
                                                        )
                                                      ]
                                                      spids: [42337]
                                                    )
                                                    (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: [
                                                                    (C {(func_append)} {(newdeplibs)} 
                                                                      {
                                                                        (DQ (" ") 
                                                                          ($ VSub_Name "$a_deplib")
                                                                        )
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: a_deplib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(DQ )}
                                                                          spids: [42394]
                                                                        )
                                                                      ]
                                                                      spids: [42394]
                                                                    )
                                                                  ]
                                                                  spids: [42374 42381 42399 -1]
                                                                )
                                                              ]
                                                              spids: [42361 42371 42402]
                                                            )
                                                          ]
                                                          spids: [-1 42358]
                                                        )
                                                      ]
                                                      spids: [-1 42405]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {(DQ ($ VSub_Name "$a_deplib"))}
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(eval)} 
                                                                                {
                                                                                  (DQ 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar "\\\\"
                                                                                        >
                                                                                    ) ($ VSub_Name "$ECHO") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                                                                    ($ VSub_Name 
"$libname_spec"
                                                                                    ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                                                  )
                                                                                }
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick "`">
                                                                        spids: [42424 42435]
                                                                      )
                                                                    }
                                                                  spids: [42423]
                                                                )
                                                              ]
                                                              spids: [42423]
                                                            )
                                                            (ForEach
                                                              iter_name: i
                                                              iter_words: [
                                                                {($ VSub_Name "$lib_search_path")}
                                                                {
                                                                  ($ VSub_Name "$sys_lib_search_path")
                                                                }
                                                                {($ VSub_Name "$shlib_search_path")}
                                                              ]
                                                              do_arg_iter: False
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: potential_libs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (SimpleCommand
                                                                                        words: [
                                                                                          {(ls)}
                                                                                          {
                                                                                            ($ 
VSub_Name "$i"
                                                                                            ) (/) ($ VSub_Name "$libname") (Lit_Other "[") (.-) (Lit_Other "]") (Lit_Other "*")
                                                                                          }
                                                                                        ]
                                                                                        redirects: [
                                                                                          (Redir
                                                                                            op_id: 
Redir_Great
                                                                                            fd: 2
                                                                                            arg_word: 
                                                                                              {
                                                                                                (
/dev/null
                                                                                                )
                                                                                              }
                                                                                            spids: [
42466
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [42455 42468]
                                                                              )
                                                                            }
                                                                          spids: [42454]
                                                                        )
                                                                      ]
                                                                      spids: [42454]
                                                                    )
                                                                    (ForEach
                                                                      iter_name: potent_lib
                                                                      iter_words: [
                                                                        {
                                                                          ($ VSub_Name 
"$potential_libs"
                                                                          )
                                                                        }
                                                                      ]
                                                                      do_arg_iter: False
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$potent_lib"
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [42483]
                                                                                )
                                                                              ]
                                                                              spids: [42483]
                                                                            )
                                                                            (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: [
42504
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name "$SED"
                                                                                                )
                                                                                              } {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name "$EGREP"
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name "$match_pattern_regex"
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
-1
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
42523
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
";"
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (C {(func_append)} 
                                                                                      {(newdeplibs)} {(DQ (" ") ($ VSub_Name "$a_deplib"))}
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
a_deplib
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(DQ )}
                                                                                          spids: [
42541
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [42541]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 42528]
                                                                                )
                                                                              ]
                                                                              spids: [-1 42551]
                                                                            )
                                                                          ]
                                                                          spids: [42480 42554]
                                                                        )
                                                                      spids: [42476 42478]
                                                                    )
                                                                  ]
                                                                  spids: [42451 42557]
                                                                )
                                                              spids: [42443 42449]
                                                            )
                                                          ]
                                                          spids: [-1 42420]
                                                        )
                                                      ]
                                                      spids: [-1 42560]
                                                    )
                                                    (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: [42578]
                                                                )
                                                              ]
                                                              spids: [42578]
                                                            )
                                                            (C {(echo)})
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** Warning: linker path does not have real file for library "
                                                                  ) ($ VSub_Name "$a_deplib") (.)
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
"*** I have the capability to make that library automatically link in when"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
"*** you link to this library.  But I can only do this if you have a"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
"*** shared version of the library, which you do not appear to have"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
"*** because I did check the linker path looking for a file starting"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name "$potlib")
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {($ VSub_Name "$ECHO")} 
                                                                      {
                                                                        (DQ ("*** with ") 
                                                                          ($ VSub_Name "$libname") (" but no candidates were found. (...for regex pattern test)")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [-1 42634]
                                                                )
                                                              ]
                                                              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: [42646 42666]
                                                            )
                                                          ]
                                                          spids: [-1 42575]
                                                        )
                                                      ]
                                                      spids: [-1 42669]
                                                    )
                                                  ]
                                                  spids: [42320 42322 42672 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(newdeplibs)} 
                                                      {(DQ (" ") ($ VSub_Name "$a_deplib"))}
                                                    )
                                                  ]
                                                  spids: [42675 42676 42693 -1]
                                                )
                                              ]
                                              spids: [42313 42317 42696]
                                            )
                                          ]
                                          spids: [42310 42699]
                                        )
                                      spids: [42306 42308]
                                    )
                                  ]
                                  spids: [42266 42268 42705 -1]
                                )
                                (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: [42720]
                                        )
                                      ]
                                      spids: [42720]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {(DQ (" ") ($ VSub_Name "$deplibs"))}
                                                          )
                                                          (C {($ VSub_Name "$SED")} 
                                                            {(SQ <"s/ -lc$//; s/ -[LR][^ ]*//g">)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [42726 42741]
                                              )
                                            }
                                          spids: [42725]
                                        )
                                      ]
                                      spids: [42725]
                                    )
                                    (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: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tmp_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {($ VSub_Name "$ECHO")} 
                                                                            {
                                                                              (DQ (" ") 
                                                                                ($ VSub_Name 
"$tmp_deplibs"
                                                                                )
                                                                              )
                                                                            }
                                                                          )
                                                                          (C {($ VSub_Name "$SED")} 
                                                                            {
                                                                              (DQ ("s,") 
                                                                                ($ VSub_Name "$i") (",,")
                                                                              )
                                                                            }
                                                                          )
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick "`">
                                                                spids: [42784 42801]
                                                              )
                                                            }
                                                          spids: [42783]
                                                        )
                                                      ]
                                                      spids: [42783]
                                                    )
                                                  ]
                                                  spids: [42776 42804]
                                                )
                                              spids: [42769 42774]
                                            )
                                          ]
                                          spids: [-1 42761]
                                        )
                                      ]
                                      spids: [-1 42807]
                                    )
                                    (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: [-1 42846]
                                                )
                                              ]
                                              else_action: [
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
"*** Warning: inter-library dependencies are not known to be supported."
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [42856 42866]
                                            )
                                            (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: [42876]
                                                )
                                              ]
                                              spids: [42876]
                                            )
                                          ]
                                          spids: [42817 42824 42880 -1]
                                        )
                                      ]
                                      spids: [42810 42814 42883]
                                    )
                                  ]
                                  spids: [42708 42717 42886 -1]
                                )
                              ]
                              spids: [40765 40769 42889]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {($ VSub_Name "$versuffix_save")}
                                  spids: [42892]
                                )
                              ]
                              spids: [42892]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {($ VSub_Name "$major_save")}
                                  spids: [42896]
                                )
                              ]
                              spids: [42896]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {($ VSub_Name "$release_save")}
                                  spids: [42900]
                                )
                              ]
                              spids: [42900]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname)
                                  op: Equal
                                  rhs: {($ VSub_Name "$libname_save")}
                                  spids: [42904]
                                )
                              ]
                              spids: [42904]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name "$name_save")}
                                  spids: [42908]
                                )
                              ]
                              spids: [42908]
                            )
                            (Case
                              to_match: {($ VSub_Name "$host")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-rhapsody) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-darwin1.) (Lit_Other "[") 
                                      (012) (Lit_Other "]")
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newdeplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {(DQ (" ") ($ VSub_Name "$newdeplibs"))}
                                                          )
                                                          (C {($ VSub_Name "$SED")} 
                                                            {(SQ <"s/ -lc / System.ltframework /">)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [42943 42958]
                                              )
                                            }
                                          spids: [42942]
                                        )
                                      ]
                                      spids: [42942]
                                    )
                                  ]
                                  spids: [42920 42935 42961 -1]
                                )
                              ]
                              spids: [42913 42917 42964]
                            )
                            (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: [-1 43044]
                                                )
                                              ]
                                              spids: [-1 43082]
                                            )
                                            (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: [43101]
                                                        )
                                                      ]
                                                      spids: [43101]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(module)}
                                                          spids: [43111]
                                                        )
                                                      ]
                                                      spids: [43111]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_old_libs)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [43115]
                                                        )
                                                      ]
                                                      spids: [43115]
                                                    )
                                                  ]
                                                  spids: [-1 43098]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:build_libtool_libs)
                                                      op: Equal
                                                      rhs: {(no)}
                                                      spids: [43122]
                                                    )
                                                  ]
                                                  spids: [43122]
                                                )
                                              ]
                                              spids: [43119 43126]
                                            )
                                          ]
                                          spids: [-1 42997]
                                        )
                                      ]
                                      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: [43217]
                                                            )
                                                          ]
                                                          spids: [43217]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(module)}
                                                              spids: [43227]
                                                            )
                                                          ]
                                                          spids: [43227]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_old_libs)
                                                              op: Equal
                                                              rhs: {(yes)}
                                                              spids: [43231]
                                                            )
                                                          ]
                                                          spids: [43231]
                                                        )
                                                      ]
                                                      spids: [-1 43214]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [43238]
                                                        )
                                                      ]
                                                      spids: [43238]
                                                    )
                                                  ]
                                                  spids: [43235 43242]
                                                )
                                              ]
                                              spids: [-1 43167]
                                            )
                                          ]
                                          spids: [-1 43245]
                                        )
                                      ]
                                      spids: [43129 43248]
                                    )
                                  ]
                                  spids: [-1 42981]
                                )
                              ]
                              spids: [-1 43251]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$newdeplibs")}
                                  spids: [43258]
                                )
                              ]
                              spids: [43258]
                            )
                          ]
                          spids: [-1 40432]
                        )
                      ]
                      spids: [-1 43262]
                    )
                    (Case
                      to_match: {($ VSub_Name "$host")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (-) (Lit_Other "*") (-darwin) (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (" ") ($ VSub_Name "$newdeplibs"))}
                                                  )
                                                  (C {($ VSub_Name "$SED")} 
                                                    {
                                                      (SQ 
                                                        <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [43285 43300]
                                      )
                                    }
                                  spids: [43284]
                                )
                              ]
                              spids: [43284]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:new_inherited_linker_flags)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {
                                                      (DQ (" ") 
                                                        ($ VSub_Name "$new_inherited_linker_flags")
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name "$SED")} 
                                                    {
                                                      (SQ 
                                                        <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [43304 43319]
                                      )
                                    }
                                  spids: [43303]
                                )
                              ]
                              spids: [43303]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (" ") ($ VSub_Name "$deplibs"))}
                                                  )
                                                  (C {($ VSub_Name "$SED")} 
                                                    {
                                                      (SQ 
                                                        <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [43323 43338]
                                      )
                                    }
                                  spids: [43322]
                                )
                              ]
                              spids: [43322]
                            )
                          ]
                          spids: [43276 43281 43341 -1]
                        )
                      ]
                      spids: [43269 43273 43344]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43356]
                        )
                      ]
                      spids: [43356]
                    )
                    (ForEach
                      iter_name: path
                      iter_words: [{($ VSub_Name "$notinst_path")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ (" ") ($ VSub_Name "$new_libs") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") 
                                      (DQ (" -L") ($ VSub_Name "$path") (/) ($ VSub_Name "$objdir") (" ")) (Lit_Other "*")
                                    }
                                  ]
                                  spids: [43382 43391 43393 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (" ") ($ VSub_Name "$deplibs") (" "))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") 
                                              (DQ (" -L") ($ VSub_Name "$path") (/) 
                                                ($ VSub_Name "$objdir") (" ")
                                              ) (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {
                                                (DQ (" -L") ($ VSub_Name "$path") (/) 
                                                  ($ VSub_Name "$objdir")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [43411 43420 43434 -1]
                                        )
                                      ]
                                      spids: [43400 43408 43437]
                                    )
                                  ]
                                  spids: [43396 43397 43440 -1]
                                )
                              ]
                              spids: [43371 43379 43443]
                            )
                          ]
                          spids: [43368 43446]
                        )
                      spids: [43364 43366]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name "$deplibs")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name "$deplib")}
                              arms: [
                                (case_arm
                                  pat_list: [{(-L) (Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (" ") ($ VSub_Name "$new_libs") (" "))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$deplib") (" ")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [43484 43491 43493 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                            )
                                          ]
                                          spids: [43496 43497 43508 -1]
                                        )
                                      ]
                                      spids: [43473 43481 43511]
                                    )
                                  ]
                                  spids: [43468 43470 43514 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(new_libs)} {(DQ (" ") ($ VSub_Name "$deplib"))})
                                  ]
                                  spids: [43517 43518 43529 -1]
                                )
                              ]
                              spids: [43461 43465 43532]
                            )
                          ]
                          spids: [43458 43535]
                        )
                      spids: [43454 43456]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:deplibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$new_libs"))}
                          spids: [43538]
                        )
                      ]
                      spids: [43538]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:library_names)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43549]
                        )
                      ]
                      spids: [43549]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43552]
                        )
                      ]
                      spids: [43552]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlname)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43555]
                        )
                      ]
                      spids: [43555]
                    )
                    (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: {(SQ )}
                                          spids: [43599]
                                        )
                                      ]
                                      spids: [43599]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dep_rpath)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [43602]
                                        )
                                      ]
                                      spids: [43602]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$finalize_rpath"))}
                                          spids: [43605]
                                        )
                                      ]
                                      spids: [43605]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name "$opt_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: [43624]
                                            )
                                          ]
                                          spids: [43624]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (ForEach
                                      iter_name: libdir
                                      iter_words: [{($ VSub_Name "$rpath")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
"$hardcode_libdir_flag_spec"
                                                              )
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
"$hardcode_libdir_separator"
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(func_replace_sysroot)} 
                                                              {(DQ ($ VSub_Name "$libdir"))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libdir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
"$func_replace_sysroot_result"
                                                                      )
                                                                    }
                                                                  spids: [43678]
                                                                )
                                                              ]
                                                              spids: [43678]
                                                            )
                                                            (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: [43696]
                                                                        )
                                                                      ]
                                                                      spids: [43696]
                                                                    )
                                                                  ]
                                                                  spids: [-1 43693]
                                                                )
                                                              ]
                                                              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: [43718 43725 43728 -1]
                                                                    )
                                                                    (case_arm
                                                                      pat_list: [{(Lit_Other "*")}]
                                                                      action: [
                                                                        (C {(func_append)} 
                                                                          {(hardcode_libdirs)} {(DQ ($ VSub_Name "$hardcode_libdir_separator") ($ VSub_Name "$libdir"))}
                                                                        )
                                                                      ]
                                                                      spids: [43731 43732 43745 -1]
                                                                    )
                                                                  ]
                                                                  spids: [43709 43715 43748]
                                                                )
                                                              ]
                                                              spids: [43702 43751]
                                                            )
                                                          ]
                                                          spids: [-1 43668]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(eval)} 
                                                          {(Lit_VarLike "flag=") 
                                                            (EscapedLiteralPart
                                                              token: <Lit_EscapedChar "\\\"">
                                                            ) ($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                          }
                                                        )
                                                        (C {(func_append)} {(dep_rpath)} 
                                                          {(DQ (" ") ($ VSub_Name "$flag"))}
                                                        )
                                                      ]
                                                      spids: [43754 43775]
                                                    )
                                                  ]
                                                  spids: [-1 43654]
                                                )
                                                (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: [43802 43809 43811 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_apped)} {(perm_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                                            )
                                                          ]
                                                          spids: [43814 43815 43826 -1]
                                                        )
                                                      ]
                                                      spids: [43792 43799 43829]
                                                    )
                                                  ]
                                                  spids: [43778 43789]
                                                )
                                              ]
                                              spids: [-1 43832]
                                            )
                                          ]
                                          spids: [43640 43835]
                                        )
                                      spids: [43636 43638]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {
                                                        (DQ 
                                                          ($ VSub_Name "$hardcode_libdir_separator")
                                                        )
                                                      }
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$hardcode_libdirs"))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$hardcode_libdirs"))}
                                                  spids: [43867]
                                                )
                                              ]
                                              spids: [43867]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
"$hardcode_libdir_flag_spec_ld"
                                                              )
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "dep_rpath=") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\\"">
                                                        ) ($ VSub_Name "$hardcode_libdir_flag_spec_ld") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 43884]
                                                )
                                              ]
                                              else_action: [
                                                (C {(eval)} 
                                                  {(Lit_VarLike "dep_rpath=") 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar "\\\"">
                                                    ) ($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                  }
                                                )
                                              ]
                                              spids: [43895 43906]
                                            )
                                          ]
                                          spids: [-1 43864]
                                        )
                                      ]
                                      spids: [-1 43909]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$runpath_var"))}
                                                    )
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$perm_rpath"))})
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rpath)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [43940]
                                                )
                                              ]
                                              spids: [43940]
                                            )
                                            (ForEach
                                              iter_name: dir
                                              iter_words: [{($ VSub_Name "$perm_rpath")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_append)} {(rpath)} 
                                                      {(DQ ($ VSub_Name "$dir") (":"))}
                                                    )
                                                  ]
                                                  spids: [43952 43965]
                                                )
                                              spids: [43948 43950]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ($ VSub_Name "$runpath_var") ("='") 
                                                  ($ VSub_Name "$rpath") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$runpath_var") ("'; export ") 
                                                  ($ VSub_Name "$runpath_var")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 43933]
                                        )
                                      ]
                                      spids: [-1 43981]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dep_rpath"))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$dep_rpath") (" ") 
                                                    ($ VSub_Name "$deplibs")
                                                  )
                                                }
                                              spids: [43994]
                                            )
                                          ]
                                          spids: [43994]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 43592]
                                )
                              ]
                              spids: [-1 44002]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shlibpath)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$finalize_shlibpath"))}
                                  spids: [44006]
                                )
                              ]
                              spids: [44006]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name "$opt_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: [44025]
                                    )
                                  ]
                                  spids: [44025]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$shlibpath"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ($ VSub_Name "$shlibpath_var") ("='") 
                                          ($ VSub_Name "$shlibpath") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$shlibpath_var") ("'; export ") 
                                          ($ VSub_Name "$shlibpath_var")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 44043]
                                )
                              ]
                              spids: [-1 44059]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "shared_ext=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) ($ VSub_Name "$shrext_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                              }
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "library_names=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) ($ VSub_Name "$library_names_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                              }
                            )
                            (C {(set)} {(dummy)} {($ VSub_Name "$library_names")})
                            (C {(shift)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:realname)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Number "$1"))}
                                  spids: [44093]
                                )
                              ]
                              spids: [44093]
                            )
                            (C {(shift)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$soname_spec"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike "soname=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) ($ VSub_Name "$soname_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                      }
                                    )
                                  ]
                                  spids: [-1 44114]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:soname)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$realname"))}
                                      spids: [44128]
                                    )
                                  ]
                                  spids: [44128]
                                )
                              ]
                              spids: [44125 44134]
                            )
                            (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: [44151]
                                        )
                                      ]
                                      spids: [44151]
                                    )
                                  ]
                                  spids: [-1 44148]
                                )
                              ]
                              spids: [-1 44155]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$realname"))
                                    }
                                  spids: [44159]
                                )
                              ]
                              spids: [44159]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linknames)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [44167]
                                )
                              ]
                              spids: [44167]
                            )
                            (ForEach
                              iter_name: link
                              do_arg_iter: True
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_append)} {(linknames)} {(DQ (" ") ($ VSub_Name "$link"))})
                                  ]
                                  spids: [44175 44188]
                                )
                              spids: [-1 -1]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$pic_flag"))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {($ VSub_Name "$ECHO")} 
                                                        {(DQ ($ VSub_Name "$libobjs"))}
                                                      )
                                                      (C {($ VSub_Name "$SP2NL")})
                                                      (C {($ VSub_Name "$SED")} 
                                                        {(DQ ($ VSub_Name "$lo2o"))}
                                                      )
                                                      (C {($ VSub_Name "$NL2SP")})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [44207 44229]
                                          )
                                        }
                                      spids: [44206]
                                    )
                                  ]
                                  spids: [44206]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(DQ (X) ($ VSub_Name "$libobjs"))} {(Lit_Other "=")} 
                                  {(DQ ("X "))}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [44247]
                                    )
                                  ]
                                  spids: [44247]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:delfiles)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [44251]
                                )
                              ]
                              spids: [44251]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$export_symbols"))})
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$include_expsyms"))})
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (C {(cp)} {(DQ ($ VSub_Name "$export_symbols"))} 
                                          {
                                            (DQ ($ VSub_Name "$output_objdir") (/) 
                                              ($ VSub_Name "$libname") (.uexp)
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$output_objdir") (/) 
                                                ($ VSub_Name "$libname") (.uexp)
                                              )
                                            }
                                          spids: [44296]
                                        )
                                      ]
                                      spids: [44296]
                                    )
                                    (C {(func_append)} {(delfiles)} 
                                      {(DQ (" ") ($ VSub_Name "$export_symbols"))}
                                    )
                                  ]
                                  spids: [-1 44275]
                                )
                              ]
                              spids: [-1 44315]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:orig_export_symbols)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [44319]
                                )
                              ]
                              spids: [44319]
                            )
                            (Case
                              to_match: {($ VSub_Name "$host_os")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(cygwin) (Lit_Other "*")}
                                    {(mingw) (Lit_Other "*")}
                                    {(cegcc) (Lit_Other "*")}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$export_symbols"))}
                                                    )
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name "$export_symbols_regex"))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (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: [44378 44384]
                                                              )
                                                            )
                                                          } {(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: [44420]
                                                        )
                                                      ]
                                                      spids: [44420]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_symbols)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [44426]
                                                        )
                                                      ]
                                                      spids: [44426]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:always_export_symbols)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [44429]
                                                        )
                                                      ]
                                                      spids: [44429]
                                                    )
                                                  ]
                                                  spids: [-1 44393]
                                                )
                                              ]
                                              spids: [-1 44433]
                                            )
                                          ]
                                          spids: [-1 44365]
                                        )
                                      ]
                                      spids: [-1 44436]
                                    )
                                  ]
                                  spids: [44329 44341 44439 -1]
                                )
                              ]
                              spids: [44322 44326 44442]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name "$export_symbols"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} 
                                                      {(DQ ($ VSub_Name "$always_export_symbols"))} {(Lit_Other "=")} {(yes)}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$export_symbols_regex"))}
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ("generating symbol list for ") 
                                                  (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: [44500]
                                                )
                                              ]
                                              spids: [44500]
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name "$opt_dry_run")})
                                                (C {($ VSub_Name "$RM")} 
                                                  {($ VSub_Name "$export_symbols")}
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$export_symbols_cmds")}
                                                  spids: [44518]
                                                )
                                              ]
                                              spids: [44518]
                                            )
                                            (Sentence
                                              child: 
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:save_ifs)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name "$IFS"))}
                                                      spids: [44522]
                                                    )
                                                  ]
                                                  spids: [44522]
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(SQ <"~">)}
                                                  spids: [44528]
                                                )
                                              ]
                                              spids: [44528]
                                            )
                                            (ForEach
                                              iter_name: cmd1
                                              iter_words: [{($ VSub_Name "$cmds")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:IFS)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                                          spids: [44546]
                                                        )
                                                      ]
                                                      spids: [44546]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {($ VSub_Name "$nm_file_list_spec") 
                                                          (Lit_Tilde "~") ($ VSub_Name "$to_tool_file_cmd")
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") (Lit_Tilde "~") 
                                                              (func_convert_file_noop)
                                                            }
                                                            {(Lit_Other "*") (Lit_Tilde "~") 
                                                              (func_convert_file_msys_to_w32)
                                                            }
                                                            {(Lit_Tilde "~") (Lit_Other "*")}
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: try_normal_branch
                                                                    )
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [44586]
                                                                )
                                                              ]
                                                              spids: [44586]
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike "cmd=") 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar "\\\"">
                                                                ) ($ VSub_Name "$cmd1") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                              }
                                                            )
                                                            (C {(func_len)} 
                                                              {(DQ (" ") ($ VSub_Name "$cmd"))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:len)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name "$func_len_result")
                                                                    }
                                                                  spids: [44606]
                                                                )
                                                              ]
                                                              spids: [44606]
                                                            )
                                                          ]
                                                          spids: [44569 44583 44610 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: try_normal_branch
                                                                    )
                                                                  op: Equal
                                                                  rhs: {(no)}
                                                                  spids: [44617]
                                                                )
                                                              ]
                                                              spids: [44617]
                                                            )
                                                          ]
                                                          spids: [44613 44614 44621 -1]
                                                        )
                                                      ]
                                                      spids: [44560 44566 44624]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
"$try_normal_branch"
                                                                      )
                                                                    )
                                                                  } {(Lit_Other "=")} {(yes)}
                                                                )
                                                                (BraceGroup
                                                                  children: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          children: [
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name "$len")
                                                                                )
                                                                              } {(-lt)} {(DQ ($ VSub_Name "$max_cmd_len"))}
                                                                            )
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
"$max_cmd_len"
                                                                                  )
                                                                                )
                                                                              } {(-le)} {(-1)}
                                                                            )
                                                                          ]
                                                                          op_id: Op_DPipe
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  spids: [44643]
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(func_show_eval)} 
                                                              {(DQ ($ VSub_Name "$cmd"))} {(SQ <"exit $?">)}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:skipped_export)
                                                                  op: Equal
                                                                  rhs: {(false)}
                                                                  spids: [44689]
                                                                )
                                                              ]
                                                              spids: [44689]
                                                            )
                                                          ]
                                                          spids: [-1 44675]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
"$nm_file_list_spec"
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(func_basename)} 
                                                              {(DQ ($ VSub_Name "$output"))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:output_la)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
"$func_basename_result"
                                                                      )
                                                                    }
                                                                  spids: [44714]
                                                                )
                                                              ]
                                                              spids: [44714]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:save_libobjs)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$libobjs")}
                                                                  spids: [44718]
                                                                )
                                                              ]
                                                              spids: [44718]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:save_output)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$output")}
                                                                  spids: [44722]
                                                                )
                                                              ]
                                                              spids: [44722]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:output)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(${ VSub_Name output_objdir) 
                                                                      (/) (${ VSub_Name output_la) (.nm)
                                                                    }
                                                                  spids: [44726]
                                                                )
                                                              ]
                                                              spids: [44726]
                                                            )
                                                            (C {(func_to_tool_file)} 
                                                              {(DQ ($ VSub_Name "$output"))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libobjs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
"$nm_file_list_spec"
                                                                      ) ($ VSub_Name "$func_to_tool_file_result")
                                                                    }
                                                                  spids: [44744]
                                                                )
                                                              ]
                                                              spids: [44744]
                                                            )
                                                            (C {(func_append)} {(delfiles)} 
                                                              {(DQ (" ") ($ VSub_Name "$output"))}
                                                            )
                                                            (C {(func_verbose)} 
                                                              {
                                                                (DQ ("creating ") ($ VSub_Name "$NM") 
                                                                  (" input file list: ") ($ VSub_Name "$output")
                                                                )
                                                              }
                                                            )
                                                            (ForEach
                                                              iter_name: obj
                                                              iter_words: [
                                                                {($ VSub_Name "$save_libobjs")}
                                                              ]
                                                              do_arg_iter: False
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (C {(func_to_tool_file)} 
                                                                      {(DQ ($ VSub_Name "$obj"))}
                                                                    )
                                                                    (C {($ VSub_Name "$ECHO")} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
"$func_to_tool_file_result"
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [44778 44795]
                                                                )
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {(DQ ($ VSub_Name "$output"))}
                                                                  spids: [44797]
                                                                )
                                                              ]
                                                              spids: [44774 44776]
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike "cmd=") 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar "\\\"">
                                                                ) ($ VSub_Name "$cmd1") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                              }
                                                            )
                                                            (C {(func_show_eval)} 
                                                              {(DQ ($ VSub_Name "$cmd"))} {(SQ <"exit $?">)}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:output)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$save_output")}
                                                                  spids: [44823]
                                                                )
                                                              ]
                                                              spids: [44823]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libobjs)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$save_libobjs")}
                                                                  spids: [44827]
                                                                )
                                                              ]
                                                              spids: [44827]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:skipped_export)
                                                                  op: Equal
                                                                  rhs: {(false)}
                                                                  spids: [44831]
                                                                )
                                                              ]
                                                              spids: [44831]
                                                            )
                                                          ]
                                                          spids: [44693 44704]
                                                        )
                                                      ]
                                                      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: [44849]
                                                            )
                                                          ]
                                                          spids: [44849]
                                                        )
                                                        (ControlFlow
                                                          token: <ControlFlow_Break break>
                                                        )
                                                      ]
                                                      spids: [44835 44864]
                                                    )
                                                  ]
                                                  spids: [44543 44867]
                                                )
                                              spids: [44539 44541]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                                  spids: [44870]
                                                )
                                              ]
                                              spids: [44870]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
"$export_symbols_regex"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(test)} 
                                                              {
                                                                (DQ (X) 
                                                                  ($ VSub_Name "$skipped_export")
                                                                )
                                                              } {(KW_Bang "!") (Lit_Other "=")} {(DQ ("X:"))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_show_eval)} 
                                                      {
                                                        (SQ 
                                                          <
"$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
                                                          >
                                                        )
                                                      }
                                                    )
                                                    (C {(func_show_eval)} 
                                                      {
                                                        (SQ 
                                                          <
"$MV \"${export_symbols}T\" \"$export_symbols\""
                                                          >
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 44903]
                                                )
                                              ]
                                              spids: [-1 44920]
                                            )
                                          ]
                                          spids: [-1 44487]
                                        )
                                      ]
                                      spids: [-1 44923]
                                    )
                                  ]
                                  spids: [-1 44461]
                                )
                              ]
                              spids: [-1 44926]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$export_symbols"))})
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$include_expsyms"))})
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_export_symbols)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$export_symbols"))}
                                          spids: [44954]
                                        )
                                      ]
                                      spids: [44954]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$orig_export_symbols"))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:tmp_export_symbols)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$orig_export_symbols"))}
                                              spids: [44970]
                                            )
                                          ]
                                          spids: [44970]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (C {(eval)} 
                                          {
                                            (SQ 
                                              <
"$ECHO \"$include_expsyms\" | $SP2NL >> \"$tmp_export_symbols\""
                                              >
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 44951]
                                )
                              ]
                              spids: [-1 44987]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name "$skipped_export"))} 
                                              {(KW_Bang "!") (Lit_Other "=")} {(DQ ("X:"))}
                                            )
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name "$orig_export_symbols"))}
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_verbose)} 
                                      {
                                        (DQ ("filter symbol list for ") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\`">
                                          ) ($ VSub_Name "$libname") (".la' to tag DATA exports")
                                        )
                                      }
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (SimpleCommand
                                          words: [
                                            {($ VSub_Name "$SED")}
                                            {(-e)}
                                            {
                                              (SQ 
                                                <
"/[ ,]DATA/!d;s,\\(.*\\)\\([ \\,].*\\),s|^\\1$|\\1\\2|,"
                                                >
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: -1
                                              arg_word: {($ VSub_Name "$export_symbols")}
                                              spids: [45067]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: 
                                                {($ VSub_Name "$output_objdir") (/) 
                                                  ($ VSub_Name "$libname") (.filter)
                                                }
                                              spids: [45071]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (C {(func_append)} {(delfiles)} 
                                      {
                                        (DQ (" ") ($ VSub_Name "$export_symbols") (" ") 
                                          ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$libname") (.filter)
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name "$output_objdir") (/) 
                                              ($ VSub_Name "$libname") (.def)
                                            }
                                          spids: [45094]
                                        )
                                      ]
                                      spids: [45094]
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (SimpleCommand
                                          words: [
                                            {($ VSub_Name "$SED")}
                                            {(-f)}
                                            {($ VSub_Name "$output_objdir") (/) 
                                              ($ VSub_Name "$libname") (.filter)
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: -1
                                              arg_word: {($ VSub_Name "$orig_export_symbols")}
                                              spids: [45114]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {($ VSub_Name "$export_symbols")}
                                              spids: [45118]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 45018]
                                )
                              ]
                              spids: [-1 45123]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tmp_deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [45127]
                                )
                              ]
                              spids: [45127]
                            )
                            (ForEach
                              iter_name: test_deplib
                              iter_words: [{($ VSub_Name "$deplibs")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {(DQ (" ") ($ VSub_Name "$convenience") (" "))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") 
                                              (DQ (" ") ($ VSub_Name "$test_deplib") (" ")) (Lit_Other "*")
                                            }
                                          ]
                                          spids: [45153 45160 45162 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(tmp_deplibs)} 
                                              {(DQ (" ") ($ VSub_Name "$test_deplib"))}
                                            )
                                          ]
                                          spids: [45165 45166 45179 -1]
                                        )
                                      ]
                                      spids: [45142 45150 45182]
                                    )
                                  ]
                                  spids: [45139 45185]
                                )
                              spids: [45135 45137]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$tmp_deplibs"))}
                                  spids: [45188]
                                )
                              ]
                              spids: [45188]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$convenience"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$whole_archive_flag_spec"))}
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name "$compiler_needs_object")
                                                            )
                                                          } {(Lit_Other "=")} {(yes)}
                                                        )
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name "$libobjs"))}
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:whole_archive_flag_spec)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [45255]
                                                )
                                              ]
                                              spids: [45255]
                                            )
                                          ]
                                          spids: [-1 45244]
                                        )
                                      ]
                                      spids: [-1 45258]
                                    )
                                    (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: [45275]
                                                )
                                              ]
                                              spids: [45275]
                                            )
                                            (C {(eval)} 
                                              {(Lit_VarLike "libobjs=") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\\"">
                                                ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (libobjs)
                                              } {($ VSub_Name "$whole_archive_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name "$libobjs"))} 
                                                  {(Lit_Other "=")} {(DQ ("X "))}
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:libobjs)
                                                      op: Equal
                                                      rhs: {(SQ )}
                                                      spids: [45305]
                                                    )
                                                  ]
                                                  spids: [45305]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [-1 45272]
                                        )
                                      ]
                                      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: [45311]
                                            )
                                          ]
                                          spids: [45311]
                                        )
                                        (C {(func_append)} {(generated)} 
                                          {(DQ (" ") ($ VSub_Name "$gentop"))}
                                        )
                                        (C {(func_extract_archives)} {($ VSub_Name "$gentop")} 
                                          {($ VSub_Name "$convenience")}
                                        )
                                        (C {(func_append)} {(libobjs)} 
                                          {(DQ (" ") ($ VSub_Name "$func_extract_archives_result"))}
                                        )
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name "$libobjs"))} 
                                              {(Lit_Other "=")} {(DQ ("X "))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libobjs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [45365]
                                                )
                                              ]
                                              spids: [45365]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      ]
                                      spids: [45308 45368]
                                    )
                                  ]
                                  spids: [-1 45206]
                                )
                              ]
                              spids: [-1 45371]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name "$thread_safe"))} 
                                              {(Lit_Other "=")} {(yes)}
                                            )
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name "$thread_safe_flag_spec"))}
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike "flag=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) ($ VSub_Name "$thread_safe_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                      }
                                    )
                                    (C {(func_append)} {(linker_flags)} 
                                      {(DQ (" ") ($ VSub_Name "$flag"))}
                                    )
                                  ]
                                  spids: [-1 45398]
                                )
                              ]
                              spids: [-1 45419]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$opt_mode"))} {(Lit_Other "=")} 
                                          {(relink)}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (AndOr
                                          children: [
                                            (C {(eval)} 
                                              {
                                                (SQ 
                                                  <
"(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)"
                                                  >
                                                )
                                              }
                                            )
                                            (C {(exit)} {($ VSub_QMark "$?")})
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 45440]
                                )
                              ]
                              spids: [-1 45460]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name "$module"))} {(Lit_Other "=")} 
                                              {(yes)}
                                            )
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$module_cmds"))})
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$export_symbols"))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$module_expsym_cmds"))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {(Lit_VarLike "test_cmds=") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\\"">
                                                ) ($ VSub_Name "$module_expsym_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$module_expsym_cmds")}
                                                  spids: [45527]
                                                )
                                              ]
                                              spids: [45527]
                                            )
                                          ]
                                          spids: [-1 45516]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike "test_cmds=") 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar "\\\"">
                                            ) ($ VSub_Name "$module_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name "$module_cmds")}
                                              spids: [45542]
                                            )
                                          ]
                                          spids: [45542]
                                        )
                                      ]
                                      spids: [45531 45546]
                                    )
                                  ]
                                  spids: [-1 45492]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$export_symbols"))})
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name "$archive_expsym_cmds"))}
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike "test_cmds=") 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar "\\\"">
                                            ) ($ VSub_Name "$archive_expsym_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name "$archive_expsym_cmds")}
                                              spids: [45584]
                                            )
                                          ]
                                          spids: [45584]
                                        )
                                      ]
                                      spids: [-1 45573]
                                    )
                                  ]
                                  else_action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike "test_cmds=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) ($ VSub_Name "$archive_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cmds)
                                          op: Equal
                                          rhs: {($ VSub_Name "$archive_cmds")}
                                          spids: [45599]
                                        )
                                      ]
                                      spids: [45599]
                                    )
                                  ]
                                  spids: [45588 45603]
                                )
                              ]
                              spids: [45549 45606]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name "$skipped_export"))} 
                                              {(KW_Bang "!") (Lit_Other "=")} {(DQ ("X:"))}
                                            )
                                            (AndOr
                                              children: [
                                                (C {(func_len)} {(DQ (" ") ($ VSub_Name "$test_cmds"))})
                                                (AndOr
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:len)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$func_len_result")}
                                                          spids: [45639]
                                                        )
                                                      ]
                                                      spids: [45639]
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(DQ ($ VSub_Name "$len"))} {(-lt)} 
                                                          {(DQ ($ VSub_Name "$max_cmd_len"))}
                                                        )
                                                        (C {(test)} {(DQ ($ VSub_Name "$max_cmd_len"))} 
                                                          {(-le)} {(-1)}
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [(C {(Lit_Other ":")})]
                                  spids: [-1 45670]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$convenience"))})
                                                (C {(test)} {(-z)} 
                                                  {(DQ ($ VSub_Name "$whole_archive_flag_spec"))}
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_libobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name "$libobjs")}
                                              spids: [45748]
                                            )
                                          ]
                                          spids: [45748]
                                        )
                                      ]
                                      spids: [-1 45745]
                                    )
                                  ]
                                  spids: [-1 45752]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_output)
                                      op: Equal
                                      rhs: {($ VSub_Name "$output")}
                                      spids: [45755]
                                    )
                                  ]
                                  spids: [45755]
                                )
                                (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: [45766]
                                    )
                                  ]
                                  spids: [45766]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:test_cmds)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [45779]
                                    )
                                  ]
                                  spids: [45779]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:concat_cmds)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [45782]
                                    )
                                  ]
                                  spids: [45782]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:objlist)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [45785]
                                    )
                                  ]
                                  spids: [45785]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:last_robj)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [45788]
                                    )
                                  ]
                                  spids: [45788]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:k)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [45791]
                                    )
                                  ]
                                  spids: [45791]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$save_libobjs"))})
                                                (AndOr
                                                  children: [
                                                    (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)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: 
                                                {(${ VSub_Name output_objdir) (/) 
                                                  (${ VSub_Name output_la) (.lnkscript)
                                                }
                                              spids: [45838]
                                            )
                                          ]
                                          spids: [45838]
                                        )
                                        (C {(func_verbose)} 
                                          {(DQ ("creating GNU ld script: ") ($ VSub_Name "$output"))}
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <"INPUT (">)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {($ VSub_Name "$output")}
                                              spids: [45863]
                                            )
                                          ]
                                        )
                                        (ForEach
                                          iter_name: obj
                                          iter_words: [{($ VSub_Name "$save_libobjs")}]
                                          do_arg_iter: False
                                          body: 
                                            (DoGroup
                                              children: [
                                                (C {(func_to_tool_file)} {(DQ ($ VSub_Name "$obj"))})
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name "$ECHO")}
                                                    {(DQ ($ VSub_Name "$func_to_tool_file_result"))}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_DGreat
                                                      fd: -1
                                                      arg_word: {($ VSub_Name "$output")}
                                                      spids: [45893]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [45877 45898]
                                            )
                                          spids: [45873 -1]
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <")">)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: -1
                                              arg_word: {($ VSub_Name "$output")}
                                              spids: [45907]
                                            )
                                          ]
                                        )
                                        (C {(func_append)} {(delfiles)} 
                                          {(DQ (" ") ($ VSub_Name "$output"))}
                                        )
                                        (C {(func_to_tool_file)} {(DQ ($ VSub_Name "$output"))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: {($ VSub_Name "$func_to_tool_file_result")}
                                              spids: [45929]
                                            )
                                          ]
                                          spids: [45929]
                                        )
                                      ]
                                      spids: [-1 45835]
                                    )
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$save_libobjs"))})
                                                (AndOr
                                                  children: [
                                                    (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)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: 
                                                {(${ VSub_Name output_objdir) (/) 
                                                  (${ VSub_Name output_la) (.lnk)
                                                }
                                              spids: [45977]
                                            )
                                          ]
                                          spids: [45977]
                                        )
                                        (C {(func_verbose)} 
                                          {
                                            (DQ ("creating linker input file list: ") 
                                              ($ VSub_Name "$output")
                                            )
                                          }
                                        )
                                        (SimpleCommand
                                          words: [{(Lit_Other ":")}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {($ VSub_Name "$output")}
                                              spids: [45998]
                                            )
                                          ]
                                        )
                                        (C {(set)} {(x)} {($ VSub_Name "$save_libobjs")})
                                        (C {(shift)})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:firstobj)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [46013]
                                            )
                                          ]
                                          spids: [46013]
                                        )
                                        (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: [46032]
                                                    )
                                                  ]
                                                  spids: [46032]
                                                )
                                                (C {(shift)})
                                              ]
                                              spids: [-1 46029]
                                            )
                                          ]
                                          spids: [-1 46042]
                                        )
                                        (ForEach
                                          iter_name: obj
                                          do_arg_iter: True
                                          body: 
                                            (DoGroup
                                              children: [
                                                (C {(func_to_tool_file)} {(DQ ($ VSub_Name "$obj"))})
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name "$ECHO")}
                                                    {(DQ ($ VSub_Name "$func_to_tool_file_result"))}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_DGreat
                                                      fd: -1
                                                      arg_word: {($ VSub_Name "$output")}
                                                      spids: [46066]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [46050 46071]
                                            )
                                          spids: [-1 -1]
                                        )
                                        (C {(func_append)} {(delfiles)} 
                                          {(DQ (" ") ($ VSub_Name "$output"))}
                                        )
                                        (C {(func_to_tool_file)} {(DQ ($ VSub_Name "$output"))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name "$firstobj") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\\"">
                                                  ) ($ VSub_Name "$file_list_spec") ($ VSub_Name "$func_to_tool_file_result") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\\"">
                                                  )
                                                }
                                              spids: [46091]
                                            )
                                          ]
                                          spids: [46091]
                                        )
                                      ]
                                      spids: [45933 45974]
                                    )
                                  ]
                                  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: [46123]
                                                )
                                              ]
                                              spids: [46123]
                                            )
                                            (C {(eval)} 
                                              {(Lit_VarLike "test_cmds=") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\\"">
                                                ) ($ VSub_Name "$reload_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                              }
                                            )
                                            (C {(func_len)} {(DQ (" ") ($ VSub_Name "$test_cmds"))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len0)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$func_len_result")}
                                                  spids: [46151]
                                                )
                                              ]
                                              spids: [46151]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$len0")}
                                                  spids: [46155]
                                                )
                                              ]
                                              spids: [46155]
                                            )
                                            (ForEach
                                              iter_name: obj
                                              iter_words: [{($ VSub_Name "$save_libobjs")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_len)} {(DQ (" ") ($ VSub_Name "$obj"))})
                                                    (C {(func_arith)} {($ VSub_Name "$len")} 
                                                      {(Lit_Other "+")} {($ VSub_Name "$func_len_result")}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:len)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$func_arith_result")}
                                                          spids: [46193]
                                                        )
                                                      ]
                                                      spids: [46193]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ (X) 
                                                                          ($ VSub_Name "$objlist")
                                                                        )
                                                                      } {(Lit_Other "=")} {(X)}
                                                                    )
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name "$len"))} {(-lt)} {(DQ ($ VSub_Name "$max_cmd_len"))}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DPipe
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(func_append)} {(objlist)} 
                                                              {(DQ (" ") ($ VSub_Name "$obj"))}
                                                            )
                                                          ]
                                                          spids: [-1 46226]
                                                        )
                                                      ]
                                                      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: [46271]
                                                                    )
                                                                  ]
                                                                  spids: [46271]
                                                                )
                                                                (C {(eval)} 
                                                                  {(Lit_VarLike "concat_cmds=") 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar "\\\"">
                                                                    ) ($ VSub_Name "$reload_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                                  }
                                                                )
                                                              ]
                                                              spids: [-1 46264]
                                                            )
                                                          ]
                                                          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: [46294]
                                                                )
                                                              ]
                                                              spids: [46294]
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike "concat_cmds=") 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar "\\\"">
                                                                ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (concat_cmds) (Lit_Tilde "~") 
                                                                ($ VSub_Name "$reload_cmds") (Lit_Tilde "~") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (RM)
                                                              } {($ VSub_Name "$last_robj") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                                                            )
                                                          ]
                                                          spids: [46283 46318]
                                                        )
                                                        (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: [46321]
                                                            )
                                                          ]
                                                          spids: [46321]
                                                        )
                                                        (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: [46342]
                                                            )
                                                          ]
                                                          spids: [46342]
                                                        )
                                                        (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: [46346]
                                                            )
                                                          ]
                                                          spids: [46346]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:objlist)
                                                              op: Equal
                                                              rhs: {(DQ (" ") ($ VSub_Name "$obj"))}
                                                              spids: [46358]
                                                            )
                                                          ]
                                                          spids: [46358]
                                                        )
                                                        (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: [46382]
                                                            )
                                                          ]
                                                          spids: [46382]
                                                        )
                                                      ]
                                                      spids: [46239 46386]
                                                    )
                                                  ]
                                                  spids: [46173 46389]
                                                )
                                              spids: [46169 -1]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$concat_cmds"))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:concat_cmds)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name "$concat_cmds") 
                                                          (Lit_Tilde "~")
                                                        }
                                                      spids: [46414]
                                                    )
                                                  ]
                                                  spids: [46414]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:reload_objs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$objlist") (" ") 
                                                        ($ VSub_Name "$last_robj")
                                                      )
                                                    }
                                                  spids: [46419]
                                                )
                                              ]
                                              spids: [46419]
                                            )
                                            (C {(eval)} 
                                              {(Lit_VarLike "concat_cmds=") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\\"">
                                                ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (Lit_LBrace "{") (concat_cmds) (Lit_RBrace "}") 
                                                ($ VSub_Name "$reload_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name "$last_robj"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "concat_cmds=") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\\"">
                                                        ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (Lit_LBrace "{") (concat_cmds) (Lit_RBrace "}") 
                                                        (Lit_Tilde "~") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (RM)
                                                      } {($ VSub_Name "$last_robj") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                                                    )
                                                  ]
                                                  spids: [-1 46450]
                                                )
                                              ]
                                              spids: [-1 46469]
                                            )
                                            (C {(func_append)} {(delfiles)} 
                                              {(DQ (" ") ($ VSub_Name "$output"))}
                                            )
                                          ]
                                          spids: [-1 46113]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [46486]
                                            )
                                          ]
                                          spids: [46486]
                                        )
                                      ]
                                      spids: [46483 46489]
                                    )
                                    (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: [46495 46499]
                                                    )
                                                  }
                                                )
                                              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: [46515]
                                                )
                                              ]
                                              spids: [46515]
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name "$opt_dry_run")})
                                                (C {($ VSub_Name "$RM")} 
                                                  {($ VSub_Name "$export_symbols")}
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libobjs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$output")}
                                                  spids: [46533]
                                                )
                                              ]
                                              spids: [46533]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$concat_cmds"))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:concat_cmds)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name "$concat_cmds") 
                                                          (Lit_Tilde "~")
                                                        }
                                                      spids: [46551]
                                                    )
                                                  ]
                                                  spids: [46551]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (C {(eval)} 
                                              {(Lit_VarLike "concat_cmds=") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\\"">
                                                ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (concat_cmds) ($ VSub_Name "$export_symbols_cmds") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\\"">
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name "$last_robj"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "concat_cmds=") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\\"">
                                                        ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (concat_cmds) (Lit_Tilde "~") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\$">
                                                        ) (RM)
                                                      } {($ VSub_Name "$last_robj") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                                                    )
                                                  ]
                                                  spids: [-1 46577]
                                                )
                                              ]
                                              spids: [-1 46594]
                                            )
                                          ]
                                          spids: [-1 46502]
                                        )
                                      ]
                                      spids: [-1 46597]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$save_libobjs"))})
                                        (C {(func_verbose)} 
                                          {
                                            (DQ ("creating a temporary reloadable object file: ") 
                                              ($ VSub_Name "$output")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$IFS"))}
                                              spids: [46625]
                                            )
                                          ]
                                          spids: [46625]
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <"~">)}
                                          spids: [46631]
                                        )
                                      ]
                                      spids: [46631]
                                    )
                                    (ForEach
                                      iter_name: cmd
                                      iter_words: [{($ VSub_Name "$concat_cmds")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                                  spids: [46649]
                                                )
                                              ]
                                              spids: [46649]
                                            )
                                            (AndOr
                                              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: [46659]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name "$opt_dry_run")})
                                                (AndOr
                                                  children: [
                                                    (C {(eval)} {(DQ ($ VSub_Name "$cmd"))})
                                                    (BraceGroup
                                                      children: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lt_exit)
                                                              op: Equal
                                                              rhs: {($ VSub_QMark "$?")}
                                                              spids: [46695]
                                                            )
                                                          ]
                                                          spids: [46695]
                                                        )
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {(test)} 
                                                                      {
                                                                        (DQ ($ VSub_Name "$opt_mode"))
                                                                      } {(Lit_Other "=")} {(relink)}
                                                                    )
                                                                  terminator: <Op_Semi ";">
                                                                )
                                                              ]
                                                              action: [
                                                                (Subshell
                                                                  child: 
                                                                    (AndOr
                                                                      children: [
                                                                        (C {(cd)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
"$output_objdir"
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (AndOr
                                                                          children: [
                                                                            (C {($ VSub_Name "$RM")} 
                                                                              {
                                                                                (DQ 
                                                                                  (${ VSub_Name 
realname
                                                                                  ) (T)
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {($ VSub_Name "$MV")} 
                                                                              {
                                                                                (DQ 
                                                                                  (${ VSub_Name 
realname
                                                                                  ) (U)
                                                                                )
                                                                              } {(DQ ($ VSub_Name "$realname"))}
                                                                            )
                                                                          ]
                                                                          op_id: Op_DAmp
                                                                        )
                                                                      ]
                                                                      op_id: Op_DAmp
                                                                    )
                                                                  spids: [46720 46758]
                                                                )
                                                              ]
                                                              spids: [-1 46717]
                                                            )
                                                          ]
                                                          spids: [-1 46761]
                                                        )
                                                        (C {(exit)} {($ VSub_Name "$lt_exit")})
                                                      ]
                                                      spids: [46692]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [46646 46773]
                                        )
                                      spids: [46642 46644]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                          spids: [46776]
                                        )
                                      ]
                                      spids: [46776]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$export_symbols_regex"))}
                                                    )
                                                    (C 
                                                      {
                                                        (BracedVarSub
                                                          token: <VSub_Name skipped_export>
                                                          suffix_op: 
                                                            (StringUnary
                                                              op_id: VTest_Hyphen
                                                              arg_word: {(false)}
                                                            )
                                                          spids: [46795 46799]
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_show_eval)} 
                                              {
                                                (SQ 
                                                  <
"$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
                                                  >
                                                )
                                              }
                                            )
                                            (C {(func_show_eval)} 
                                              {
                                                (SQ 
                                                  <
"$MV \"${export_symbols}T\" \"$export_symbols\""
                                                  >
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 46802]
                                        )
                                      ]
                                      spids: [-1 46819]
                                    )
                                  ]
                                  spids: [46099 46822]
                                )
                                (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: [46828 46832]
                                                )
                                              }
                                            )
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name "$export_symbols"))}
                                                        )
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name "$include_expsyms"))}
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  terminator: <Op_Semi ";">
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:tmp_export_symbols)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name "$export_symbols"))}
                                                      spids: [46862]
                                                    )
                                                  ]
                                                  spids: [46862]
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$orig_export_symbols"))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tmp_export_symbols)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name "$orig_export_symbols")
                                                              )
                                                            }
                                                          spids: [46878]
                                                        )
                                                      ]
                                                      spids: [46878]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {($ VSub_Name "$opt_dry_run")})
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
"$ECHO \"$include_expsyms\" | $SP2NL >> \"$tmp_export_symbols\""
                                                          >
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [-1 46859]
                                            )
                                          ]
                                          spids: [-1 46895]
                                        )
                                        (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
                                                  children: [
                                                    (C {($ VSub_Name "$opt_dry_run")})
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name "$SED")}
                                                        {(-e)}
                                                        {
                                                          (SQ 
                                                            <
"/[ ,]DATA/!d;s,\\(.*\\)\\([ \\,].*\\),s|^\\1$|\\1\\2|,"
                                                            >
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$export_symbols")}
                                                          spids: [46959]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: 
                                                            {($ VSub_Name "$output_objdir") (/) 
                                                              ($ VSub_Name "$libname") (.filter)
                                                            }
                                                          spids: [46963]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                                (C {(func_append)} {(delfiles)} 
                                                  {
                                                    (DQ (" ") ($ VSub_Name "$export_symbols") (" ") 
                                                      ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$libname") (.filter)
                                                    )
                                                  }
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_symbols)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name "$output_objdir") (/) 
                                                          ($ VSub_Name "$libname") (.def)
                                                        }
                                                      spids: [46986]
                                                    )
                                                  ]
                                                  spids: [46986]
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {($ VSub_Name "$opt_dry_run")})
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name "$SED")}
                                                        {(-f)}
                                                        {($ VSub_Name "$output_objdir") (/) 
                                                          ($ VSub_Name "$libname") (.filter)
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: -1
                                                          arg_word: 
                                                            {($ VSub_Name "$orig_export_symbols")}
                                                          spids: [47006]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$export_symbols")}
                                                          spids: [47010]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [-1 46910]
                                            )
                                          ]
                                          spids: [-1 47015]
                                        )
                                      ]
                                      spids: [-1 46835]
                                    )
                                  ]
                                  spids: [-1 47018]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {($ VSub_Name "$output")}
                                      spids: [47022]
                                    )
                                  ]
                                  spids: [47022]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output)
                                      op: Equal
                                      rhs: {($ VSub_Name "$save_output")}
                                      spids: [47030]
                                    )
                                  ]
                                  spids: [47030]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$convenience"))})
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name "$whole_archive_flag_spec"))}
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike "libobjs=") 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar "\\\"">
                                            ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (libobjs)
                                          } {($ VSub_Name "$whole_archive_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                                        )
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name "$libobjs"))} 
                                              {(Lit_Other "=")} {(DQ ("X "))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libobjs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [47085]
                                                )
                                              ]
                                              spids: [47085]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      ]
                                      spids: [-1 47056]
                                    )
                                  ]
                                  spids: [-1 47088]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(DQ ($ VSub_Name "$module"))} 
                                                  {(Lit_Other "=")} {(yes)}
                                                )
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$module_cmds"))})
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name "$export_symbols"))}
                                                        )
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name "$module_expsym_cmds"))}
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  terminator: <Op_Semi ";">
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:cmds)
                                                      op: Equal
                                                      rhs: {($ VSub_Name "$module_expsym_cmds")}
                                                      spids: [47155]
                                                    )
                                                  ]
                                                  spids: [47155]
                                                )
                                              ]
                                              spids: [-1 47152]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$module_cmds")}
                                                  spids: [47162]
                                                )
                                              ]
                                              spids: [47162]
                                            )
                                          ]
                                          spids: [47159 47166]
                                        )
                                      ]
                                      spids: [-1 47128]
                                    )
                                  ]
                                  else_action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$export_symbols"))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$archive_expsym_cmds"))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$archive_expsym_cmds")}
                                                  spids: [47196]
                                                )
                                              ]
                                              spids: [47196]
                                            )
                                          ]
                                          spids: [-1 47193]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name "$archive_cmds")}
                                              spids: [47203]
                                            )
                                          ]
                                          spids: [47203]
                                        )
                                      ]
                                      spids: [47200 47207]
                                    )
                                  ]
                                  spids: [47169 47210]
                                )
                              ]
                              spids: [45676 47213]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$delfiles"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike "cmds=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (cmds) (Lit_Tilde "~") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\$">
                                        ) (RM)
                                      } {($ VSub_Name "$delfiles") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                                    )
                                  ]
                                  spids: [-1 47228]
                                )
                              ]
                              spids: [-1 47249]
                            )
                            (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: [47271]
                                        )
                                      ]
                                      spids: [47271]
                                    )
                                    (C {(func_append)} {(generated)} {(DQ (" ") ($ VSub_Name "$gentop"))})
                                    (C {(func_extract_archives)} {($ VSub_Name "$gentop")} 
                                      {($ VSub_Name "$dlprefiles")}
                                    )
                                    (C {(func_append)} {(libobjs)} 
                                      {(DQ (" ") ($ VSub_Name "$func_extract_archives_result"))}
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ (X) ($ VSub_Name "$libobjs"))} 
                                          {(Lit_Other "=")} {(DQ ("X "))}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:libobjs)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [47325]
                                            )
                                          ]
                                          spids: [47325]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 47268]
                                )
                              ]
                              spids: [-1 47328]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$IFS"))}
                                      spids: [47332]
                                    )
                                  ]
                                  spids: [47332]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <"~">)}
                                  spids: [47338]
                                )
                              ]
                              spids: [47338]
                            )
                            (ForEach
                              iter_name: cmd
                              iter_words: [{($ VSub_Name "$cmds")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                          spids: [47356]
                                        )
                                      ]
                                      spids: [47356]
                                    )
                                    (C {(eval)} 
                                      {(Lit_VarLike "cmd=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) ($ VSub_Name "$cmd") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                      }
                                    )
                                    (AndOr
                                      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: [47374]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (AndOr
                                          children: [
                                            (C {(eval)} {(DQ ($ VSub_Name "$cmd"))})
                                            (BraceGroup
                                              children: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:lt_exit)
                                                      op: Equal
                                                      rhs: {($ VSub_QMark "$?")}
                                                      spids: [47410]
                                                    )
                                                  ]
                                                  spids: [47410]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(test)} {(DQ ($ VSub_Name "$opt_mode"))} 
                                                              {(Lit_Other "=")} {(relink)}
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      action: [
                                                        (Subshell
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (C {(cd)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name "$output_objdir")
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {($ VSub_Name "$RM")} 
                                                                      {
                                                                        (DQ (${ VSub_Name realname) 
                                                                          (T)
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {($ VSub_Name "$MV")} 
                                                                      {
                                                                        (DQ (${ VSub_Name realname) 
                                                                          (U)
                                                                        )
                                                                      } {(DQ ($ VSub_Name "$realname"))}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                          spids: [47435 47473]
                                                        )
                                                      ]
                                                      spids: [-1 47432]
                                                    )
                                                  ]
                                                  spids: [-1 47476]
                                                )
                                                (C {(exit)} {($ VSub_Name "$lt_exit")})
                                              ]
                                              spids: [47407]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [47353 47488]
                                )
                              spids: [47349 47351]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                  spids: [47491]
                                )
                              ]
                              spids: [47491]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$opt_mode"))} {(Lit_Other "=")} 
                                          {(relink)}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (AndOr
                                          children: [
                                            (C {(eval)} 
                                              {
                                                (SQ 
                                                  <
"(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)"
                                                  >
                                                )
                                              }
                                            )
                                            (C {(exit)} {($ VSub_QMark "$?")})
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$convenience"))})
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name "$whole_archive_flag_spec")
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_show_eval)} {(SQ <"${RM}r \"$gentop\"">)})
                                                  ]
                                                  spids: [-1 47561]
                                                )
                                              ]
                                              spids: [-1 47571]
                                            )
                                          ]
                                          spids: [-1 47547]
                                        )
                                      ]
                                      spids: [-1 47574]
                                    )
                                    (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                                  ]
                                  spids: [-1 47515]
                                )
                              ]
                              spids: [-1 47583]
                            )
                            (ForEach
                              iter_name: linkname
                              iter_words: [{($ VSub_Name "$linknames")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name "$realname"))} 
                                                  {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$linkname"))}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_show_eval)} 
                                              {
                                                (SQ 
                                                  <
"(cd \"$output_objdir\" && $RM \"$linkname\" && $LN_S \"$realname\" \"$linkname\")"
                                                  >
                                                )
                                              } {(SQ <"exit $?">)}
                                            )
                                          ]
                                          spids: [-1 47619]
                                        )
                                      ]
                                      spids: [-1 47633]
                                    )
                                  ]
                                  spids: [47600 47636]
                                )
                              spids: [47596 47598]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name "$module"))} {(Lit_Other "=")} 
                                              {(yes)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name "$export_dynamic"))} 
                                              {(Lit_Other "=")} {(yes)}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlname)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$soname"))}
                                          spids: [47676]
                                        )
                                      ]
                                      spids: [47676]
                                    )
                                  ]
                                  spids: [-1 47669]
                                )
                              ]
                              spids: [-1 47682]
                            )
                          ]
                          spids: [-1 43576]
                        )
                      ]
                      spids: [-1 47685]
                    )
                  ]
                  spids: [37877 37878 47688 -1]
                )
                (case_arm
                  pat_list: [{(obj)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {(DQ ($ VSub_Name "$dlfiles") ($ VSub_Name "$dlprefiles"))}
                                    )
                                    (C {(test)} {(DQ ($ VSub_Name "$dlself"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} {(no)}
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(func_warning)} 
                              {
                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                  ("-dlopen' is ignored for objects")
                                )
                              }
                            )
                          ]
                          spids: [-1 47721]
                        )
                      ]
                      spids: [-1 47732]
                    )
                    (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: [47746 47757 47769 -1]
                        )
                      ]
                      spids: [47736 47743 47772]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$rpath"))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                              ("-rpath' is ignored for objects")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$xrpath"))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                              ("-R' is ignored for objects")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$vinfo"))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                              ("-version-info' is ignored for objects")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$release"))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                              ("-release' is ignored for objects")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Case
                      to_match: {($ VSub_Name "$output")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.lo)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} 
                                  {(DQ ($ VSub_Name "$objs") ($ VSub_Name "$old_deplibs"))}
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ("cannot build library object ") 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\`">
                                      ) ($ VSub_Name "$output") ("' from non-libtool objects")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {($ VSub_Name "$output")}
                                  spids: [47896]
                                )
                              ]
                              spids: [47896]
                            )
                            (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: [47907]
                                )
                              ]
                              spids: [47907]
                            )
                          ]
                          spids: [47867 47869 47911 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [47918]
                                )
                              ]
                              spids: [47918]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:obj)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$output"))}
                                  spids: [47921]
                                )
                              ]
                              spids: [47921]
                            )
                          ]
                          spids: [47914 47915 47927 -1]
                        )
                      ]
                      spids: [47860 47864 47930]
                    )
                    (AndOr
                      children: [
                        (C {($ VSub_Name "$opt_dry_run")})
                        (C {($ VSub_Name "$RM")} {($ VSub_Name "$obj")} {($ VSub_Name "$libobj")})
                      ]
                      op_id: Op_DPipe
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:reload_conv_objs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [47966]
                        )
                      ]
                      spids: [47966]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gentop)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [47969]
                        )
                      ]
                      spids: [47969]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:wl) op:Equal rhs:{(SQ )} spids:[47984])]
                      spids: [47984]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$convenience"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} 
                                          {(DQ ($ VSub_Name "$whole_archive_flag_spec"))}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike "tmp_whole_archive_flags=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) ($ VSub_Name "$whole_archive_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:reload_conv_objs)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name "$reload_objs") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\ ">
                                              ) 
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
"$tmp_whole_archive_flags"
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name "$SED")} {(SQ <"s|,| |g">)})
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [48027 48041]
                                              )
                                            }
                                          spids: [48024]
                                        )
                                      ]
                                      spids: [48024]
                                    )
                                  ]
                                  spids: [-1 48013]
                                )
                              ]
                              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: [48047]
                                    )
                                  ]
                                  spids: [48047]
                                )
                                (C {(func_append)} {(generated)} {(DQ (" ") ($ VSub_Name "$gentop"))})
                                (C {(func_extract_archives)} {($ VSub_Name "$gentop")} 
                                  {($ VSub_Name "$convenience")}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:reload_conv_objs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name "$reload_objs") (" ") 
                                            ($ VSub_Name "$func_extract_archives_result")
                                          )
                                        }
                                      spids: [48076]
                                    )
                                  ]
                                  spids: [48076]
                                )
                              ]
                              spids: [48044 48084]
                            )
                          ]
                          spids: [-1 47999]
                        )
                      ]
                      spids: [-1 48087]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name "$build_libtool_libs"))} 
                          {(KW_Bang "!") (Lit_Other "=")} {(yes)}
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:libobjs)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$non_pic_objects"))}
                              spids: [48108]
                            )
                          ]
                          spids: [48108]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (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 (/) 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\.">
                                                ) (${ VSub_Name libext) (Lit_Other "$") ("/d; /") (EscapedLiteralPart token:<Lit_EscapedChar "\\.">) (lib) 
                                                (Lit_Other "$") ("/d; ") ($ VSub_Name "$lo2o")
                                              )
                                            }
                                          )
                                          (C {($ VSub_Name "$NL2SP")})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [48125 48158]
                              ) (DQ (" ") ($ VSub_Name "$reload_conv_objs"))
                            }
                          spids: [48119]
                        )
                      ]
                      spids: [48119]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$obj"))}
                          spids: [48169]
                        )
                      ]
                      spids: [48169]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$reload_cmds"))} {(SQ <"exit $?">)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name "$libobj"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$gentop"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [(C {(func_show_eval)} {(SQ <"${RM}r \"$gentop\"">)})]
                                  spids: [-1 48216]
                                )
                              ]
                              spids: [-1 48226]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [-1 48202]
                        )
                      ]
                      spids: [-1 48235]
                    )
                    (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: [-1 48267]
                                )
                              ]
                              spids: [-1 48277]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [-1 48253]
                        )
                      ]
                      spids: [-1 48302]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$pic_flag"))})
                                    (C {(test)} {(DQ ($ VSub_Name "$pic_mode"))} 
                                      {(KW_Bang "!") (Lit_Other "=")} {(default)}
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:reload_objs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$libobjs") (" ") 
                                        ($ VSub_Name "$reload_conv_objs")
                                      )
                                    }
                                  spids: [48337]
                                )
                              ]
                              spids: [48337]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$libobj"))}
                                  spids: [48345]
                                )
                              ]
                              spids: [48345]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$reload_cmds"))} 
                              {(SQ <"exit $?">)}
                            )
                          ]
                          spids: [-1 48330]
                        )
                      ]
                      spids: [-1 48362]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$gentop"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(func_show_eval)} {(SQ <"${RM}r \"$gentop\"">)})]
                          spids: [-1 48377]
                        )
                      ]
                      spids: [-1 48387]
                    )
                    (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                  ]
                  spids: [47692 47693 48396 -1]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$host")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (cygwin) (Lit_Other "*")}]
                          action: [
                            (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} {(DQ ($ VSub_Name "$output"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {($ VSub_Name "$func_stripname_result") (.exe)}
                                  spids: [48430]
                                )
                              ]
                              spids: [48430]
                            )
                          ]
                          spids: [48411 48414 48433 -1]
                        )
                      ]
                      spids: [48404 48408 48436]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$vinfo"))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                              ("-version-info' is ignored for programs")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$release"))})
                        (C {(func_warning)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                              ("-release' is ignored for programs")
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name "$preload"))} {(Lit_Other "=")} {(yes)})
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Name "$dlopen_support"))} {(Lit_Other "=")} 
                              {(unknown)}
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name "$dlopen_self"))} {(Lit_Other "=")} 
                                  {(unknown)}
                                )
                                (AndOr
                                  children: [
                                    (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."
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Case
                      to_match: {($ VSub_Name "$host")}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other "*") (-) (Lit_Other "*") (-rhapsody) (Lit_Other "*")}
                            {(Lit_Other "*") (-) (Lit_Other "*") (-darwin1.) (Lit_Other "[") (012) 
                              (Lit_Other "]")
                            }
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (" ") ($ VSub_Name "$compile_deplibs"))}
                                                  )
                                                  (C {($ VSub_Name "$SED")} 
                                                    {(SQ <"s/ -lc / System.ltframework /">)}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [48576 48591]
                                      )
                                    }
                                  spids: [48575]
                                )
                              ]
                              spids: [48575]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (" ") ($ VSub_Name "$finalize_deplibs"))}
                                                  )
                                                  (C {($ VSub_Name "$SED")} 
                                                    {(SQ <"s/ -lc / System.ltframework /">)}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [48595 48610]
                                      )
                                    }
                                  spids: [48594]
                                )
                              ]
                              spids: [48594]
                            )
                          ]
                          spids: [48553 48568 48613 -1]
                        )
                      ]
                      spids: [48546 48550 48616]
                    )
                    (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: [48662 48666]
                                          )
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [{(10.) (Lit_Other "[") (0123) (Lit_Other "]")}]
                                          action: [
                                            (C {(func_append)} {(compile_command)} 
                                              {(DQ (" ") (${ VSub_Name wl) (-bind_at_load))}
                                            )
                                            (C {(func_append)} {(finalize_command)} 
                                              {(DQ (" ") (${ VSub_Name wl) (-bind_at_load))}
                                            )
                                          ]
                                          spids: [48671 48675 48704 -1]
                                        )
                                      ]
                                      spids: [48660 48668 48707]
                                    )
                                  ]
                                  spids: [-1 48657]
                                )
                              ]
                              spids: [-1 48710]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (" ") ($ VSub_Name "$compile_deplibs"))}
                                                  )
                                                  (C {($ VSub_Name "$SED")} 
                                                    {
                                                      (SQ 
                                                        <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [48718 48733]
                                      )
                                    }
                                  spids: [48717]
                                )
                              ]
                              spids: [48717]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (" ") ($ VSub_Name "$finalize_deplibs"))}
                                                  )
                                                  (C {($ VSub_Name "$SED")} 
                                                    {
                                                      (SQ 
                                                        <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [48737 48752]
                                      )
                                    }
                                  spids: [48736]
                                )
                              ]
                              spids: [48736]
                            )
                          ]
                          spids: [48627 48632 48755 -1]
                        )
                      ]
                      spids: [48620 48624 48758]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [48771]
                        )
                      ]
                      spids: [48771]
                    )
                    (ForEach
                      iter_name: path
                      iter_words: [{($ VSub_Name "$notinst_path")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ (" ") ($ VSub_Name "$new_libs") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") 
                                      (DQ (" -L") ($ VSub_Name "$path") (/) ($ VSub_Name "$objdir") (" ")) (Lit_Other "*")
                                    }
                                  ]
                                  spids: [48797 48806 48808 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (" ") ($ VSub_Name "$compile_deplibs") (" "))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") 
                                              (DQ (" -L") ($ VSub_Name "$path") (/) 
                                                ($ VSub_Name "$objdir") (" ")
                                              ) (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {
                                                (DQ (" -L") ($ VSub_Name "$path") (/) 
                                                  ($ VSub_Name "$objdir")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [48826 48835 48849 -1]
                                        )
                                      ]
                                      spids: [48815 48823 48852]
                                    )
                                  ]
                                  spids: [48811 48812 48855 -1]
                                )
                              ]
                              spids: [48786 48794 48858]
                            )
                          ]
                          spids: [48783 48861]
                        )
                      spids: [48779 48781]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name "$compile_deplibs")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name "$deplib")}
                              arms: [
                                (case_arm
                                  pat_list: [{(-L) (Lit_Other "*")}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (" ") ($ VSub_Name "$new_libs") (" "))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$deplib") (" ")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [48899 48906 48908 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                            )
                                          ]
                                          spids: [48911 48912 48923 -1]
                                        )
                                      ]
                                      spids: [48888 48896 48926]
                                    )
                                  ]
                                  spids: [48883 48885 48929 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(new_libs)} {(DQ (" ") ($ VSub_Name "$deplib"))})
                                  ]
                                  spids: [48932 48933 48944 -1]
                                )
                              ]
                              spids: [48876 48880 48947]
                            )
                          ]
                          spids: [48873 48950]
                        )
                      spids: [48869 48871]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$new_libs"))}
                          spids: [48953]
                        )
                      ]
                      spids: [48953]
                    )
                    (C {(func_append)} {(compile_command)} {(DQ (" ") ($ VSub_Name "$compile_deplibs"))})
                    (C {(func_append)} {(finalize_command)} 
                      {(DQ (" ") ($ VSub_Name "$finalize_deplibs"))}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$rpath") ($ VSub_Name "$xrpath"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: libdir
                              iter_words: [{($ VSub_Name "$rpath")} {($ VSub_Name "$xrpath")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {(DQ ($ VSub_Name "$finalize_rpath") (" "))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$libdir") (" ")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [49029 49036 49038 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(finalize_rpath)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [49041 49042 49053 -1]
                                        )
                                      ]
                                      spids: [49019 49026 49056]
                                    )
                                  ]
                                  spids: [49012 49059]
                                )
                              spids: [49006 49010]
                            )
                          ]
                          spids: [-1 48994]
                        )
                      ]
                      spids: [-1 49062]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [49070]
                        )
                      ]
                      spids: [49070]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [49073]
                        )
                      ]
                      spids: [49073]
                    )
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name "$compile_rpath")} {($ VSub_Name "$finalize_rpath")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} 
                                          {(DQ ($ VSub_Name "$hardcode_libdir_flag_spec"))}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name "$hardcode_libdir_separator"))}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name "$hardcode_libdirs"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:hardcode_libdirs)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name "$libdir"))}
                                                          spids: [49132]
                                                        )
                                                      ]
                                                      spids: [49132]
                                                    )
                                                  ]
                                                  spids: [-1 49129]
                                                )
                                              ]
                                              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: [49154 49161 49164 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} {(hardcode_libdirs)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
"$hardcode_libdir_separator"
                                                              ) ($ VSub_Name "$libdir")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [49167 49168 49181 -1]
                                                    )
                                                  ]
                                                  spids: [49145 49151 49184]
                                                )
                                              ]
                                              spids: [49138 49187]
                                            )
                                          ]
                                          spids: [-1 49115]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike "flag=") 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar "\\\"">
                                            ) ($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                          }
                                        )
                                        (C {(func_append)} {(rpath)} {(DQ (" ") ($ VSub_Name "$flag"))})
                                      ]
                                      spids: [49190 49211]
                                    )
                                  ]
                                  spids: [-1 49101]
                                )
                                (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: [49238 49245 49247 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(perm_rpath)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [49250 49251 49262 -1]
                                        )
                                      ]
                                      spids: [49228 49235 49265]
                                    )
                                  ]
                                  spids: [49214 49225]
                                )
                              ]
                              spids: [-1 49268]
                            )
                            (Case
                              to_match: {($ VSub_Name "$host")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-cygwin) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-mingw) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-pw32) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-os2) (Lit_Other "*")}
                                    {(Lit_Other "*") (-cegcc) (Lit_Other "*")}
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:testbindir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(${ VSub_Name ECHO)} 
                                                            {(DQ ($ VSub_Name "$libdir"))}
                                                          )
                                                          (C {(${ VSub_Name SED)} {(-e)} 
                                                            {(SQ <"s*/lib$*/bin*">)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [49317 49337]
                                              )
                                            }
                                          spids: [49316]
                                        )
                                      ]
                                      spids: [49316]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (":") ($ VSub_Name "$libdir") (":")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [49349 49356 49358 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ":") (Lit_Other ":")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$libdir")}
                                                  spids: [49365]
                                                )
                                              ]
                                              spids: [49365]
                                            )
                                          ]
                                          spids: [49361 49363 49367 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (":") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [49370 49371 49381 -1]
                                        )
                                      ]
                                      spids: [49340 49346 49384]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") 
                                              (DQ (":") ($ VSub_Name "$testbindir") (":")) (Lit_Other "*")
                                            }
                                          ]
                                          spids: [49396 49403 49405 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ":") (Lit_Other ":")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$testbindir")}
                                                  spids: [49412]
                                                )
                                              ]
                                              spids: [49412]
                                            )
                                          ]
                                          spids: [49408 49410 49414 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (":") ($ VSub_Name "$testbindir"))}
                                            )
                                          ]
                                          spids: [49417 49418 49428 -1]
                                        )
                                      ]
                                      spids: [49387 49393 49431]
                                    )
                                  ]
                                  spids: [49278 49313 49434 -1]
                                )
                              ]
                              spids: [49271 49275 49437]
                            )
                          ]
                          spids: [49087 49440]
                        )
                      spids: [49081 49085]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$hardcode_libdir_separator"))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$hardcode_libdirs"))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$hardcode_libdirs"))}
                                  spids: [49472]
                                )
                              ]
                              spids: [49472]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "rpath=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                )
                              } {($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                            )
                          ]
                          spids: [-1 49469]
                        )
                      ]
                      spids: [-1 49487]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_rpath)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$rpath"))}
                          spids: [49490]
                        )
                      ]
                      spids: [49490]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [49497]
                        )
                      ]
                      spids: [49497]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [49500]
                        )
                      ]
                      spids: [49500]
                    )
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name "$finalize_rpath")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} 
                                          {(DQ ($ VSub_Name "$hardcode_libdir_flag_spec"))}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name "$hardcode_libdir_separator"))}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name "$hardcode_libdirs"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:hardcode_libdirs)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name "$libdir"))}
                                                          spids: [49557]
                                                        )
                                                      ]
                                                      spids: [49557]
                                                    )
                                                  ]
                                                  spids: [-1 49554]
                                                )
                                              ]
                                              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: [49579 49586 49589 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} {(hardcode_libdirs)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
"$hardcode_libdir_separator"
                                                              ) ($ VSub_Name "$libdir")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [49592 49593 49606 -1]
                                                    )
                                                  ]
                                                  spids: [49570 49576 49609]
                                                )
                                              ]
                                              spids: [49563 49612]
                                            )
                                          ]
                                          spids: [-1 49540]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike "flag=") 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar "\\\"">
                                            ) ($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                          }
                                        )
                                        (C {(func_append)} {(rpath)} {(DQ (" ") ($ VSub_Name "$flag"))})
                                      ]
                                      spids: [49615 49636]
                                    )
                                  ]
                                  spids: [-1 49526]
                                )
                                (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: [49663 49670 49672 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(finalize_perm_rpath)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [49675 49676 49687 -1]
                                        )
                                      ]
                                      spids: [49653 49660 49690]
                                    )
                                  ]
                                  spids: [49639 49650]
                                )
                              ]
                              spids: [-1 49693]
                            )
                          ]
                          spids: [49512 49696]
                        )
                      spids: [49508 49510]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$hardcode_libdir_separator"))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$hardcode_libdirs"))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$hardcode_libdirs"))}
                                  spids: [49728]
                                )
                              ]
                              spids: [49728]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "rpath=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                )
                              } {($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                            )
                          ]
                          spids: [-1 49725]
                        )
                      ]
                      spids: [-1 49743]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_rpath)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$rpath"))}
                          spids: [49746]
                        )
                      ]
                      spids: [49746]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$libobjs"))})
                                    (C {(test)} {(DQ ($ VSub_Name "$build_old_libs"))} {(Lit_Other "=")} 
                                      {(yes)}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ ($ VSub_Name "$compile_command"))}
                                                  )
                                                  (C {($ VSub_Name "$SP2NL")})
                                                  (C {($ VSub_Name "$SED")} {(DQ ($ VSub_Name "$lo2o"))})
                                                  (C {($ VSub_Name "$NL2SP")})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [49784 49806]
                                      )
                                    }
                                  spids: [49783]
                                )
                              ]
                              spids: [49783]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ ($ VSub_Name "$finalize_command"))}
                                                  )
                                                  (C {($ VSub_Name "$SP2NL")})
                                                  (C {($ VSub_Name "$SED")} {(DQ ($ VSub_Name "$lo2o"))})
                                                  (C {($ VSub_Name "$NL2SP")})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [49810 49832]
                                      )
                                    }
                                  spids: [49809]
                                )
                              ]
                              spids: [49809]
                            )
                          ]
                          spids: [-1 49776]
                        )
                      ]
                      spids: [-1 49835]
                    )
                    (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: [-1 49870]
                        )
                      ]
                      spids: [-1 49884]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wrappers_required)
                          op: Equal
                          rhs: {(yes)}
                          spids: [49888]
                        )
                      ]
                      spids: [49888]
                    )
                    (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: [49915]
                                )
                              ]
                              spids: [49915]
                            )
                          ]
                          spids: [49899 49908 49919 -1]
                        )
                        (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: [49952]
                                        )
                                      ]
                                      spids: [49952]
                                    )
                                  ]
                                  spids: [-1 49949]
                                )
                              ]
                              spids: [-1 49956]
                            )
                          ]
                          spids: [49922 49932 49959 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name "$need_relink"))} 
                                              {(Lit_Other "=")} {(no)}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name "$build_libtool_libs"))} 
                                              {(KW_Bang "!") (Lit_Other "=")} {(yes)}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wrappers_required)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [49995]
                                        )
                                      ]
                                      spids: [49995]
                                    )
                                  ]
                                  spids: [-1 49992]
                                )
                              ]
                              spids: [-1 49999]
                            )
                          ]
                          spids: [49962 49963 50002 -1]
                        )
                      ]
                      spids: [49892 49896 50005]
                    )
                    (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: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [50029 50049]
                                      )
                                    }
                                  spids: [50028]
                                )
                              ]
                              spids: [50028]
                            )
                            (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: [50052]
                                )
                              ]
                              spids: [50052]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:exit_status)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [50064]
                                )
                              ]
                              spids: [50064]
                            )
                            (C {(func_show_eval)} {(DQ ($ VSub_Name "$link_command"))} 
                              {(SQ <"exit_status=$?">)}
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$postlink_cmds"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_to_tool_file)} {(DQ ($ VSub_Name "$output"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:postlink_cmds)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(func_echo_all)} 
                                                            {(DQ ($ VSub_Name "$postlink_cmds"))}
                                                          )
                                                          (C {($ VSub_Name "$SED")} {(-e)} 
                                                            {(SQ <"s%@OUTPUT@%">) 
                                                              (DQ ($ VSub_Name "$output")) (SQ <"%g">)
                                                            } {(-e)} {(SQ <"s%@TOOL_OUTPUT@%">) (DQ ($ VSub_Name "$func_to_tool_file_result")) (SQ <"%g">)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [50102 50136]
                                              )
                                            }
                                          spids: [50101]
                                        )
                                      ]
                                      spids: [50101]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$postlink_cmds"))} 
                                      {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 50091]
                                )
                              ]
                              spids: [-1 50150]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-f)} 
                                          {
                                            (DQ ($ VSub_Name "$output_objdir") (/) 
                                              (${ VSub_Name outputname) (S.) (${ VSub_Name objext)
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_show_eval)} 
                                      {(SQ <"$RM \"$output_objdir/${outputname}S.${objext}\"">)}
                                    )
                                  ]
                                  spids: [-1 50177]
                                )
                              ]
                              spids: [-1 50187]
                            )
                            (C {(exit)} {($ VSub_Name "$exit_status")})
                          ]
                          spids: [-1 50021]
                        )
                      ]
                      spids: [-1 50196]
                    )
                    (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: [50215]
                                )
                              ]
                              spids: [50215]
                            )
                          ]
                          spids: [-1 50212]
                        )
                      ]
                      spids: [-1 50230]
                    )
                    (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: [50247]
                                )
                              ]
                              spids: [50247]
                            )
                          ]
                          spids: [-1 50244]
                        )
                      ]
                      spids: [-1 50261]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_var)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [50265]
                        )
                      ]
                      spids: [50265]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_var)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [50268]
                        )
                      ]
                      spids: [50268]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$runpath_var"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$perm_rpath"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [50303]
                                        )
                                      ]
                                      spids: [50303]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name "$perm_rpath")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_append)} {(rpath)} 
                                              {(DQ ($ VSub_Name "$dir") (":"))}
                                            )
                                          ]
                                          spids: [50315 50328]
                                        )
                                      spids: [50311 50313]
                                    )
                                    (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: [50331]
                                        )
                                      ]
                                      spids: [50331]
                                    )
                                  ]
                                  spids: [-1 50296]
                                )
                              ]
                              spids: [-1 50344]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$finalize_perm_rpath"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [50365]
                                        )
                                      ]
                                      spids: [50365]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name "$finalize_perm_rpath")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_append)} {(rpath)} 
                                              {(DQ ($ VSub_Name "$dir") (":"))}
                                            )
                                          ]
                                          spids: [50377 50390]
                                        )
                                      spids: [50373 50375]
                                    )
                                    (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: [50393]
                                        )
                                      ]
                                      spids: [50393]
                                    )
                                  ]
                                  spids: [-1 50358]
                                )
                              ]
                              spids: [-1 50406]
                            )
                          ]
                          spids: [-1 50282]
                        )
                      ]
                      spids: [-1 50409]
                    )
                    (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: [50433]
                                )
                              ]
                              spids: [50433]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ ($ VSub_Name "$link_command"))}
                                                  )
                                                  (C {($ VSub_Name "$SED")} 
                                                    {(SQ <"s%@OUTPUT@%">) 
                                                      (DQ ($ VSub_Name "$output")) (SQ <"%g">)
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [50446 50466]
                                      )
                                    }
                                  spids: [50445]
                                )
                              ]
                              spids: [50445]
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name "$opt_dry_run")})
                                (C {($ VSub_Name "$RM")} {($ VSub_Name "$output")})
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(func_show_eval)} {(DQ ($ VSub_Name "$link_command"))} {(SQ <"exit $?">)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$postlink_cmds"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_to_tool_file)} {(DQ ($ VSub_Name "$output"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:postlink_cmds)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(func_echo_all)} 
                                                            {(DQ ($ VSub_Name "$postlink_cmds"))}
                                                          )
                                                          (C {($ VSub_Name "$SED")} {(-e)} 
                                                            {(SQ <"s%@OUTPUT@%">) 
                                                              (DQ ($ VSub_Name "$output")) (SQ <"%g">)
                                                            } {(-e)} {(SQ <"s%@TOOL_OUTPUT@%">) (DQ ($ VSub_Name "$func_to_tool_file_result")) (SQ <"%g">)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [50520 50554]
                                              )
                                            }
                                          spids: [50519]
                                        )
                                      ]
                                      spids: [50519]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$postlink_cmds"))} 
                                      {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 50509]
                                )
                              ]
                              spids: [-1 50568]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [-1 50426]
                        )
                      ]
                      spids: [-1 50577]
                    )
                    (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: [50601]
                                )
                              ]
                              spids: [50601]
                            )
                            (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: [50609]
                                )
                              ]
                              spids: [50609]
                            )
                            (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: [-1 50594]
                        )
                      ]
                      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: [50654]
                                    )
                                  ]
                                  spids: [50654]
                                )
                                (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: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [50679 50695]
                                                  )
                                                }
                                              spids: [50678]
                                            )
                                          ]
                                          spids: [50678]
                                        )
                                      ]
                                      spids: [-1 50675]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [50705]
                                        )
                                      ]
                                      spids: [50705]
                                    )
                                  ]
                                  spids: [50698 50708]
                                )
                              ]
                              spids: [-1 50651]
                            )
                          ]
                          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: [50714]
                                )
                              ]
                              spids: [50714]
                            )
                            (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: [50722]
                                )
                              ]
                              spids: [50722]
                            )
                          ]
                          spids: [50711 50730]
                        )
                      ]
                      spids: [50634 50733]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:link_command)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name "$ECHO")} 
                                            {(DQ ($ VSub_Name "$link_command"))}
                                          )
                                          (C {($ VSub_Name "$SED")} 
                                            {(SQ <"s%@OUTPUT@%">) 
                                              (DQ ($ VSub_Name "$output_objdir") (/) 
                                                ($ VSub_Name "$outputname")
                                              ) (SQ <"%g">)
                                            }
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [50742 50764]
                              )
                            }
                          spids: [50741]
                        )
                      ]
                      spids: [50741]
                    )
                    (AndOr
                      children: [
                        (C {($ VSub_Name "$opt_dry_run")})
                        (C {($ VSub_Name "$RM")} {($ VSub_Name "$output")} 
                          {($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$outputname")} {($ VSub_Name "$output_objdir") (/lt-) ($ VSub_Name "$outputname")}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name "$link_command"))} {(SQ <"exit $?">)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$postlink_cmds"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(func_to_tool_file)} 
                              {(DQ ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$outputname"))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:postlink_cmds)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(func_echo_all)} 
                                                    {(DQ ($ VSub_Name "$postlink_cmds"))}
                                                  )
                                                  (C {($ VSub_Name "$SED")} {(-e)} 
                                                    {(SQ <"s%@OUTPUT@%">) 
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$outputname")
                                                      ) (SQ <"%g">)
                                                    } {(-e)} {(SQ <"s%@TOOL_OUTPUT@%">) (DQ ($ VSub_Name "$func_to_tool_file_result")) (SQ <"%g">)}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [50826 50862]
                                      )
                                    }
                                  spids: [50825]
                                )
                              ]
                              spids: [50825]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$postlink_cmds"))} 
                              {(SQ <"exit $?">)}
                            )
                          ]
                          spids: [-1 50813]
                        )
                      ]
                      spids: [-1 50876]
                    )
                    (C {(func_verbose)} {(DQ ("creating ") ($ VSub_Name "$output"))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$relink_command"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: var
                              iter_words: [{($ VSub_Name "$variables_saved_for_relink")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(eval)} {(test)} {(-z)} 
                                                  {
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar "\\\"">
                                                    ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (Lit_LBrace "{") ($ VSub_Name "$var") (Lit_Other "+") 
                                                    (set) (Lit_RBrace "}") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                  }
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:relink_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ("{ test -z ") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\\"">
                                                        ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{") ($ VSub_Name "$var") ("+set}") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\\"">
                                                        ) (" || ") ($ VSub_Name "$lt_unset") (" ") ($ VSub_Name "$var") (" || { ") ($ VSub_Name "$var") 
                                                        ("=; export ") ($ VSub_Name "$var") ("; }; }; ") ($ VSub_Name "$relink_command")
                                                      )
                                                    }
                                                  spids: [50948]
                                                )
                                              ]
                                              spids: [50948]
                                            )
                                          ]
                                          spids: [-1 50945]
                                        )
                                        (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: [50991]
                                                )
                                              ]
                                              spids: [50991]
                                            )
                                          ]
                                          spids: [50970 50988]
                                        )
                                      ]
                                      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: [51011]
                                            )
                                          ]
                                          spids: [51011]
                                        )
                                      ]
                                      spids: [51001 51023]
                                    )
                                  ]
                                  spids: [50924 51026]
                                )
                              spids: [50920 50922]
                            )
                            (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: [51032 51034]
                                        ) ("; ") ($ VSub_Name "$relink_command") (")")
                                      )
                                    }
                                  spids: [51029]
                                )
                              ]
                              spids: [51029]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ ($ VSub_Name "$relink_command"))}
                                                  )
                                                  (C {($ VSub_Name "$SED")} 
                                                    {(DQ ($ VSub_Name "$sed_quote_subst"))}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [51042 51056]
                                      )
                                    }
                                  spids: [51041]
                                )
                              ]
                              spids: [51041]
                            )
                          ]
                          spids: [-1 50908]
                        )
                      ]
                      spids: [-1 51059]
                    )
                    (AndOr
                      children: [
                        (C {($ VSub_Name "$opt_dry_run")})
                        (BraceGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name "$output")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (.exe)}]
                                  action: [
                                    (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                                      {(DQ ($ VSub_Name "$output"))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output)
                                          op: Equal
                                          rhs: {($ VSub_Name "$func_stripname_result")}
                                          spids: [51107]
                                        )
                                      ]
                                      spids: [51107]
                                    )
                                  ]
                                  spids: [51089 51091 51110 -1]
                                )
                              ]
                              spids: [51082 51086 51113]
                            )
                            (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: [51133]
                                        )
                                      ]
                                      spids: [51133]
                                    )
                                    (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: [51151]
                                        )
                                      ]
                                      spids: [51151]
                                    )
                                  ]
                                  spids: [51127 51130 51154 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:exeext)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [51160]
                                        )
                                      ]
                                      spids: [51160]
                                    )
                                  ]
                                  spids: [51157 51158 51162 -1]
                                )
                              ]
                              spids: [51120 51124 51165]
                            )
                            (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: [51202]
                                        )
                                      ]
                                      spids: [51202]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output_path)
                                          op: Equal
                                          rhs: {($ VSub_Name "$func_dirname_result")}
                                          spids: [51206]
                                        )
                                      ]
                                      spids: [51206]
                                    )
                                    (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: [51210]
                                        )
                                      ]
                                      spids: [51210]
                                    )
                                    (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: [51221]
                                        )
                                      ]
                                      spids: [51221]
                                    )
                                    (C {($ VSub_Name "$RM")} {($ VSub_Name "$cwrappersource")} 
                                      {($ VSub_Name "$cwrapper")}
                                    )
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name "$RM") (" ") ($ VSub_Name "$cwrappersource") 
                                          (" ") ($ VSub_Name "$cwrapper") ("; exit ") ($ VSub_Name "$EXIT_FAILURE")
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (SimpleCommand
                                      words: [{(func_emit_cwrapperexe_src)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {($ VSub_Name "$cwrappersource")}
                                          spids: [51259]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (BraceGroup
                                          children: [
                                            (C {($ VSub_Name "$LTCC")} {($ VSub_Name "$LTCFLAGS")} 
                                              {(-o)} {($ VSub_Name "$cwrapper")} {($ VSub_Name "$cwrappersource")}
                                            )
                                            (C {($ VSub_Name "$STRIP")} {($ VSub_Name "$cwrapper")})
                                          ]
                                          spids: [51285]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (C {(func_ltwrapper_scriptname)} {($ VSub_Name "$cwrapper")})
                                    (C {($ VSub_Name "$RM")} 
                                      {($ VSub_Name "$func_ltwrapper_scriptname_result")}
                                    )
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name "$RM") (" ") 
                                          ($ VSub_Name "$func_ltwrapper_scriptname_result") ("; exit ") ($ VSub_Name "$EXIT_FAILURE")
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (BraceGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ (x) ($ VSub_Name "$build"))} 
                                                          {(Lit_Other "=")} {(DQ (x) ($ VSub_Name "$host"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name "$cwrapper")}
                                                        {(--lt-dump-script)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: 
                                                            {
                                                              ($ VSub_Name 
"$func_ltwrapper_scriptname_result"
                                                              )
                                                            }
                                                          spids: [51375]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [-1 51368]
                                                )
                                              ]
                                              else_action: [
                                                (SimpleCommand
                                                  words: [{(func_emit_wrapper)} {(no)}]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: -1
                                                      arg_word: 
                                                        {
                                                          ($ VSub_Name 
"$func_ltwrapper_scriptname_result"
                                                          )
                                                        }
                                                      spids: [51387]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [51380 51392]
                                            )
                                          ]
                                          spids: [51343]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [51175 51185 51398 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {($ VSub_Name "$RM")} {($ VSub_Name "$output")})
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name "$RM") (" ") ($ VSub_Name "$output") 
                                          ("; exit ") ($ VSub_Name "$EXIT_FAILURE")
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (SimpleCommand
                                      words: [{(func_emit_wrapper)} {(no)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {($ VSub_Name "$output")}
                                          spids: [51433]
                                        )
                                      ]
                                    )
                                    (C {(chmod)} {(Lit_Other "+") (x)} {($ VSub_Name "$output")})
                                  ]
                                  spids: [51401 51403 51446 -1]
                                )
                              ]
                              spids: [51168 51172 51449]
                            )
                          ]
                          spids: [51071]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                  ]
                  spids: [48400 48401 51460 -1]
                )
              ]
              spids: [37653 37657 51463]
            )
            (ForEach
              iter_name: oldlib
              iter_words: [{($ VSub_Name "$oldlibs")}]
              do_arg_iter: False
              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: [51500]
                                )
                              ]
                              spids: [51500]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$convenience"))}
                                  spids: [51508]
                                )
                              ]
                              spids: [51508]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [51514]
                                )
                              ]
                              spids: [51514]
                            )
                          ]
                          spids: [-1 51497]
                        )
                      ]
                      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: [51537]
                                    )
                                  ]
                                  spids: [51537]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:build_libtool_libs)
                                      op: Equal
                                      rhs: {(no)}
                                      spids: [51543]
                                    )
                                  ]
                                  spids: [51543]
                                )
                              ]
                              spids: [-1 51534]
                            )
                          ]
                          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: [51550]
                                )
                              ]
                              spids: [51550]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ ($ VSub_Name "$preload"))} 
                                              {(Lit_Other "=")} {(yes)}
                                            )
                                            (C {(test)} {(-f)} {(DQ ($ VSub_Name "$symfileobj"))})
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(oldobjs)} 
                                      {(DQ (" ") ($ VSub_Name "$symfileobj"))}
                                    )
                                  ]
                                  spids: [-1 51581]
                                )
                              ]
                              spids: [-1 51594]
                            )
                          ]
                          spids: [51547 51597]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:addlibs)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$old_convenience"))}
                              spids: [51600]
                            )
                          ]
                          spids: [51600]
                        )
                      ]
                      spids: [51518 51606]
                    )
                    (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: [51624]
                                )
                              ]
                              spids: [51624]
                            )
                            (C {(func_append)} {(generated)} {(DQ (" ") ($ VSub_Name "$gentop"))})
                            (C {(func_extract_archives)} {($ VSub_Name "$gentop")} 
                              {($ VSub_Name "$addlibs")}
                            )
                            (C {(func_append)} {(oldobjs)} 
                              {(DQ (" ") ($ VSub_Name "$func_extract_archives_result"))}
                            )
                          ]
                          spids: [-1 51621]
                        )
                      ]
                      spids: [-1 51663]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$old_archive_from_new_cmds"))})
                                    (C {(test)} {(DQ ($ VSub_Name "$build_libtool_libs"))} 
                                      {(Lit_Other "=")} {(yes)}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cmds)
                                  op: Equal
                                  rhs: {($ VSub_Name "$old_archive_from_new_cmds")}
                                  spids: [51697]
                                )
                              ]
                              spids: [51697]
                            )
                          ]
                          spids: [-1 51694]
                        )
                      ]
                      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: [51723]
                                    )
                                  ]
                                  spids: [51723]
                                )
                                (C {(func_append)} {(generated)} {(DQ (" ") ($ VSub_Name "$gentop"))})
                                (C {(func_extract_archives)} {($ VSub_Name "$gentop")} 
                                  {($ VSub_Name "$dlprefiles")}
                                )
                                (C {(func_append)} {(oldobjs)} 
                                  {(DQ (" ") ($ VSub_Name "$func_extract_archives_result"))}
                                )
                              ]
                              spids: [-1 51720]
                            )
                          ]
                          spids: [-1 51762]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (Subshell
                                      child: 
                                        (Pipeline
                                          children: [
                                            (ForEach
                                              iter_name: obj
                                              iter_words: [{($ VSub_Name "$oldobjs")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_basename)} {(DQ ($ VSub_Name "$obj"))})
                                                    (C {($ VSub_Name "$ECHO")} 
                                                      {(DQ ($ VSub_Name "$func_basename_result"))}
                                                    )
                                                  ]
                                                  spids: [51802 51819]
                                                )
                                              spids: [51798 -1]
                                            )
                                            (C {(sort)})
                                            (SimpleCommand
                                              words: [{(sort)} {(-uc)}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                  spids: [51831]
                                                )
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: 2
                                                  arg_word: {(1)}
                                                  spids: [51834]
                                                )
                                              ]
                                            )
                                          ]
                                          negated: False
                                        )
                                      spids: [51792 51836]
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              action: [(C {(Lit_Other ":")})]
                              spids: [-1 51839]
                            )
                          ]
                          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: [51855]
                                )
                              ]
                              spids: [51855]
                            )
                            (C {(func_append)} {(generated)} {(DQ (" ") ($ VSub_Name "$gentop"))})
                            (C {(func_mkdir_p)} {(DQ ($ VSub_Name "$gentop"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$oldobjs")}
                                  spids: [51883]
                                )
                              ]
                              spids: [51883]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [51887]
                                )
                              ]
                              spids: [51887]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:counter)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [51890]
                                )
                              ]
                              spids: [51890]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name "$save_oldobjs")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_basename)} {(DQ ($ VSub_Name "$obj"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:objbase)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$func_basename_result"))}
                                          spids: [51913]
                                        )
                                      ]
                                      spids: [51913]
                                    )
                                    (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: [51935]
                                                )
                                              ]
                                              spids: [51935]
                                            )
                                          ]
                                          spids: [51931 51933 51938 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (Lit_Other "[") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\ ">
                                              ) (/) (Lit_Other "]") (DQ ($ VSub_Name "$objbase") (" ")) (Lit_Other "*")
                                            }
                                          ]
                                          action: [
                                            (While
                                              cond: [
                                                (Sentence
                                                  child: (C {(Lit_Other ":")})
                                                  terminator: <Op_Semi ";">
                                                )
                                              ]
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newobj)
                                                          op: Equal
                                                          rhs: 
                                                            {(lt) ($ VSub_Name "$counter") (-) 
                                                              ($ VSub_Name "$objbase")
                                                            }
                                                          spids: [51970]
                                                        )
                                                      ]
                                                      spids: [51970]
                                                    )
                                                    (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: [51986]
                                                        )
                                                      ]
                                                      spids: [51986]
                                                    )
                                                    (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: [52001 52011 52013 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(KW_Bang "!")} 
                                                                          {(-f)} {(DQ ($ VSub_Name "$gentop") (/) ($ VSub_Name "$newobj"))}
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Sentence
                                                                      child: 
                                                                        (ControlFlow
                                                                          token: 
                                                                            <ControlFlow_Break 
break
                                                                            >
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  spids: [-1 52034]
                                                                )
                                                              ]
                                                              spids: [-1 52039]
                                                            )
                                                          ]
                                                          spids: [52016 52017 52041 -1]
                                                        )
                                                      ]
                                                      spids: [51990 51998 52044]
                                                    )
                                                  ]
                                                  spids: [51959 52047]
                                                )
                                            )
                                            (C {(func_show_eval)} 
                                              {
                                                (DQ ("ln ") ($ VSub_Name "$obj") (" ") 
                                                  ($ VSub_Name "$gentop") (/) ($ VSub_Name "$newobj") (" || cp ") ($ VSub_Name "$obj") (" ") ($ VSub_Name "$gentop") (/) 
                                                  ($ VSub_Name "$newobj")
                                                )
                                              }
                                            )
                                            (C {(func_append)} {(oldobjs)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$gentop") (/) 
                                                  ($ VSub_Name "$newobj")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [51941 51951 52080 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(oldobjs)} 
                                              {(DQ (" ") ($ VSub_Name "$obj"))}
                                            )
                                          ]
                                          spids: [52083 52084 52095 -1]
                                        )
                                      ]
                                      spids: [51919 51927 52098]
                                    )
                                  ]
                                  spids: [51903 52101]
                                )
                              spids: [51899 -1]
                            )
                          ]
                          spids: [51845 52104]
                        )
                        (C {(eval)} 
                          {(Lit_VarLike "cmds=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                            ($ VSub_Name "$old_archive_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                          }
                        )
                        (C {(func_len)} {(DQ (" ") ($ VSub_Name "$cmds"))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:len)
                              op: Equal
                              rhs: {($ VSub_Name "$func_len_result")}
                              spids: [52124]
                            )
                          ]
                          spids: [52124]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name "$len"))} {(-lt)} 
                                          {(DQ ($ VSub_Name "$max_cmd_len"))}
                                        )
                                        (C {(test)} {(DQ ($ VSub_Name "$max_cmd_len"))} {(-le)} {(-1)})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmds)
                                      op: Equal
                                      rhs: {($ VSub_Name "$old_archive_cmds")}
                                      spids: [52158]
                                    )
                                  ]
                                  spids: [52158]
                                )
                              ]
                              spids: [-1 52155]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$archiver_list_spec"))})
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              action: [
                                (C {(func_verbose)} {(DQ ("using command file archive linking..."))})
                                (ForEach
                                  iter_name: obj
                                  iter_words: [{($ VSub_Name "$oldobjs")}]
                                  do_arg_iter: False
                                  body: 
                                    (DoGroup
                                      children: [
                                        (C {(func_to_tool_file)} {(DQ ($ VSub_Name "$obj"))})
                                        (C {($ VSub_Name "$ECHO")} 
                                          {(DQ ($ VSub_Name "$func_to_tool_file_result"))}
                                        )
                                      ]
                                      spids: [52192 52209]
                                    )
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: 
                                        {($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$libname") 
                                          (.libcmd)
                                        }
                                      spids: [52211]
                                    )
                                  ]
                                  spids: [52188 -1]
                                )
                                (C {(func_to_tool_file)} 
                                  {
                                    (DQ ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$libname") 
                                      (.libcmd)
                                    )
                                  }
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:oldobjs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ (" ") ($ VSub_Name "$archiver_list_spec") 
                                            ($ VSub_Name "$func_to_tool_file_result")
                                          )
                                        }
                                      spids: [52229]
                                    )
                                  ]
                                  spids: [52229]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmds)
                                      op: Equal
                                      rhs: {($ VSub_Name "$old_archive_cmds")}
                                      spids: [52237]
                                    )
                                  ]
                                  spids: [52237]
                                )
                              ]
                              spids: [52162 52173]
                            )
                          ]
                          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: [52255]
                                )
                              ]
                              spids: [52255]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {(Lit_Other ":")}
                                  spids: [52259]
                                )
                              ]
                              spids: [52259]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objlist)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [52263]
                                )
                              ]
                              spids: [52263]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:concat_cmds)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [52266]
                                )
                              ]
                              spids: [52266]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$oldobjs")}
                                  spids: [52269]
                                )
                              ]
                              spids: [52269]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [52273]
                                )
                              ]
                              spids: [52273]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name "$save_oldobjs")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:last_oldobj)
                                          op: Equal
                                          rhs: {($ VSub_Name "$obj")}
                                          spids: [52292]
                                        )
                                      ]
                                      spids: [52292]
                                    )
                                  ]
                                  spids: [52289 52296]
                                )
                              spids: [52285 -1]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "test_cmds=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) ($ VSub_Name "$old_archive_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                              }
                            )
                            (C {(func_len)} {(DQ (" ") ($ VSub_Name "$test_cmds"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:len0)
                                  op: Equal
                                  rhs: {($ VSub_Name "$func_len_result")}
                                  spids: [52315]
                                )
                              ]
                              spids: [52315]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:len)
                                  op: Equal
                                  rhs: {($ VSub_Name "$len0")}
                                  spids: [52319]
                                )
                              ]
                              spids: [52319]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name "$save_oldobjs")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_len)} {(DQ (" ") ($ VSub_Name "$obj"))})
                                    (C {(func_arith)} {($ VSub_Name "$len")} {(Lit_Other "+")} 
                                      {($ VSub_Name "$func_len_result")}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:len)
                                          op: Equal
                                          rhs: {($ VSub_Name "$func_arith_result")}
                                          spids: [52352]
                                        )
                                      ]
                                      spids: [52352]
                                    )
                                    (C {(func_append)} {(objlist)} {(DQ (" ") ($ VSub_Name "$obj"))})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name "$len"))} {(-lt)} 
                                                  {(DQ ($ VSub_Name "$max_cmd_len"))}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [(C {(Lit_Other ":")})]
                                          spids: [-1 52381]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:oldobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name "$objlist")}
                                              spids: [52394]
                                            )
                                          ]
                                          spids: [52394]
                                        )
                                        (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: [52417]
                                                    )
                                                  ]
                                                  spids: [52417]
                                                )
                                              ]
                                              spids: [-1 52414]
                                            )
                                          ]
                                          spids: [-1 52421]
                                        )
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-z)} {(DQ ($ VSub_Name "$concat_cmds"))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:concat_cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$concat_cmds") (Lit_Tilde "~")}
                                                  spids: [52434]
                                                )
                                              ]
                                              spids: [52434]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                        (C {(eval)} 
                                          {(Lit_VarLike "concat_cmds=") 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar "\\\"">
                                            ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (Lit_LBrace "{") (concat_cmds) (Lit_RBrace "}") 
                                            ($ VSub_Name "$old_archive_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:objlist)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [52451]
                                            )
                                          ]
                                          spids: [52451]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:len)
                                              op: Equal
                                              rhs: {($ VSub_Name "$len0")}
                                              spids: [52454]
                                            )
                                          ]
                                          spids: [52454]
                                        )
                                      ]
                                      spids: [52387 52458]
                                    )
                                  ]
                                  spids: [52332 52461]
                                )
                              spids: [52328 -1]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {($ VSub_Name "$save_RANLIB")}
                                  spids: [52464]
                                )
                              ]
                              spids: [52464]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$objlist")}
                                  spids: [52468]
                                )
                              ]
                              spids: [52468]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ (X) ($ VSub_Name "$oldobjs"))} 
                                          {(Lit_Other "=")} {(DQ (X))}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike "cmds=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (concat_cmds) 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 52489]
                                )
                              ]
                              else_action: [
                                (C {(eval)} 
                                  {(Lit_VarLike "cmds=") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\\"">
                                    ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (concat_cmds) (Lit_Tilde "~") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\$">
                                    ) (old_archive_cmds) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                  }
                                )
                              ]
                              spids: [52501 52516]
                            )
                          ]
                          spids: [52241 52519]
                        )
                      ]
                      spids: [51701 52522]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$cmds"))} {(SQ <"exit $?">)})
                  ]
                  spids: [51480 52536]
                )
              spids: [51476 51478]
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$generated"))})
                (C {(func_show_eval)} {(DQ (${ VSub_Name RM) (r) ($ VSub_Name "$generated"))})
              ]
              op_id: Op_DAmp
            )
            (Case
              to_match: {($ VSub_Name "$output")}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "*") (.la)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [52580]
                        )
                      ]
                      spids: [52580]
                    )
                    (AndOr
                      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: [52595]
                            )
                          ]
                          spids: [52595]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (C {(func_verbose)} {(DQ ("creating ") ($ VSub_Name "$output"))})
                    (ForEach
                      iter_name: var
                      iter_words: [{($ VSub_Name "$variables_saved_for_relink")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(eval)} {(test)} {(-z)} 
                                          {(EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar "\\$">
                                            ) (Lit_LBrace "{") ($ VSub_Name "$var") (Lit_Other "+") (set) (Lit_RBrace "}") 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar "\\\"">
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ("{ test -z ") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\\"">
                                                ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{") ($ VSub_Name "$var") ("+set}") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\\"">
                                                ) (" || ") ($ VSub_Name "$lt_unset") (" ") ($ VSub_Name "$var") (" || { ") ($ VSub_Name "$var") 
                                                ("=; export ") ($ VSub_Name "$var") ("; }; }; ") ($ VSub_Name "$relink_command")
                                              )
                                            }
                                          spids: [52649]
                                        )
                                      ]
                                      spids: [52649]
                                    )
                                  ]
                                  spids: [-1 52646]
                                )
                                (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: [52692]
                                        )
                                      ]
                                      spids: [52692]
                                    )
                                  ]
                                  spids: [52671 52689]
                                )
                              ]
                              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: [52712]
                                    )
                                  ]
                                  spids: [52712]
                                )
                              ]
                              spids: [52702 52724]
                            )
                          ]
                          spids: [52625 52727]
                        )
                      spids: [52621 52623]
                    )
                    (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: [52737 52739]
                                ) ("; ") ($ VSub_Name "$SHELL") (" ") ($ VSub_Name "$progpath") (" ") ($ VSub_Name "$preserve_args") 
                                (" --mode=relink ") ($ VSub_Name "$libtool_args") (" @inst_prefix_dir@)")
                              )
                            }
                          spids: [52734]
                        )
                      ]
                      spids: [52734]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:relink_command)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name "$ECHO")} 
                                            {(DQ ($ VSub_Name "$relink_command"))}
                                          )
                                          (C {($ VSub_Name "$SED")} 
                                            {(DQ ($ VSub_Name "$sed_quote_subst"))}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [52753 52767]
                              )
                            }
                          spids: [52752]
                        )
                      ]
                      spids: [52752]
                    )
                    (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: {(SQ )}
                                  spids: [52787]
                                )
                              ]
                              spids: [52787]
                            )
                          ]
                          spids: [-1 52784]
                        )
                      ]
                      spids: [-1 52790]
                    )
                    (AndOr
                      children: [
                        (C {($ VSub_Name "$opt_dry_run")})
                        (BraceGroup
                          children: [
                            (ForEach
                              iter_name: installed
                              iter_words: [{(no)} {(yes)}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(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: [-1 52846]
                                                )
                                              ]
                                              spids: [-1 52852]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:output)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$outputname")
                                                      ) (i)
                                                    }
                                                  spids: [52855]
                                                )
                                              ]
                                              spids: [52855]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [52868]
                                                )
                                              ]
                                              spids: [52868]
                                            )
                                            (ForEach
                                              iter_name: deplib
                                              iter_words: [{($ VSub_Name "$dependency_libs")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$deplib")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*") (.la)}]
                                                          action: [
                                                            (C {(func_basename)} 
                                                              {(DQ ($ VSub_Name "$deplib"))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$func_basename_result"
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [52902]
                                                                )
                                                              ]
                                                              spids: [52902]
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike "libdir=") 
                                                                (CommandSubPart
                                                                  command_list: 
                                                                    (CommandList
                                                                      children: [
                                                                        (C {(${ VSub_Name SED)} {(-n)} 
                                                                          {(-e)} {(SQ <"s/^libdir=\\(.*\\)$/\\1/p">)} {($ VSub_Name "$deplib")}
                                                                        )
                                                                      ]
                                                                    )
                                                                  left_token: <Left_Backtick "`">
                                                                  spids: [52911 52925]
                                                                )
                                                              }
                                                            )
                                                            (AndOr
                                                              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")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                            (C {(func_append)} {(newdependency_libs)} 
                                                              {
                                                                (DQ (" ") 
                                                                  (BracedVarSub
                                                                    token: <VSub_Name lt_sysroot>
                                                                    suffix_op: 
                                                                      (StringUnary
                                                                        op_id: VTest_ColonPlus
                                                                        arg_word: {("=")}
                                                                      )
                                                                    spids: [52955 52959]
                                                                  ) ($ VSub_Name "$libdir") (/) ($ VSub_Name "$name")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [52890 52892 52966 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(-L) (Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_stripname)} {(-L)} {(SQ )} 
                                                              {(DQ ($ VSub_Name "$deplib"))}
                                                            )
                                                            (C {(func_replace_sysroot)} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
"$func_stripname_result"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(func_append)} {(newdependency_libs)} 
                                                              {
                                                                (DQ (" -L") 
                                                                  ($ VSub_Name 
"$func_replace_sysroot_result"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [52969 52971 53003 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(-R) (Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_stripname)} {(-R)} {(SQ )} 
                                                              {(DQ ($ VSub_Name "$deplib"))}
                                                            )
                                                            (C {(func_replace_sysroot)} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
"$func_stripname_result"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(func_append)} {(newdependency_libs)} 
                                                              {
                                                                (DQ (" -R") 
                                                                  ($ VSub_Name 
"$func_replace_sysroot_result"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [53006 53008 53040 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(newdependency_libs)} 
                                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                            )
                                                          ]
                                                          spids: [53043 53044 53055 -1]
                                                        )
                                                      ]
                                                      spids: [52883 52887 53058]
                                                    )
                                                  ]
                                                  spids: [52880 53061]
                                                )
                                              spids: [52876 52878]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$newdependency_libs"))}
                                                  spids: [53064]
                                                )
                                              ]
                                              spids: [53064]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlfiles)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [53070]
                                                )
                                              ]
                                              spids: [53070]
                                            )
                                            (ForEach
                                              iter_name: lib
                                              iter_words: [{($ VSub_Name "$dlfiles")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$lib")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*") (.la)}]
                                                          action: [
                                                            (C {(func_basename)} 
                                                              {(DQ ($ VSub_Name "$lib"))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$func_basename_result"
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [53105]
                                                                )
                                                              ]
                                                              spids: [53105]
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike "libdir=") 
                                                                (CommandSubPart
                                                                  command_list: 
                                                                    (CommandList
                                                                      children: [
                                                                        (C {(${ VSub_Name SED)} {(-n)} 
                                                                          {(-e)} {(SQ <"s/^libdir=\\(.*\\)$/\\1/p">)} {($ VSub_Name "$lib")}
                                                                        )
                                                                      ]
                                                                    )
                                                                  left_token: <Left_Backtick "`">
                                                                  spids: [53114 53128]
                                                                )
                                                              }
                                                            )
                                                            (AndOr
                                                              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")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                            (C {(func_append)} {(newdlfiles)} 
                                                              {
                                                                (DQ (" ") 
                                                                  (BracedVarSub
                                                                    token: <VSub_Name lt_sysroot>
                                                                    suffix_op: 
                                                                      (StringUnary
                                                                        op_id: VTest_ColonPlus
                                                                        arg_word: {("=")}
                                                                      )
                                                                    spids: [53158 53162]
                                                                  ) ($ VSub_Name "$libdir") (/) ($ VSub_Name "$name")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [53093 53095 53169 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(newdlfiles)} 
                                                              {(DQ (" ") ($ VSub_Name "$lib"))}
                                                            )
                                                          ]
                                                          spids: [53172 53173 53184 -1]
                                                        )
                                                      ]
                                                      spids: [53086 53090 53187]
                                                    )
                                                  ]
                                                  spids: [53083 53190]
                                                )
                                              spids: [53079 53081]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlfiles)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$newdlfiles"))}
                                                  spids: [53193]
                                                )
                                              ]
                                              spids: [53193]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [53199]
                                                )
                                              ]
                                              spids: [53199]
                                            )
                                            (ForEach
                                              iter_name: lib
                                              iter_words: [{($ VSub_Name "$dlprefiles")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name "$lib")}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*") (.la)}]
                                                          action: [
                                                            (C {(func_basename)} 
                                                              {(DQ ($ VSub_Name "$lib"))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$func_basename_result"
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [53249]
                                                                )
                                                              ]
                                                              spids: [53249]
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike "libdir=") 
                                                                (CommandSubPart
                                                                  command_list: 
                                                                    (CommandList
                                                                      children: [
                                                                        (C {(${ VSub_Name SED)} {(-n)} 
                                                                          {(-e)} {(SQ <"s/^libdir=\\(.*\\)$/\\1/p">)} {($ VSub_Name "$lib")}
                                                                        )
                                                                      ]
                                                                    )
                                                                  left_token: <Left_Backtick "`">
                                                                  spids: [53258 53272]
                                                                )
                                                              }
                                                            )
                                                            (AndOr
                                                              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")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                            (C {(func_append)} {(newdlprefiles)} 
                                                              {
                                                                (DQ (" ") 
                                                                  (BracedVarSub
                                                                    token: <VSub_Name lt_sysroot>
                                                                    suffix_op: 
                                                                      (StringUnary
                                                                        op_id: VTest_ColonPlus
                                                                        arg_word: {("=")}
                                                                      )
                                                                    spids: [53302 53306]
                                                                  ) ($ VSub_Name "$libdir") (/) ($ VSub_Name "$name")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [53221 53223 53313 -1]
                                                        )
                                                      ]
                                                      spids: [53214 53218 53316]
                                                    )
                                                  ]
                                                  spids: [53211 53319]
                                                )
                                              spids: [53207 53209]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlprefiles)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$newdlprefiles"))}
                                                  spids: [53322]
                                                )
                                              ]
                                              spids: [53322]
                                            )
                                          ]
                                          spids: [-1 52832]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [53331]
                                            )
                                          ]
                                          spids: [53331]
                                        )
                                        (ForEach
                                          iter_name: lib
                                          iter_words: [{($ VSub_Name "$dlfiles")}]
                                          do_arg_iter: False
                                          body: 
                                            (DoGroup
                                              children: [
                                                (Case
                                                  to_match: {($ VSub_Name "$lib")}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other "[") 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar "\\\\">
                                                          ) (/) (Lit_Other "]") (Lit_Other "*")
                                                        }
                                                        {(Lit_Other "[") (A-Za-z) (Lit_Other "]") 
                                                          (Lit_Other ":") (Lit_Other "[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (/) (Lit_Other "]") (Lit_Other "*")
                                                        }
                                                      ]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: {(DQ ($ VSub_Name "$lib"))}
                                                              spids: [53372]
                                                            )
                                                          ]
                                                          spids: [53372]
                                                        )
                                                      ]
                                                      spids: [53353 53370 53377 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [(C {(pwd)})]
                                                                      )
                                                                    left_token: <Left_Backtick "`">
                                                                    spids: [53384 53386]
                                                                  ) (DQ (/) ($ VSub_Name "$lib"))
                                                                }
                                                              spids: [53383]
                                                            )
                                                          ]
                                                          spids: [53383]
                                                        )
                                                      ]
                                                      spids: [53380 53381 53392 -1]
                                                    )
                                                  ]
                                                  spids: [53346 53350 53395]
                                                )
                                                (C {(func_append)} {(newdlfiles)} 
                                                  {(DQ (" ") ($ VSub_Name "$abs"))}
                                                )
                                              ]
                                              spids: [53343 53408]
                                            )
                                          spids: [53339 53341]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlfiles)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$newdlfiles"))}
                                              spids: [53411]
                                            )
                                          ]
                                          spids: [53411]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlprefiles)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [53417]
                                            )
                                          ]
                                          spids: [53417]
                                        )
                                        (ForEach
                                          iter_name: lib
                                          iter_words: [{($ VSub_Name "$dlprefiles")}]
                                          do_arg_iter: False
                                          body: 
                                            (DoGroup
                                              children: [
                                                (Case
                                                  to_match: {($ VSub_Name "$lib")}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other "[") 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar "\\\\">
                                                          ) (/) (Lit_Other "]") (Lit_Other "*")
                                                        }
                                                        {(Lit_Other "[") (A-Za-z) (Lit_Other "]") 
                                                          (Lit_Other ":") (Lit_Other "[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (/) (Lit_Other "]") (Lit_Other "*")
                                                        }
                                                      ]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: {(DQ ($ VSub_Name "$lib"))}
                                                              spids: [53458]
                                                            )
                                                          ]
                                                          spids: [53458]
                                                        )
                                                      ]
                                                      spids: [53439 53456 53463 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [(C {(pwd)})]
                                                                      )
                                                                    left_token: <Left_Backtick "`">
                                                                    spids: [53470 53472]
                                                                  ) (DQ (/) ($ VSub_Name "$lib"))
                                                                }
                                                              spids: [53469]
                                                            )
                                                          ]
                                                          spids: [53469]
                                                        )
                                                      ]
                                                      spids: [53466 53467 53478 -1]
                                                    )
                                                  ]
                                                  spids: [53432 53436 53481]
                                                )
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {(DQ (" ") ($ VSub_Name "$abs"))}
                                                )
                                              ]
                                              spids: [53429 53494]
                                            )
                                          spids: [53425 53427]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlprefiles)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$newdlprefiles"))}
                                              spids: [53497]
                                            )
                                          ]
                                          spids: [53497]
                                        )
                                      ]
                                      spids: [53328 53503]
                                    )
                                    (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: [53547]
                                        )
                                      ]
                                      spids: [53547]
                                    )
                                    (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: [53649]
                                                        )
                                                      ]
                                                      spids: [53649]
                                                    )
                                                  ]
                                                  spids: [-1 53635]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:tdlname)
                                                      op: Equal
                                                      rhs: {(../bin/) ($ VSub_Name "$dlname")}
                                                      spids: [53661]
                                                    )
                                                  ]
                                                  spids: [53661]
                                                )
                                              ]
                                              spids: [53654 53666]
                                            )
                                          ]
                                          spids: [53566 53611 53669 -1]
                                        )
                                      ]
                                      spids: [53551 53563 53672]
                                    )
                                    (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: -1
                                          arg_word: {($ VSub_Name "$output")}
                                          spids: [53677]
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name "$installed"))} 
                                                      {(Lit_Other "=")} {(no)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name "$need_relink"))} 
                                                      {(Lit_Other "=")} {(yes)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name "$ECHO")}
                                                {
                                                  (DQ ("relink_command=") 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar "\\\"">
                                                    ) ($ VSub_Name "$relink_command") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: {($ VSub_Name "$output")}
                                                  spids: [53796]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [-1 53791]
                                        )
                                      ]
                                      spids: [-1 53809]
                                    )
                                  ]
                                  spids: [52816 53812]
                                )
                              spids: [52810 52814]
                            )
                          ]
                          spids: [52802]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(func_show_eval)} 
                      {
                        (SQ 
                          <
"( cd \"$output_objdir\" && $RM \"$outputname\" && $LN_S \"../$outputname\" \"$outputname\" )"
                          >
                        )
                      } {(SQ <"exit $?">)}
                    )
                  ]
                  spids: [52575 52577 53838 -1]
                )
              ]
              spids: [52568 52572 53841]
            )
            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
          ]
          spids: [22884]
        )
      spids: [22879 22883]
    )
    (AndOr
      children: [
        (BraceGroup
          children: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(test)} {(DQ ($ VSub_Name "$opt_mode"))} {(Lit_Other "=")} {(link)})
                    (C {(test)} {(DQ ($ VSub_Name "$opt_mode"))} {(Lit_Other "=")} {(relink)})
                  ]
                  op_id: Op_DPipe
                )
              terminator: <Op_Semi ";">
            )
          ]
          spids: [53851]
        )
        (C {(func_mode_link)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
              spids: [53883 53889]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (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: [53907]
                )
              ]
              spids: [53907]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(SQ )} spids:[53913])]
              spids: [53913]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rmforce) op:Equal rhs:{(SQ )} spids:[53916])]
              spids: [53916]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:exit_status) op:Equal rhs:{(0)} spids:[53919])]
              spids: [53919]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$magic"))}
                  spids: [53932]
                )
              ]
              spids: [53932]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$arg")}
                      arms: [
                        (case_arm
                          pat_list: [{(-f)}]
                          action: [
                            (Sentence
                              child: (C {(func_append)} {(RM)} {(DQ (" ") ($ VSub_Name "$arg"))})
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rmforce)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [53967]
                                )
                              ]
                              spids: [53967]
                            )
                          ]
                          spids: [53954 53955 53970 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other "*")}]
                          action: [(C {(func_append)} {(RM)} {(DQ (" ") ($ VSub_Name "$arg"))})]
                          spids: [53973 53975 53986 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [(C {(func_append)} {(files)} {(DQ (" ") ($ VSub_Name "$arg"))})]
                          spids: [53989 53990 54001 -1]
                        )
                      ]
                      spids: [53947 53951 54004]
                    )
                  ]
                  spids: [53944 54007]
                )
              spids: [-1 -1]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$RM"))})
                (C {(func_fatal_help)} {(DQ ("you must specify an RM program"))})
              ]
              op_id: Op_DAmp
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rmdirs) op:Equal rhs:{(SQ )} spids:[54031])]
              spids: [54031]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name "$files")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(func_dirname)} {(DQ ($ VSub_Name "$file"))} {(DQ )} {(DQ (.))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dir)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$func_dirname_result"))}
                          spids: [54061]
                        )
                      ]
                      spids: [54061]
                    )
                    (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:odir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$objdir"))}
                                  spids: [54084]
                                )
                              ]
                              spids: [54084]
                            )
                          ]
                          spids: [-1 54081]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:odir)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$dir") (/) ($ VSub_Name "$objdir"))}
                              spids: [54093]
                            )
                          ]
                          spids: [54093]
                        )
                      ]
                      spids: [54090 54101]
                    )
                    (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: [54111]
                        )
                      ]
                      spids: [54111]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name "$opt_mode"))} {(Lit_Other "=")} {(uninstall)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:odir)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$dir"))}
                              spids: [54129]
                            )
                          ]
                          spids: [54129]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$opt_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 "$odir") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  spids: [54167 54174 54176 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(rmdirs)} {(DQ (" ") ($ VSub_Name "$odir"))})
                                  ]
                                  spids: [54179 54180 54191 -1]
                                )
                              ]
                              spids: [54156 54164 54194]
                            )
                          ]
                          spids: [-1 54153]
                        )
                      ]
                      spids: [-1 54197]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(test)} {(-L)} {(DQ ($ VSub_Name "$file"))})
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                          spids: [54220]
                                        )
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 2
                                          arg_word: {(1)}
                                          spids: [54223]
                                        )
                                      ]
                                      spids: [54207]
                                    )
                                    (AndOr
                                      children: [
                                        (BraceGroup
                                          children: [
                                            (Sentence
                                              child: (C {(test)} {(-h)} {(DQ ($ VSub_Name "$file"))})
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(/dev/null)}
                                              spids: [54242]
                                            )
                                            (Redir
                                              op_id: Redir_GreatAnd
                                              fd: 2
                                              arg_word: {(1)}
                                              spids: [54245]
                                            )
                                          ]
                                          spids: [54229]
                                        )
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name "$file"))})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(Lit_Other ":")})]
                          spids: [-1 54260]
                        )
                        (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: [54280]
                                )
                              ]
                              spids: [54280]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [54266 54277]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$rmforce"))} {(Lit_Other "=")} {(yes)})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [54287 54300]
                        )
                      ]
                      spids: [-1 54306]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rmfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$file"))}
                          spids: [54310]
                        )
                      ]
                      spids: [54310]
                    )
                    (Case
                      to_match: {($ VSub_Name "$name")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.la)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_p)} {(DQ ($ VSub_Name "$file"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_source)} {($ VSub_Name "$dir") (/) ($ VSub_Name "$name")})
                                    (ForEach
                                      iter_name: n
                                      iter_words: [{($ VSub_Name "$library_names")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_append)} {(rmfiles)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$odir") (/) ($ VSub_Name "$n"))
                                              }
                                            )
                                          ]
                                          spids: [54366 54381]
                                        )
                                      spids: [54362 54364]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$old_library"))})
                                        (C {(func_append)} {(rmfiles)} 
                                          {
                                            (DQ (" ") ($ VSub_Name "$odir") (/) 
                                              ($ VSub_Name "$old_library")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Case
                                      to_match: {(DQ ($ VSub_Name "$opt_mode"))}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(clean)}]
                                          action: [
                                            (Case
                                              to_match: 
                                                {(DQ (" ") ($ VSub_Name "$library_names") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$dlname") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [54431 54438 54440 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dlname"))})
                                                        (C {(func_append)} {(rmfiles)} 
                                                          {
                                                            (DQ (" ") ($ VSub_Name "$odir") (/) 
                                                              ($ VSub_Name "$dlname")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [54443 54444 54467 -1]
                                                )
                                              ]
                                              spids: [54420 54428 54470]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$libdir"))})
                                                (C {(func_append)} {(rmfiles)} 
                                                  {
                                                    (DQ (" ") ($ VSub_Name "$odir") (/) 
                                                      ($ VSub_Name "$name") (" ") ($ VSub_Name "$odir") (/) (${ VSub_Name name) (i)
                                                    )
                                                  }
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [54416 54417 54502 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(uninstall)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name "$library_names"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_execute_cmds)} 
                                                      {(DQ ($ VSub_Name "$postuninstall_cmds"))} {(SQ <"test \"$rmforce\" = yes || exit_status=1">)}
                                                    )
                                                  ]
                                                  spids: [-1 54520]
                                                )
                                              ]
                                              spids: [-1 54538]
                                            )
                                            (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: [-1 54553]
                                                )
                                              ]
                                              spids: [-1 54571]
                                            )
                                          ]
                                          spids: [54505 54506 54578 -1]
                                        )
                                      ]
                                      spids: [54407 54413 54581]
                                    )
                                  ]
                                  spids: [-1 54342]
                                )
                              ]
                              spids: [-1 54584]
                            )
                          ]
                          spids: [54324 54326 54587 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.lo)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_p)} {(DQ ($ VSub_Name "$file"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_source)} {($ VSub_Name "$dir") (/) ($ VSub_Name "$name")})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$pic_object"))})
                                                    (C {(test)} {(DQ ($ VSub_Name "$pic_object"))} 
                                                      {(KW_Bang "!") (Lit_Other "=")} {(none)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_append)} {(rmfiles)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$dir") (/) 
                                                  ($ VSub_Name "$pic_object")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 54654]
                                        )
                                      ]
                                      spids: [-1 54669]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name "$non_pic_object"))}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name "$non_pic_object"))} 
                                                      {(KW_Bang "!") (Lit_Other "=")} {(none)}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_append)} {(rmfiles)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$dir") (/) 
                                                  ($ VSub_Name "$non_pic_object")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 54702]
                                        )
                                      ]
                                      spids: [-1 54717]
                                    )
                                  ]
                                  spids: [-1 54609]
                                )
                              ]
                              spids: [-1 54720]
                            )
                          ]
                          spids: [54591 54593 54723 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$opt_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: [54748]
                                        )
                                      ]
                                      spids: [54748]
                                    )
                                    (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: [54778]
                                                )
                                              ]
                                              spids: [54778]
                                            )
                                            (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: [54796]
                                                )
                                              ]
                                              spids: [54796]
                                            )
                                            (C {(func_append)} {(rmfiles)} 
                                              {(DQ (" ") ($ VSub_Name "$file"))}
                                            )
                                          ]
                                          spids: [54759 54761 54818 -1]
                                        )
                                      ]
                                      spids: [54752 54756 54821]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(func_ltwrapper_p)} {(DQ ($ VSub_Name "$file"))})
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(func_ltwrapper_executable_p)} 
                                                          {(DQ ($ VSub_Name "$file"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_ltwrapper_scriptname)} 
                                                      {(DQ ($ VSub_Name "$file"))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:relink_command)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [54859]
                                                        )
                                                      ]
                                                      spids: [54859]
                                                    )
                                                    (C {(func_source)} 
                                                      {
                                                        ($ VSub_Name 
"$func_ltwrapper_scriptname_result"
                                                        )
                                                      }
                                                    )
                                                    (C {(func_append)} {(rmfiles)} 
                                                      {
                                                        (DQ (" ") 
                                                          ($ VSub_Name 
"$func_ltwrapper_scriptname_result"
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 54849]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:relink_command)
                                                      op: Equal
                                                      rhs: {(SQ )}
                                                      spids: [54880]
                                                    )
                                                  ]
                                                  spids: [54880]
                                                )
                                                (C {(func_source)} 
                                                  {($ VSub_Name "$dir") (/) 
                                                    ($ VSub_Name "$noexename")
                                                  }
                                                )
                                              ]
                                              spids: [54877 54890]
                                            )
                                            (C {(func_append)} {(rmfiles)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$odir") (/) 
                                                  ($ VSub_Name "$name") (" ") ($ VSub_Name "$odir") (/) (${ VSub_Name name) (S.) (${ VSub_Name objext)
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name "$fast_install"))} {(Lit_Other "=")} {(yes)}
                                                            )
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name "$relink_command"))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(rmfiles)} 
                                                      {
                                                        (DQ (" ") ($ VSub_Name "$odir") (/lt-) 
                                                          ($ VSub_Name "$name")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 54947]
                                                )
                                              ]
                                              spids: [-1 54962]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ (X) ($ VSub_Name "$noexename"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ (X) ($ VSub_Name "$name"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(rmfiles)} 
                                                      {
                                                        (DQ (" ") ($ VSub_Name "$odir") (/lt-) 
                                                          (${ VSub_Name noexename) (.c)
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 54984]
                                                )
                                              ]
                                              spids: [-1 55002]
                                            )
                                          ]
                                          spids: [-1 54837]
                                        )
                                      ]
                                      spids: [-1 55005]
                                    )
                                  ]
                                  spids: [-1 54745]
                                )
                              ]
                              spids: [-1 55008]
                            )
                          ]
                          spids: [54727 54728 55011 -1]
                        )
                      ]
                      spids: [54317 54321 55014]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name "$RM") (" ") ($ VSub_Name "$rmfiles"))} 
                      {(SQ <"exit_status=1">)}
                    )
                  ]
                  spids: [54044 55030]
                )
              spids: [54040 54042]
            )
            (ForEach
              iter_name: dir
              iter_words: [{($ VSub_Name "$rmdirs")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-d)} {(DQ ($ VSub_Name "$dir"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} 
                              {(DQ ("rmdir ") ($ VSub_Name "$dir") (" >/dev/null 2>&1"))}
                            )
                          ]
                          spids: [-1 55061]
                        )
                      ]
                      spids: [-1 55073]
                    )
                  ]
                  spids: [55047 55076]
                )
              spids: [55043 55045]
            )
            (C {(exit)} {($ VSub_Name "$exit_status")})
          ]
          spids: [53901]
        )
      spids: [53896 53900]
    )
    (AndOr
      children: [
        (BraceGroup
          children: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(test)} {(DQ ($ VSub_Name "$opt_mode"))} {(Lit_Other "=")} {(uninstall)})
                    (C {(test)} {(DQ ($ VSub_Name "$opt_mode"))} {(Lit_Other "=")} {(clean)})
                  ]
                  op_id: Op_DPipe
                )
              terminator: <Op_Semi ";">
            )
          ]
          spids: [55087]
        )
        (C {(func_mode_uninstall)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
              spids: [55119 55125]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name "$opt_mode"))})
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:help)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$generic_help"))}
                  spids: [55141]
                )
              ]
              spids: [55141]
            )
            (C {(func_fatal_help)} {(DQ ("you must specify a MODE"))})
          ]
          spids: [55138]
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name "$exec_cmd"))})
        (C {(func_fatal_help)} 
          {
            (DQ ("invalid operation mode ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
              ($ VSub_Name "$opt_mode") ("'")
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$exec_cmd"))})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(eval)} {(exec)} {(DQ ($ VSub_Name "$exec_cmd"))})
            (C {(exit)} {($ VSub_Name "$EXIT_FAILURE")})
          ]
          spids: [-1 55189]
        )
      ]
      spids: [-1 55205]
    )
    (C {(exit)} {($ VSub_Name "$exit_status")})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_libtool_libs) op:Equal rhs:{(no)} spids:[55248])]
      spids: [55248]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_old_libs) op:Equal rhs:{(yes)} spids:[55251])]
      spids: [55251]
    )
    (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: [55269 55270 55275 -1]
                          )
                          (case_arm
                            pat_list: [{(Lit_Other "*")}]
                            action: [(C {(echo)} {(yes)})]
                            spids: [55277 55278 55283 -1]
                          )
                        ]
                        spids: [55263 55267 55285]
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [55262 55286]
              )
            }
          spids: [55261]
        )
      ]
      spids: [55261]
    )
  ]
)