(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PROGRAM) op:Equal rhs:{(libtool)} spids:[230])]
      spids: [230]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PACKAGE) op:Equal rhs:{(libtool)} spids:[233])]
      spids: [233]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:VERSION)
          op: Equal
          rhs: {(DQ ("2.4.2 Debian-2.4.2-1.7ubuntu1"))}
          spids: [236]
        )
      ]
      spids: [236]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TIMESTAMP) op:Equal rhs:{(DQ )} spids:[241])]
      spids: [241]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:package_revision) op:Equal rhs:{(1.3337)} spids:[245])]
      spids: [245]
    )
    (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: [259 263]
                          )
                        )
                      }
                    )
                    (Subshell
                      child: (C {(emulate)} {(sh)})
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [274]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [277]
                        )
                      ]
                      spids: [268 272]
                    )
                  ]
                  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: [289]
                )
              ]
              spids: [289]
            )
            (C {(alias)} {(-g)} {(SQ <"${1+\"$@\"}">) (Lit_Other "=") (SQ <"\"$@\"">)})
            (C {(setopt)} {(NO_GLOB_SUBST)})
          ]
          spids: [-1 281]
        )
      ]
      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:[330])]
                        spids: [324 328]
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [323 332]
              )
            }
          arms: [
            (case_arm
              pat_list: [{(Lit_Other "*") (posix) (Lit_Other "*")}]
              action: [(C {(set)} {(-o)} {(posix)})]
              spids: [336 339 346 -1]
            )
          ]
          spids: [321 334 348]
        )
      ]
      spids: [318 350]
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:BIN_SH) op:Equal rhs:{(xpg4)} spids:[352])]
          spids: [352]
        )
      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:[363])]
          spids: [363]
        )
      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: [383]
        )
      spids: [378 382]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_user_locale) op:Equal rhs:{(SQ )} spids:[400])]
      spids: [400]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_safe_locale) op:Equal rhs:{(SQ )} spids:[402])]
      spids: [402]
    )
    (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: [422 472]
        )
      spids: [409 -1]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:LC_ALL) op:Equal rhs:{(C)} spids:[474])]
      spids: [474]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:LANGUAGE) op:Equal rhs:{(C)} spids:[477])]
      spids: [477]
    )
    (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: [508]
        )
      ]
      spids: [508]
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name CP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("cp -f"))})
          spids: [518 524]
        )
      }
    )
    (AndOr
      children: [
        (C {(test)} 
          {
            (DQ 
              (BracedVarSub
                token: <VSub_Name ECHO>
                suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                spids: [529 533]
              )
            )
          } {(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: [543 549]
                  )
                }
              spids: [542]
            )
          ]
          spids: [542]
        )
      ]
      op_id: Op_DPipe
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name MAKE>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (make))})
          spids: [553 559]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name MKDIR>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (mkdir))})
          spids: [563 569]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name MV>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("mv -f"))})
          spids: [573 579]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name RM>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("rm -f"))})
          spids: [583 589]
        )
      }
    )
    (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: [597 604]
                    )
                  )
                }
            )
          spids: [593 606]
        )
      }
    )
    (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: [610 617]
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SUCCESS) op:Equal rhs:{(0)} spids:[623])]
      spids: [623]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_FAILURE) op:Equal rhs:{(1)} spids:[626])]
      spids: [626]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_MISMATCH) op:Equal rhs:{(63)} spids:[629])]
      spids: [629]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SKIP) op:Equal rhs:{(77)} spids:[635])]
      spids: [635]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:exit_status)
          op: Equal
          rhs: {($ VSub_Name "$EXIT_SUCCESS")}
          spids: [642]
        )
      ]
      spids: [642]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_nl) op:Equal rhs:{(SQ <"\n">)} spids:[649])]
      spids: [649]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:IFS)
          op: Equal
          rhs: {(DQ (" \t") ($ VSub_Name "$lt_nl"))}
          spids: [654]
        )
      ]
      spids: [654]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:dirname)
          op: Equal
          rhs: {(DQ ("s,/[^/]*") (Lit_Other "$") (",,"))}
          spids: [661]
        )
      ]
      spids: [661]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:basename) op:Equal rhs:{(DQ ("s,^.*/,,"))} spids:[668])]
      spids: [668]
    )
    (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: [692 708]
                      )
                    }
                  spids: [691]
                )
              ]
              spids: [691]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ (X) ($ VSub_Name "$func_dirname_result"))} {(Lit_Other "=")} 
                          {(DQ (X) (${ VSub_Number 1))}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_dirname_result)
                          op: Equal
                          rhs: {(DQ (${ VSub_Number 3))}
                          spids: [733]
                        )
                      ]
                      spids: [733]
                    )
                  ]
                  spids: [-1 730]
                )
              ]
              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: [744]
                    )
                  ]
                  spids: [744]
                )
              ]
              spids: [741 753]
            )
          ]
          spids: [688]
        )
      spids: [683 687]
    )
    (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: [774 790]
                      )
                    }
                  spids: [773]
                )
              ]
              spids: [773]
            )
          ]
          spids: [770]
        )
      spids: [765 769]
    )
    (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: [848 866]
                      )
                    }
                  spids: [847]
                )
              ]
              spids: [847]
            )
            (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: [891]
                        )
                      ]
                      spids: [891]
                    )
                  ]
                  spids: [-1 888]
                )
              ]
              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: [902]
                    )
                  ]
                  spids: [902]
                )
              ]
              spids: [899 911]
            )
            (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: [915 933]
                      )
                    }
                  spids: [914]
                )
              ]
              spids: [914]
            )
          ]
          spids: [840]
        )
      spids: [835 839]
    )
    (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: [982 1009]
                              )
                            }
                          spids: [981]
                        )
                      ]
                      spids: [981]
                    )
                  ]
                  spids: [977 979 1010 -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: [1017 1042]
                              )
                            }
                          spids: [1016]
                        )
                      ]
                      spids: [1016]
                    )
                  ]
                  spids: [1013 1014 1043 -1]
                )
              ]
              spids: [968 974 1046]
            )
          ]
          spids: [965]
        )
      spids: [960 964]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pathcar)
          op: Equal
          rhs: {(SQ <"s,^/\\([^/]*\\).*$,\\1,">)}
          spids: [1058]
        )
      ]
      spids: [1058]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pathcdr)
          op: Equal
          rhs: {(SQ <"s,^/[^/]*,,">)}
          spids: [1063]
        )
      ]
      spids: [1063]
    )
    (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: [1068]
        )
      ]
      spids: [1068]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:collapseslashes)
          op: Equal
          rhs: {(SQ <"s@/\\{1,\\}@/@g">)}
          spids: [1076]
        )
      ]
      spids: [1076]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:finalslash)
          op: Equal
          rhs: {(SQ <"s,/*$,/,">)}
          spids: [1081]
        )
      ]
      spids: [1081]
    )
    (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: [1114]
                )
              ]
              spids: [1114]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_tpath)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [1117]
                )
              ]
              spids: [1117]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_altnamespace)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [1121]
                )
              ]
              spids: [1121]
            )
            (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: [1150 1152]
                          )
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_result)
                          op: Equal
                          rhs: {($ VSub_Name "$func_stripname_result")}
                          spids: [1156]
                        )
                      ]
                      spids: [1156]
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [-1 1133 1163 -1]
                )
                (case_arm pat_list:[{(///) (Lit_Other "*")}] spids:[117811801187-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: [1207]
                        )
                      ]
                      spids: [1207]
                    )
                  ]
                  spids: [1190 1192 1211 -1]
                )
                (case_arm pat_list:[{(/) (Lit_Other "*")}] spids:[121412161223-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: [1235 1237]
                              ) (/) ($ VSub_Name "$func_normal_abspath_tpath")
                            }
                          spids: [1234]
                        )
                      ]
                      spids: [1234]
                    )
                  ]
                  spids: [1226 1227 1242 -1]
                )
              ]
              spids: [1124 1128 1245]
            )
            (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: [1261 1291]
                      )
                    }
                  spids: [1260]
                )
              ]
              spids: [1260]
            )
            (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: [1342]
                                        )
                                      ]
                                      spids: [1342]
                                    )
                                  ]
                                  spids: [-1 1339]
                                )
                              ]
                              spids: [-1 1346]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [-1 1320]
                        )
                      ]
                      spids: [-1 1352]
                    )
                    (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: [1356 1374]
                              )
                            }
                          spids: [1355]
                        )
                      ]
                      spids: [1355]
                    )
                    (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: [1378 1396]
                              )
                            }
                          spids: [1377]
                        )
                      ]
                      spids: [1377]
                    )
                    (Case
                      to_match: {($ VSub_Name "$func_normal_abspath_tcomponent")}
                      arms: [
                        (case_arm pat_list:[{(DQ )}] spids:[-114121419-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: [1437]
                                )
                              ]
                              spids: [1437]
                            )
                          ]
                          spids: [1422 1423 1441 -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: [1452]
                                )
                              ]
                              spids: [1452]
                            )
                          ]
                          spids: [1444 1445 1458 -1]
                        )
                      ]
                      spids: [1403 1407 1461]
                    )
                  ]
                  spids: [1299 1464]
                )
            )
            (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: [1471]
                )
              ]
              spids: [1471]
            )
          ]
          spids: [1107]
        )
      spids: [1102 1106]
    )
    (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: [1501]
                )
              ]
              spids: [1501]
            )
            (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: [1511]
                )
              ]
              spids: [1511]
            )
            (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: [1522]
                )
              ]
              spids: [1522]
            )
            (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: [1558]
                                )
                              ]
                              spids: [1558]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [1550 1551 1564 -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: [1590]
                                )
                              ]
                              spids: [1590]
                            )
                            (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: [1608]
                                        )
                                      ]
                                      spids: [1608]
                                    )
                                  ]
                                  spids: [-1 1605]
                                )
                              ]
                              spids: [-1 1612]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [1567 1569 1618 -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: [1630]
                                )
                              ]
                              spids: [1630]
                            )
                            (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: [1658]
                                        )
                                      ]
                                      spids: [1658]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_relative_path_tcancelled)
                                          op: Equal
                                          rhs: {($ VSub_Name "$func_relative_path_tbindir")}
                                          spids: [1663]
                                        )
                                      ]
                                      spids: [1663]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [-1 1651]
                                )
                              ]
                              spids: [-1 1670]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_result)
                                  op: Equal
                                  rhs: {(../) ($ VSub_Name "$func_relative_path_result")}
                                  spids: [1673]
                                )
                              ]
                              spids: [1673]
                            )
                          ]
                          spids: [1621 1622 1678 -1]
                        )
                      ]
                      spids: [1543 1547 1681]
                    )
                  ]
                  spids: [1536 1684]
                )
            )
            (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: [1706]
                )
              ]
              spids: [1706]
            )
            (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: [1744]
                        )
                      ]
                      spids: [1744]
                    )
                  ]
                  spids: [-1 1741]
                )
              ]
              spids: [-1 1754]
            )
            (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: [1801]
                        )
                      ]
                      spids: [1801]
                    )
                  ]
                  spids: [-1 1783]
                )
              ]
              spids: [-1 1805]
            )
          ]
          spids: [1498]
        )
      spids: [1493 1497]
    )
    (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: [1819]
        )
      ]
      spids: [1819]
    )
    (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: [1833 1845 1847 -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: [1859]
                )
              ]
              spids: [1859]
            )
            (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: [1864 1874]
                      )
                    }
                  spids: [1863]
                )
              ]
              spids: [1863]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$progdir") (/) ($ VSub_Name "$progname"))}
                  spids: [1877]
                )
              ]
              spids: [1877]
            )
          ]
          spids: [1850 1856 1885 -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: [1892]
                )
              ]
              spids: [1892]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name PATH_SEPARATOR>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(":")})
                        spids: [1899 1903]
                      )
                    }
                  spids: [1898]
                )
              ]
              spids: [1898]
            )
            (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: [1918]
                        )
                      ]
                      spids: [1918]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-x)} {(DQ ($ VSub_Name "$progdir") (/) ($ VSub_Name "$progname"))})
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [1915 1939]
                )
              spids: [1911 1913]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$save_IFS"))}
                  spids: [1942]
                )
              ]
              spids: [1942]
            )
            (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: [1959 1961]
                          )
                        }
                      spids: [1958]
                    )
                  ]
                  spids: [1958]
                )
              ]
              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: [1964]
                )
              ]
              spids: [1964]
            )
          ]
          spids: [1888 1889 1972 -1]
        )
      ]
      spids: [1826 1830 1974]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:Xsed)
          op: Equal
          rhs: {(DQ (${ VSub_Name SED)) (SQ <" -e 1s/^X//">)}
          spids: [1983]
        )
      ]
      spids: [1983]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_quote_subst)
          op: Equal
          rhs: {(SQ <"s/\\([`\"$\\\\]\\)/\\\\\\1/g">)}
          spids: [1993]
        )
      ]
      spids: [1993]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:double_quote_subst)
          op: Equal
          rhs: {(SQ <"s/\\([\"`\\\\]\\)/\\\\\\1/g">)}
          spids: [2002]
        )
      ]
      spids: [2002]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_make_literal_regex)
          op: Equal
          rhs: {(SQ <"s,[].[^$\\\\*\\/],\\\\&,g">)}
          spids: [2014]
        )
      ]
      spids: [2014]
    )
    (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: [2029]
        )
      ]
      spids: [2029]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:bs) op:Equal rhs:{(SQ <"\\\\">)} spids:[2050])]
      spids: [2050]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:bs2) op:Equal rhs:{(SQ <"\\\\\\\\">)} spids:[2055])]
      spids: [2055]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:bs4)
          op: Equal
          rhs: {(SQ <"\\\\\\\\\\\\\\\\">)}
          spids: [2060]
        )
      ]
      spids: [2060]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:dollar) op:Equal rhs:{(SQ <"\\$">)} spids:[2065])]
      spids: [2065]
    )
    (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: [2070]
        )
      ]
      spids: [2070]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[2110])]
      spids: [2110]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_help) op:Equal rhs:{(false)} spids:[2113])]
      spids: [2113]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_quiet) op:Equal rhs:{(false)} spids:[2116])]
      spids: [2116]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_verbose) op:Equal rhs:{(false)} spids:[2119])]
      spids: [2119]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:opt_warning)
          op: Equal
          rhs: {(Lit_Other ":")}
          spids: [2122]
        )
      ]
      spids: [2122]
    )
    (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: [2148 2153]
                  ) ($ VSub_Star "$*")
                )
              }
            )
          ]
          spids: [2140]
        )
      spids: [2135 2139]
    )
    (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: [2180 2186]
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
            (C {(Lit_Other ":")})
          ]
          spids: [2171]
        )
      spids: [2166 2170]
    )
    (FuncDef
      name: func_echo_all
      body: 
        (BraceGroup
          children: [(C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Star "$*"))})]
          spids: [2218]
        )
      spids: [2213 2217]
    )
    (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: [2249 2254]
                    )
                  ) 
                  (BracedVarSub
                    token: <VSub_Number 1>
                    suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                    spids: [2256 2262]
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2264])]
            )
          ]
          spids: [2241]
        )
      spids: [2236 2240]
    )
    (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: [2293 2298]
                        ) ("warning: ")
                      ) 
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                        spids: [2301 2307]
                      )
                    }
                  ]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2309])]
                )
              ]
              op_id: Op_DAmp
            )
            (C {(Lit_Other ":")})
          ]
          spids: [2281]
        )
      spids: [2276 2280]
    )
    (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: [2339 2345]
                )
              }
            )
            (C {(exit)} {($ VSub_Name "$EXIT_FAILURE")})
          ]
          spids: [2334]
        )
      spids: [2329 2333]
    )
    (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: [2374 2380]
                )
              }
            )
            (C {(func_fatal_error)} {(DQ ($ VSub_Name "$help"))})
          ]
          spids: [2369]
        )
      spids: [2364 2368]
    )
    (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: [2391]
        )
      ]
      spids: [2391]
    )
    (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:[2428])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[2431])
              ]
            )
          ]
          spids: [2415]
        )
      spids: [2410 2414]
    )
    (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: [2452]
                )
              ]
              spids: [2452]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_dir_list) op:Equal rhs:{(SQ )} spids:[2458])]
              spids: [2458]
            )
            (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: [2507]
                                )
                              ]
                              spids: [2507]
                            )
                          ]
                          spids: [2503 2505 2513 -1]
                        )
                      ]
                      spids: [2496 2500 2516]
                    )
                    (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: [2548]
                                )
                              ]
                              spids: [2548]
                            )
                            (Case
                              to_match: {($ VSub_Name "$my_directory_path")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (/) (Lit_Other "*")}]
                                  spids: [2567 2570 2572 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [2574 2575 2579 -1]
                                )
                              ]
                              spids: [2561 2565 2581]
                            )
                            (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: [2590 2606]
                                      )
                                    }
                                  spids: [2589]
                                )
                              ]
                              spids: [2589]
                            )
                          ]
                          spids: [2537 2609]
                        )
                    )
                    (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: [2613 2627]
                              )
                            }
                          spids: [2612]
                        )
                      ]
                      spids: [2612]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:save_mkdir_p_IFS)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$IFS"))}
                              spids: [2631]
                            )
                          ]
                          spids: [2631]
                        )
                      terminator: <Op_Semi ";">
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(SQ <":">)}
                          spids: [2637]
                        )
                      ]
                      spids: [2637]
                    )
                    (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: [2655]
                                )
                              ]
                              spids: [2655]
                            )
                            (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: [2679]
                                    )
                                  ]
                                )
                                (C {(Lit_Other ":")})
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [2652 2687]
                        )
                      spids: [2648 2650]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$save_mkdir_p_IFS"))}
                          spids: [2690]
                        )
                      ]
                      spids: [2690]
                    )
                    (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 2488]
                )
              ]
              spids: [-1 2723]
            )
          ]
          spids: [2449]
        )
      spids: [2444 2448]
    )
    (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: [2751 2756]
                        ) (/) 
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_Hyphen
                              arg_word: {($ VSub_Name "$progname")}
                            )
                          spids: [2758 2762]
                        )
                      )
                    }
                  spids: [2749]
                )
              ]
              spids: [2749]
            )
            (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: [2789]
                        )
                      ]
                      spids: [2789]
                    )
                  ]
                  spids: [-1 2782]
                )
              ]
              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: [2820]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_Backtick "`">
                            spids: [2808 2822]
                          )
                        }
                      spids: [2807]
                    )
                  ]
                  spids: [2807]
                )
                (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: [2852 2856]
                                    ) ($ VSub_Dollar "$$")
                                  )
                                }
                              spids: [2846]
                            )
                          ]
                          spids: [2846]
                        )
                        (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: [2863 2865]
                                  )
                                }
                              spids: [2862]
                            )
                          ]
                          spids: [2862]
                        )
                        (C {(umask)} {(0077)})
                        (C {($ VSub_Name "$MKDIR")} {(DQ ($ VSub_Name "$my_tmpdir"))})
                        (C {(umask)} {($ VSub_Name "$save_mktempdir_umask")})
                      ]
                      spids: [-1 2839]
                    )
                  ]
                  spids: [-1 2885]
                )
                (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: [2799 2915]
            )
            (C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Name "$my_tmpdir"))})
          ]
          spids: [2746]
        )
      spids: [2741 2745]
    )
    (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: [2974 2988]
                              )
                            }
                          spids: [2973]
                        )
                      ]
                      spids: [2973]
                    )
                  ]
                  spids: [2962 2970 2990 -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: [2997]
                        )
                      ]
                      spids: [2997]
                    )
                  ]
                  spids: [2993 2994 3002 -1]
                )
              ]
              spids: [2955 2959 3005]
            )
            (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: [3068]
                        )
                      ]
                      spids: [3068]
                    )
                  ]
                  spids: [3036 3065 3076 -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: [3083]
                        )
                      ]
                      spids: [3083]
                    )
                  ]
                  spids: [3079 3080 -1 3089]
                )
              ]
              spids: [3009 3013 3089]
            )
          ]
          spids: [2952]
        )
      spids: [2947 2951]
    )
    (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: [3130 3154]
                              )
                            }
                          spids: [3129]
                        )
                      ]
                      spids: [3129]
                    )
                  ]
                  spids: [3119 3126 3156 -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: [3163]
                        )
                      ]
                      spids: [3163]
                    )
                  ]
                  spids: [3159 3160 3168 -1]
                )
              ]
              spids: [3112 3116 3171]
            )
            (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: [3230]
                        )
                      ]
                      spids: [3230]
                    )
                  ]
                  spids: [3198 3227 3238 -1]
                )
              ]
              spids: [3175 3179 3241]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_quote_for_expand_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$my_arg"))}
                  spids: [3245]
                )
              ]
              spids: [3245]
            )
          ]
          spids: [3109]
        )
      spids: [3104 3108]
    )
    (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: [3274]
                )
              ]
              spids: [3274]
            )
            (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: [3282 3286]
                        )
                      )
                    }
                  spids: [3280]
                )
              ]
              spids: [3280]
            )
            (AndOr
              children: [
                (C 
                  {
                    (BracedVarSub
                      token: <VSub_Name opt_silent>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                      spids: [3291 3295]
                    )
                  }
                )
                (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: [3299]
                )
              ]
              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: [3323 3327]
                            )
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(Sentence child:(C {(Lit_Other ":")}) terminator:<Op_Semi ";">)]
                  spids: [-1 3330]
                )
              ]
              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: [3345]
                    )
                  ]
                  spids: [3345]
                )
                (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 3362]
                    )
                  ]
                  else_action: [
                    (C {(eval)} 
                      {
                        (DQ ("(exit ") ($ VSub_Name "$my_status") ("); ") ($ VSub_Name "$my_fail_exp"))
                      }
                    )
                  ]
                  spids: [3367 3380]
                )
              ]
              spids: [3335 3383]
            )
          ]
          spids: [3271]
        )
      spids: [3266 3270]
    )
    (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: [3409]
                )
              ]
              spids: [3409]
            )
            (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: [3417 3421]
                        )
                      )
                    }
                  spids: [3415]
                )
              ]
              spids: [3415]
            )
            (AndOr
              children: [
                (C 
                  {
                    (BracedVarSub
                      token: <VSub_Name opt_silent>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                      spids: [3426 3430]
                    )
                  }
                )
                (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: [3434]
                )
              ]
              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: [3458 3462]
                            )
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(Sentence child:(C {(Lit_Other ":")}) terminator:<Op_Semi ";">)]
                  spids: [-1 3465]
                )
              ]
              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: [3483]
                    )
                  ]
                  spids: [3483]
                )
                (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 3507]
                    )
                  ]
                  else_action: [
                    (C {(eval)} 
                      {
                        (DQ ("(exit ") ($ VSub_Name "$my_status") ("); ") ($ VSub_Name "$my_fail_exp"))
                      }
                    )
                  ]
                  spids: [3512 3525]
                )
              ]
              spids: [3470 3528]
            )
          ]
          spids: [3406]
        )
      spids: [3401 3405]
    )
    (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: [3580 3594]
                              )
                            }
                          spids: [3579]
                        )
                      ]
                      spids: [3579]
                    )
                  ]
                  spids: [3563 3576 3597 -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: [3605]
                        )
                      ]
                      spids: [3605]
                    )
                  ]
                  spids: [3600 3602 3609 -1]
                )
              ]
              spids: [3556 3560 3612]
            )
          ]
          spids: [3553]
        )
      spids: [3548 3552]
    )
    (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: [3661]
                )
              ]
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [3629]
        )
      spids: [3624 3628]
    )
    (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: [3710]
                )
              ]
            )
            (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: [3686]
        )
      spids: [3681 3685]
    )
    (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 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name AUTOMAKE>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_Hyphen
                                              arg_word: {(automake)}
                                            )
                                          spids: [3819 3823]
                                        )
                                      } {(--version)}
                                    )
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [3828]
                                    )
                                  ]
                                  spids: [3818 3826]
                                )
                                (C {($ VSub_Name "$SED")} {(1q)})
                              ]
                              negated: False
                            )
                          ]
                        )
                      left_token: <Left_Backtick "`">
                      spids: [3817 3835]
                    )
                  ) (SQ <"/\n"> <"\ts/\\$autoconf_version/">) 
                  (DQ 
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (Subshell
                                  child: 
                                    (C 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name AUTOCONF>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_Hyphen
                                              arg_word: {(autoconf)}
                                            )
                                          spids: [3844 3848]
                                        )
                                      } {(--version)}
                                    )
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [3853]
                                    )
                                  ]
                                  spids: [3843 3851]
                                )
                                (C {($ VSub_Name "$SED")} {(1q)})
                              ]
                              negated: False
                            )
                          ]
                        )
                      left_token: <Left_Backtick "`">
                      spids: [3842 3860]
                    )
                  ) 
                  (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: [3872]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ret)
                  op: Equal
                  rhs: {($ VSub_QMark "$?")}
                  spids: [3879]
                )
              ]
              spids: [3879]
            )
            (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 3894]
                )
              ]
              spids: [-1 3902]
            )
          ]
          spids: [3751]
        )
      spids: [3746 3750]
    )
    (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:[3937])]
              spids: [3937]
            )
          ]
          spids: [3921]
        )
      spids: [3916 3920]
    )
    (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: [3961]
                )
              ]
              spids: [3961]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_sed_short_rest)
                  op: Equal
                  rhs: {(SQ <"1s/^..\\(.*\\)$/\\1/;q">)}
                  spids: [3967]
                )
              ]
              spids: [3967]
            )
            (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: [3975 3989]
                      )
                    }
                  spids: [3974]
                )
              ]
              spids: [3974]
            )
            (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: [3993 4007]
                      )
                    }
                  spids: [3992]
                )
              ]
              spids: [3992]
            )
          ]
          spids: [3958]
        )
      spids: [3953 3957]
    )
    (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: [4033]
                )
              ]
              spids: [4033]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_sed_long_arg)
                  op: Equal
                  rhs: {(SQ <"1s/^--[^=]*=//">)}
                  spids: [4039]
                )
              ]
              spids: [4039]
            )
            (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: [4047 4061]
                      )
                    }
                  spids: [4046]
                )
              ]
              spids: [4046]
            )
            (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: [4065 4079]
                      )
                    }
                  spids: [4064]
                )
              ]
              spids: [4064]
            )
          ]
          spids: [4030]
        )
      spids: [4025 4029]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exit_cmd) op:Equal rhs:{(Lit_Other ":")} spids:[4087])]
      spids: [4087]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic)
          op: Equal
          rhs: {(DQ ("%%%MAGIC variable%%%"))}
          spids: [4095]
        )
      ]
      spids: [4095]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic_exe)
          op: Equal
          rhs: {(DQ ("%%%MAGIC EXE variable%%%"))}
          spids: [4100]
        )
      ]
      spids: [4100]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:nonopt) op:Equal rhs:{(SQ )} spids:[4109])]
      spids: [4109]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:preserve_args) op:Equal rhs:{(SQ )} spids:[4111])]
      spids: [4111]
    )
    (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: [4113]
        )
      ]
      spids: [4113]
    )
    (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: [4126]
        )
      ]
      spids: [4126]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_archives) op:Equal rhs:{(SQ )} spids:[4138])]
      spids: [4138]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_serial) op:Equal rhs:{(0)} spids:[4140])]
      spids: [4140]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exec_cmd) op:Equal rhs:{(SQ )} spids:[4153])]
      spids: [4153]
    )
    (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: [4167]
        )
      spids: [4162 4166]
    )
    (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: [4205]
        )
      spids: [4200 4204]
    )
    (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: [4253 4261]
                      )
                    }
                  spids: [4252]
                )
              ]
              spids: [4252]
            )
          ]
          spids: [4249]
        )
      spids: [4244 4248]
    )
    (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: [4300]
                                      )
                                    ]
                                  )
                                  (C {(echo)} {($ VSub_Name "$max_cmd_len")})
                                ]
                                op_id: Op_DPipe
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [4285 4308]
                      )
                    }
                  spids: [4284]
                )
              ]
              spids: [4284]
            )
          ]
          spids: [4281]
        )
      spids: [4276 4280]
    )
    (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: [4329 4345]
                      )
                    }
                  spids: [4328]
                )
              ]
              spids: [4328]
            )
          ]
          spids: [4325]
        )
      spids: [4320 4324]
    )
    (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: [4366 4382]
                      )
                    }
                  spids: [4365]
                )
              ]
              spids: [4365]
            )
          ]
          spids: [4362]
        )
      spids: [4357 4361]
    )
    (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: [4410 4416]
                )
              }
            )
            (C {(func_error)} 
              {(DQ ("See the ") ($ VSub_Name "$PACKAGE") (" documentation for more information."))}
            )
            (C {(func_fatal_error)} {(DQ ("Fatal configuration error."))})
          ]
          spids: [4405]
        )
      spids: [4400 4404]
    )
    (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: [4452]
                )
              ]
              spids: [4452]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:re_endcf)
                  op: Equal
                  rhs: {(SQ <"^# ### END LIBTOOL">)}
                  spids: [4458]
                )
              ]
              spids: [4458]
            )
            (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: [4481]
                )
              ]
            )
            (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: [4523]
                        )
                      ]
                    )
                  ]
                  spids: [4502 4530]
                )
              spids: [4498 4500]
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [4449]
        )
      spids: [4444 4448]
    )
    (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 4576]
                )
              ]
              else_action: [(C {(echo)} {(DQ ("disable shared libraries"))})]
              spids: [4586 4596]
            )
            (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 4612]
                )
              ]
              else_action: [(C {(echo)} {(DQ ("disable static libraries"))})]
              spids: [4622 4632]
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [4552]
        )
      spids: [4547 4551]
    )
    (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: [4667]
                )
              ]
              spids: [4667]
            )
            (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: [4674]
                )
              ]
              spids: [4674]
            )
            (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: [4682]
                )
              ]
              spids: [4682]
            )
            (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: [4690]
                )
              ]
              spids: [4690]
            )
            (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: [4712 4720 4731 -1]
                )
              ]
              spids: [4705 4709 4734]
            )
            (Case
              to_match: {($ VSub_Name "$tagname")}
              arms: [
                (case_arm pat_list:[{(CC)}] spids:[475347544756-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: [4775]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [4778]
                                    )
                                  ]
                                )
                              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: [4785]
                                )
                              ]
                              spids: [4785]
                            )
                            (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: [4822]
                                                  )
                                                ]
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [4811 4827]
                                      )
                                    }
                                  spids: [4810]
                                )
                              ]
                              spids: [4810]
                            )
                            (C {(eval)} {(DQ ($ VSub_Name "$extractedcf"))})
                          ]
                          spids: [-1 4782]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} {(DQ ("ignoring unknown tag ") ($ VSub_Name "$tagname"))})
                      ]
                      spids: [4837 4848]
                    )
                  ]
                  spids: [4759 4760 4851 -1]
                )
              ]
              spids: [4746 4750 4854]
            )
          ]
          spids: [4660]
        )
      spids: [4655 4659]
    )
    (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: [4930]
                                        )
                                        (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: [4933]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [-1 4925]
                                )
                              ]
                              else_action: [
                                (SimpleCommand
                                  words: [{(cat)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: -1
                                      arg_word: {(2)}
                                      spids: [4958]
                                    )
                                    (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: [4961]
                                    )
                                  ]
                                )
                              ]
                              spids: [4953 4985]
                            )
                          ]
                          spids: [-1 4911]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [{(cat)}]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: -1
                              arg_word: {(2)}
                              spids: [4993]
                            )
                            (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: [4996]
                            )
                          ]
                        )
                      ]
                      spids: [4988 5022]
                    )
                    (C {(exit)} {($ VSub_Name "$EXIT_MISMATCH")})
                  ]
                  spids: [-1 4892]
                )
              ]
              spids: [-1 5031]
            )
          ]
          spids: [4873]
        )
      spids: [4868 4872]
    )
    (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: [5067 5073]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5046 5053 5079 -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: [5108 5114]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5081 5094 5120 -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: [5149 5155]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5122 5135 5161 -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: [5188 5194]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5163 5174 5200 -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: [5229 5235]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5202 5215 5241 -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: [5264 5270]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5243 5250 5276 -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: [5309 5315]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (C {(shift)})
          ]
          spids: [5278 5295 5321 -1]
        )
      ]
      spids: [5040 5044 5323]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_debug) op:Equal rhs:{(Lit_Other ":")} spids:[5331])]
      spids: [5331]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[5334])]
      spids: [5334]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_config) op:Equal rhs:{(false)} spids:[5337])]
      spids: [5337]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:opt_preserve_dup_deps)
          op: Equal
          rhs: {(false)}
          spids: [5340]
        )
      ]
      spids: [5340]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_features) op:Equal rhs:{(false)} spids:[5343])]
      spids: [5343]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_finish) op:Equal rhs:{(false)} spids:[5346])]
      spids: [5346]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_help) op:Equal rhs:{(false)} spids:[5349])]
      spids: [5349]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_help_all) op:Equal rhs:{(false)} spids:[5352])]
      spids: [5352]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_silent) op:Equal rhs:{(Lit_Other ":")} spids:[5355])]
      spids: [5355]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:opt_warning)
          op: Equal
          rhs: {(Lit_Other ":")}
          spids: [5358]
        )
      ]
      spids: [5358]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:opt_verbose)
          op: Equal
          rhs: {(Lit_Other ":")}
          spids: [5361]
        )
      ]
      spids: [5361]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_silent) op:Equal rhs:{(false)} spids:[5364])]
      spids: [5364]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_verbose) op:Equal rhs:{(false)} spids:[5367])]
      spids: [5367]
    )
    (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: [5399]
                    )
                  ]
                  spids: [5399]
                )
                (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: [5420]
                            )
                          ]
                          spids: [5420]
                        )
                        (C {(func_echo)} {(DQ ("enabling shell trace mode"))})
                        (C {($ VSub_Name "$opt_debug")})
                      ]
                      spids: [5415 5418 5436 -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: [5447]
                            )
                          ]
                          spids: [5447]
                        )
                      ]
                      spids: [5439 5444 5451 -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: [5458]
                            )
                          ]
                          spids: [5458]
                        )
                        (C {(func_config)})
                      ]
                      spids: [5454 5455 5464 -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: [5473]
                            )
                          ]
                          spids: [5473]
                        )
                        (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: [5481 5486]
                                    ) ($ VSub_Name "$optarg")
                                  )
                                }
                              spids: [5479]
                            )
                          ]
                          spids: [5479]
                        )
                        (C {(shift)})
                      ]
                      spids: [5467 5470 5494 -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: [5501]
                            )
                          ]
                          spids: [5501]
                        )
                      ]
                      spids: [5497 5498 5505 -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: [5512]
                            )
                          ]
                          spids: [5512]
                        )
                        (C {(func_features)})
                      ]
                      spids: [5508 5509 5518 -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: [5525]
                            )
                          ]
                          spids: [5525]
                        )
                        (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: [5536 5542]
                                )
                              }
                            )
                          terminator: <Op_Semi ";">
                        )
                        (C {(shift)})
                      ]
                      spids: [5521 5522 5548 -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: [5555]
                            )
                          ]
                          spids: [5555]
                        )
                      ]
                      spids: [5551 5552 5559 -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: [5566]
                            )
                          ]
                          spids: [5566]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_help)
                              op: Equal
                              rhs: {(SQ <": help-all">)}
                              spids: [5569]
                            )
                          ]
                          spids: [5569]
                        )
                      ]
                      spids: [5562 5563 5575 -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: [5601]
                            )
                          ]
                          spids: [5601]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_mode)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$optarg"))}
                              spids: [5607]
                            )
                          ]
                          spids: [5607]
                        )
                        (Case
                          to_match: {($ VSub_Name "$optarg")}
                          arms: [
                            (case_arm
                              pat_list: [
                                {(clean)}
                                {(compile)}
                                {(execute)}
                                {(finish)}
                                {(install)}
                                {(link)}
                                {(relink)}
                                {(uninstall)}
                              ]
                              spids: [5623 5638 5640 -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: [5659]
                                    )
                                  ]
                                  spids: [5659]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              spids: [5648 5649 5666 -1]
                            )
                          ]
                          spids: [5612 5616 5668]
                        )
                        (C {(shift)})
                      ]
                      spids: [5578 5579 5674 -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: [5683]
                            )
                          ]
                          spids: [5683]
                        )
                        (C {(func_append)} {(preserve_args)} {(DQ (" ") ($ VSub_Name "$opt"))})
                      ]
                      spids: [5677 5680 5696 -1]
                    )
                    (case_arm
                      pat_list: [{(--no-warning)} {(--no-warn)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_warning)
                              op: Equal
                              rhs: {(false)}
                              spids: [5705]
                            )
                          ]
                          spids: [5705]
                        )
                        (C {(func_append)} {(preserve_args)} {(DQ (" ") ($ VSub_Name "$opt"))})
                      ]
                      spids: [5699 5702 5718 -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: [5725]
                            )
                          ]
                          spids: [5725]
                        )
                        (C {(func_append)} {(preserve_args)} {(DQ (" ") ($ VSub_Name "$opt"))})
                      ]
                      spids: [5721 5722 5738 -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: [5747]
                            )
                          ]
                          spids: [5747]
                        )
                        (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: [5760]
                            )
                          ]
                          spids: [5760]
                        )
                      ]
                      spids: [5741 5744 5764 -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: [5773]
                            )
                          ]
                          spids: [5773]
                        )
                        (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: [5785]
                            )
                          ]
                          spids: [5785]
                        )
                      ]
                      spids: [5767 5770 5789 -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: [5815]
                            )
                          ]
                          spids: [5815]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_tag)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$optarg"))}
                              spids: [5821]
                            )
                          ]
                          spids: [5821]
                        )
                        (C {(func_append)} {(preserve_args)} 
                          {(DQ (" ") ($ VSub_Name "$opt") (" ") ($ VSub_Name "$optarg"))}
                        )
                        (C {(func_enable_tag)} {(DQ ($ VSub_Name "$optarg"))})
                        (C {(shift)})
                      ]
                      spids: [5792 5793 5847 -1]
                    )
                    (case_arm
                      pat_list: [{(-) (EscapedLiteralPart token:<Lit_EscapedChar "\\?">)} {(-h)}]
                      action: [(C {(func_usage)})]
                      spids: [5851 5855 5859 -1]
                    )
                    (case_arm
                      pat_list: [{(--help)}]
                      action: [(C {(func_help)})]
                      spids: [5862 5863 5867 -1]
                    )
                    (case_arm
                      pat_list: [{(--version)}]
                      action: [(C {(func_version)})]
                      spids: [5870 5871 5875 -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: [5909 5915]
                            )
                          }
                        )
                        (C {(shift)})
                      ]
                      spids: [5883 5887 5921 -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: [5964 5970]
                            )
                          }
                        )
                        (C {(shift)})
                      ]
                      spids: [5929 5941 5976 -1]
                    )
                    (case_arm
                      pat_list: [{(--)}]
                      action: [(ControlFlow token:<ControlFlow_Break break>)]
                      spids: [5980 5981 5985 -1]
                    )
                    (case_arm
                      pat_list: [{(-) (Lit_Other "*")}]
                      action: [
                        (C {(func_fatal_help)} 
                          {
                            (DQ ("unrecognized option ") 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\`">
                              ) ($ VSub_Name "$opt") ("'")
                            )
                          }
                        )
                      ]
                      spids: [5988 5990 6001 -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: [6015 6021]
                                )
                              }
                            )
                          terminator: <Op_Semi ";">
                        )
                        (Sentence
                          child: (C {(shift)})
                          terminator: <Op_Semi ";">
                        )
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      spids: [6004 6005 6029 -1]
                    )
                  ]
                  spids: [5408 5412 6032]
                )
              ]
              spids: [5396 6035]
            )
        )
        (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: [6064]
                    )
                  ]
                  spids: [6064]
                )
                (C {(shift)})
              ]
              spids: [-1 6061]
            )
          ]
          spids: [-1 6073]
        )
        (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: [6138]
                    )
                  ]
                  spids: [6138]
                )
              ]
              spids: [6110 6131 6142 -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: [6149]
                    )
                  ]
                  spids: [6149]
                )
              ]
              spids: [6145 6146 6153 -1]
            )
          ]
          spids: [6103 6107 6156]
        )
        (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 6202]
                    )
                  ]
                  spids: [-1 6212]
                )
                (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:[6275])]
                        )
                        (C {(exit)} {($ VSub_Name "$EXIT_FAILURE")})
                      ]
                      spids: [-1 6257]
                    )
                  ]
                  spids: [-1 6284]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:generic_help)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name "$help"))}
                      spids: [6292]
                    )
                  ]
                  spids: [6292]
                )
                (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: [6298]
                    )
                  ]
                  spids: [6298]
                )
              ]
              spids: [6164]
            )
          ]
          op_id: Op_DPipe
        )
        (C {($ VSub_Name "$exit_cmd")} {($ VSub_Name "$EXIT_FAILURE")})
      ]
      spids: [5378]
    )
    (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:[6379])]
                    )
                    (SimpleCommand
                      words: [
                        {($ VSub_Name "$GREP")}
                        {(DQ ("^# Generated by .*") ($ VSub_Name "$PACKAGE"))}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [6393]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [6397]
                        )
                      ]
                    )
                  ]
                  negated: False
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [6355]
        )
      spids: [6350 6354]
    )
    (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:[6432])]
              spids: [6432]
            )
            (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: [6460]
                                    )
                                    (Redir
                                      op_id: Redir_Less
                                      fd: -1
                                      arg_word: {(DQ ($ VSub_Number "$1"))}
                                      spids: [6463]
                                    )
                                  ]
                                )
                              ]
                              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: [6516]
                                            )
                                          ]
                                          spids: [6516]
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [6504 6514 6521 -1]
                                )
                              ]
                              spids: [6495 6501 6524]
                            )
                          ]
                          spids: [6487 6527]
                        )
                      spids: [6477 -1]
                    )
                    (SimpleCommand
                      words: [{(exec)}]
                      redirects: [
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 0
                          arg_word: {(5)}
                          spids: [6532]
                        )
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 5
                          arg_word: {(-)}
                          spids: [6535]
                        )
                      ]
                    )
                  ]
                  spids: [-1 6469]
                )
              ]
              spids: [-1 6539]
            )
            (C {(test)} {(DQ ($ VSub_Name "$lalib_p"))} {(Lit_Other "=")} {(yes)})
          ]
          spids: [6429]
        )
      spids: [6424 6428]
    )
    (FuncDef
      name: func_ltwrapper_script_p
      body: (BraceGroup children:[(C {(func_lalib_p)} {(DQ ($ VSub_Number "$1"))})] spids:[6572])
      spids: [6567 6571]
    )
    (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: [6604]
                )
              ]
              spids: [6604]
            )
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm pat_list:[{(Lit_Other "*") (.exe)}] spids:[661466166618-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: [6624]
                        )
                      ]
                      spids: [6624]
                    )
                  ]
                  spids: [6621 6622 6627 -1]
                )
              ]
              spids: [6607 6611 6630]
            )
            (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:[6644])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[6647])
              ]
            )
          ]
          spids: [6601]
        )
      spids: [6596 6600]
    )
    (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: [6701]
                )
              ]
              spids: [6701]
            )
          ]
          spids: [6670]
        )
      spids: [6665 6669]
    )
    (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: [6733]
        )
      spids: [6728 6732]
    )
    (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: [6777]
                    )
                  ]
                  spids: [6777]
                )
              terminator: <Op_Semi ";">
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <"~">)} spids:[6781])]
              spids: [6781]
            )
            (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: [6799]
                        )
                      ]
                      spids: [6799]
                    )
                    (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: [6818 6822]
                          )
                        )
                      }
                    )
                  ]
                  spids: [6796 6826]
                )
              spids: [6792 6794]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name "$save_ifs")}
                  spids: [6829]
                )
              ]
              spids: [6829]
            )
          ]
          spids: [6771]
        )
      spids: [6766 6770]
    )
    (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: [6872 6881 6889 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [(C {(.)} {(DQ (./) ($ VSub_Number "$1"))})]
                  spids: [6892 6893 6902 -1]
                )
              ]
              spids: [6865 6869 6905]
            )
          ]
          spids: [6859]
        )
      spids: [6854 6858]
    )
    (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: [6928]
                )
              ]
              spids: [6928]
            )
            (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: [6958]
                        )
                      ]
                      spids: [6958]
                    )
                  ]
                  spids: [6939 6941 6963 -1]
                )
              ]
              spids: [6932 6936 6966]
            )
          ]
          spids: [6925]
        )
      spids: [6920 6924]
    )
    (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: [7023]
                        )
                      ]
                      spids: [7023]
                    )
                  ]
                  spids: [6999 7006 7030 -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: [7041]
                        )
                      ]
                      spids: [7041]
                    )
                  ]
                  spids: [7033 7034 7045 -1]
                )
              ]
              spids: [6988 6996 7048]
            )
          ]
          spids: [6985]
        )
      spids: [6980 6984]
    )
    (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: [7106]
                        )
                      ]
                      spids: [7106]
                    )
                    (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: [7118 7130]
                        )
                      spids: [7114 7116]
                    )
                    (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: [7134 7138]
                              )
                            }
                          spids: [7133]
                        )
                      ]
                      spids: [7133]
                    )
                    (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: [7142 7146]
                              )
                            }
                          spids: [7141]
                        )
                      ]
                      spids: [7141]
                    )
                    (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: [7165 7230 7232 -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: [7269]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: -1
                                                      arg_word: {(/dev/null)}
                                                      spids: [7275]
                                                    )
                                                  ]
                                                )
                                              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: [7311]
                                                              )
                                                            ]
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [7290 7314]
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_quoted)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [7318]
                                                )
                                              ]
                                              spids: [7318]
                                            )
                                            (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: [7330 7346]
                                                )
                                              spids: [7326 7328]
                                            )
                                            (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: [7350 7354]
                                                      )
                                                    }
                                                  spids: [7349]
                                                )
                                              ]
                                              spids: [7349]
                                            )
                                            (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: [7358 7362]
                                                      )
                                                    }
                                                  spids: [7357]
                                                )
                                              ]
                                              spids: [7357]
                                            )
                                            (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: [7456]
                                                        )
                                                      ]
                                                      spids: [7456]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [7376 7441 7463 -1]
                                                )
                                              ]
                                              spids: [7365 7372 7466]
                                            )
                                          ]
                                          spids: [-1 7280]
                                        )
                                      ]
                                      spids: [-1 7469]
                                    )
                                  ]
                                  spids: [7256 7472]
                                )
                              spids: [7252 7254]
                            )
                            (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 7498]
                                )
                              ]
                              spids: [-1 7523]
                            )
                          ]
                          spids: [7243 7244 7526 -1]
                        )
                      ]
                      spids: [7149 7153 7529]
                    )
                  ]
                  spids: [-1 7103]
                )
              ]
              spids: [-1 7532]
            )
          ]
          spids: [7076]
        )
      spids: [7071 7075]
    )
    (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: [7556]
                )
              ]
              spids: [7556]
            )
            (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: [7578]
                        )
                      ]
                      spids: [7578]
                    )
                  ]
                  spids: [-1 7575]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_lobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [7589]
                    )
                  ]
                  spids: [7589]
                )
              ]
              spids: [7586 7593]
            )
            (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: [7613]
                        )
                      ]
                      spids: [7613]
                    )
                  ]
                  spids: [-1 7610]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_oldobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [7624]
                    )
                  ]
                  spids: [7624]
                )
              ]
              spids: [7621 7628]
            )
            (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: [7641]
                        )
                        (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: [7647]
                        )
                      ]
                    )
                    (C {($ VSub_Name "$MV")} {(DQ (${ VSub_Name write_libobj) (T))} 
                      {(DQ (${ VSub_Name write_libobj))}
                    )
                  ]
                  spids: [7636]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [7553]
        )
      spids: [7548 7552]
    )
    (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: [7746]
                )
              ]
              spids: [7746]
            )
            (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: [7796]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [7787 7798]
                              )
                            }
                          spids: [7786]
                        )
                      ]
                      spids: [7786]
                    )
                    (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: [7830 7847]
                                      )
                                    }
                                  spids: [7829]
                                )
                              ]
                              spids: [7829]
                            )
                          ]
                          spids: [-1 7826]
                        )
                      ]
                      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: [7853]
                            )
                          ]
                          spids: [7853]
                        )
                      ]
                      spids: [7850 7856]
                    )
                  ]
                  spids: [-1 7763]
                )
              ]
              spids: [-1 7859]
            )
          ]
          spids: [7740]
        )
      spids: [7735 7739]
    )
    (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: [7913]
                )
              ]
              spids: [7913]
            )
            (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: [7932]
                        )
                      ]
                      spids: [7932]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(Lit_Other ":")}
                          spids: [7936]
                        )
                      ]
                      spids: [7936]
                    )
                    (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: [7952]
                                )
                              ]
                              spids: [7952]
                            )
                            (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: [7992]
                                                )
                                              ]
                                              spids: [7992]
                                            )
                                          ]
                                          spids: [-1 7989]
                                        )
                                      ]
                                      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: [7998 8011]
                                    )
                                  ]
                                  spids: [-1 7975]
                                )
                              ]
                              spids: [-1 8014]
                            )
                          ]
                          spids: [7949 8017]
                        )
                      spids: [7945 7947]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name "$oldIFS")}
                          spids: [8020]
                        )
                      ]
                      spids: [8020]
                    )
                  ]
                  spids: [-1 7929]
                )
              ]
              spids: [-1 8024]
            )
          ]
          spids: [7903]
        )
      spids: [7898 7902]
    )
    (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: [8121]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [8114 8123]
                              )
                            }
                          spids: [8113]
                        )
                      ]
                      spids: [8113]
                    )
                    (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: [8146]
                                )
                              ]
                              spids: [8146]
                            )
                          ]
                          spids: [-1 8139]
                        )
                      ]
                      spids: [-1 8149]
                    )
                  ]
                  spids: [-1 8110]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_cygpath_result)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [8155]
                    )
                  ]
                  spids: [8155]
                )
                (C {(func_error)} 
                  {
                    (DQ ("LT_CYGPATH is empty or specifies non-existent file: ") 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ($ VSub_Name "$LT_CYGPATH") ("'")
                    )
                  }
                )
              ]
              spids: [8152 8168]
            )
          ]
          spids: [8083]
        )
      spids: [8078 8082]
    )
    (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: [8217]
                                      )
                                    ]
                                    spids: [8203 8215]
                                  )
                                  (C {($ VSub_Name "$SED")} {(-e)} {(SQ <"s/[ ]*$//">)} {(-e)} 
                                    {(DQ ($ VSub_Name "$lt_sed_naive_backslashify"))}
                                  )
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [8202 8236]
                      )
                    }
                  spids: [8201]
                )
              ]
              spids: [8201]
            )
          ]
          spids: [8191]
        )
      spids: [8186 8190]
    )
    (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: [8321]
                        )
                      ]
                      spids: [8321]
                    )
                  ]
                  spids: [-1 8290]
                )
              ]
              spids: [-1 8327]
            )
          ]
          spids: [8262]
        )
      spids: [8257 8261]
    )
    (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: [8436]
                                )
                              ]
                              spids: [8436]
                            )
                            (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: [8447 8464]
                                      )
                                    }
                                  spids: [8446]
                                )
                              ]
                              spids: [8446]
                            )
                          ]
                          spids: [-1 8433]
                        )
                      ]
                      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: [8470]
                            )
                          ]
                          spids: [8470]
                        )
                      ]
                      spids: [8467 8476]
                    )
                  ]
                  spids: [-1 8380]
                )
              ]
              spids: [-1 8479]
            )
          ]
          spids: [8353]
        )
      spids: [8348 8352]
    )
    (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: [8519]
                        )
                      ]
                      spids: [8519]
                    )
                  ]
                  spids: [8515 8517 8526 -1]
                )
              ]
              spids: [8508 8512 8529]
            )
            (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: [8539 8541 8552 -1]
                )
              ]
              spids: [8532 8536 8555]
            )
          ]
          spids: [8502]
        )
      spids: [8497 8501]
    )
    (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: [8601]
        )
      spids: [8596 8600]
    )
    (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: [8662]
                        )
                      ]
                      spids: [8662]
                    )
                  ]
                  spids: [8652 8659 8666 -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: [8680]
                        )
                      ]
                      spids: [8680]
                    )
                  ]
                  spids: [8669 8670 8684 -1]
                )
              ]
              spids: [8643 8649 8687]
            )
          ]
          spids: [8637]
        )
      spids: [8632 8636]
    )
    (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: [8710]
                )
              ]
              spids: [8710]
            )
          ]
          spids: [8707]
        )
      spids: [8702 8706]
    )
    (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: [8745]
                )
              ]
              spids: [8745]
            )
            (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: [8772]
                        )
                      ]
                      spids: [8772]
                    )
                  ]
                  spids: [-1 8762]
                )
              ]
              spids: [-1 8778]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [8739]
        )
      spids: [8734 8738]
    )
    (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: [8818]
                )
              ]
              spids: [8818]
            )
            (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: [8847 8855]
                              )
                            }
                          spids: [8846]
                        )
                      ]
                      spids: [8846]
                    )
                  ]
                  spids: [-1 8835]
                )
              ]
              spids: [-1 8858]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [8812]
        )
      spids: [8807 8811]
    )
    (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: [8898]
                )
              ]
              spids: [8898]
            )
            (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: [8925]
                        )
                      ]
                      spids: [8925]
                    )
                  ]
                  spids: [-1 8915]
                )
              ]
              spids: [-1 8931]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [8892]
        )
      spids: [8887 8891]
    )
    (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: [8971]
                )
              ]
              spids: [8971]
            )
            (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: [9007]
                        )
                      ]
                      spids: [9007]
                    )
                  ]
                  spids: [-1 8988]
                )
              ]
              spids: [-1 9013]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [8965]
        )
      spids: [8960 8964]
    )
    (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: [9056]
                )
              ]
              spids: [9056]
            )
            (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: [9096]
                        )
                      ]
                      spids: [9096]
                    )
                  ]
                  spids: [-1 9073]
                )
              ]
              spids: [-1 9102]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [9050]
        )
      spids: [9045 9049]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:to_host_path_cmd) op:Equal rhs:{(SQ )} spids:[9190])]
      spids: [9190]
    )
    (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: [9231]
                        )
                      ]
                      spids: [9231]
                    )
                  ]
                  spids: [-1 9214]
                )
              ]
              spids: [-1 9240]
            )
          ]
          spids: [9197]
        )
      spids: [9192 9196]
    )
    (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: [9260]
        )
      spids: [9255 9259]
    )
    (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: [9296]
                )
              ]
              spids: [9296]
            )
          ]
          spids: [9293]
        )
      spids: [9288 9292]
    )
    (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: [9331]
                )
              ]
              spids: [9331]
            )
            (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: [9374]
                        )
                      ]
                      spids: [9374]
                    )
                    (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: [9385]
                        )
                      ]
                      spids: [9385]
                    )
                    (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 9348]
                )
              ]
              spids: [-1 9429]
            )
          ]
          spids: [9325]
        )
      spids: [9320 9324]
    )
    (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: [9458]
                )
              ]
              spids: [9458]
            )
            (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: [9493]
                        )
                      ]
                      spids: [9493]
                    )
                    (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: [9498 9508]
                              )
                            }
                          spids: [9497]
                        )
                      ]
                      spids: [9497]
                    )
                    (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 9475]
                )
              ]
              spids: [-1 9549]
            )
          ]
          spids: [9452]
        )
      spids: [9447 9451]
    )
    (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: [9578]
                )
              ]
              spids: [9578]
            )
            (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: [9613]
                        )
                      ]
                      spids: [9613]
                    )
                    (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: [9624]
                        )
                      ]
                      spids: [9624]
                    )
                    (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 9595]
                )
              ]
              spids: [-1 9668]
            )
          ]
          spids: [9572]
        )
      spids: [9567 9571]
    )
    (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: [9697]
                )
              ]
              spids: [9697]
            )
            (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: [9732]
                        )
                      ]
                      spids: [9732]
                    )
                    (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: [9754]
                        )
                      ]
                      spids: [9754]
                    )
                    (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 9714]
                )
              ]
              spids: [-1 9794]
            )
          ]
          spids: [9691]
        )
      spids: [9686 9690]
    )
    (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: [9826]
                )
              ]
              spids: [9826]
            )
            (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: [9869]
                        )
                      ]
                      spids: [9869]
                    )
                    (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: [9891]
                        )
                      ]
                      spids: [9891]
                    )
                    (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 9843]
                )
              ]
              spids: [-1 9931]
            )
          ]
          spids: [9820]
        )
      spids: [9815 9819]
    )
    (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:[9958])]
              spids: [9958]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:srcfile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$nonopt"))}
                  spids: [9961]
                )
              ]
              spids: [9961]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:suppress_opt) op:Equal rhs:{(yes)} spids:[9970])]
              spids: [9970]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_output)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [9974]
                )
              ]
              spids: [9974]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:arg_mode) op:Equal rhs:{(normal)} spids:[9977])]
              spids: [9977]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobj) op:Equal rhs:{(SQ )} spids:[9981])]
              spids: [9981]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:later) op:Equal rhs:{(SQ )} spids:[9984])]
              spids: [9984]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:pie_flag) op:Equal rhs:{(SQ )} spids:[9987])]
              spids: [9987]
            )
            (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: [10015]
                                )
                              ]
                              spids: [10015]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [10021]
                                )
                              ]
                              spids: [10021]
                            )
                          ]
                          spids: [10006 10008 10025 -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: [10034]
                                )
                              ]
                              spids: [10034]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [10040]
                                )
                              ]
                              spids: [10040]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10029 10031 10047 -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: [10092]
                                        )
                                      ]
                                      spids: [10092]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10067 10068 10099 -1]
                                )
                                (case_arm
                                  pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                  action: [
                                    (C {(func_append)} {(pie_flag)} {(DQ (" ") ($ VSub_Name "$arg"))})
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10103 10112 10128 -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: [10132 10145 10161 -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: [10169]
                                        )
                                      ]
                                      spids: [10169]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10165 10166 10176 -1]
                                )
                                (case_arm
                                  pat_list: [{(-Xcompiler)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(arg)}
                                          spids: [10184]
                                        )
                                      ]
                                      spids: [10184]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10180 10181 10197 -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: [10224]
                                        )
                                      ]
                                      spids: [10224]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [10228]
                                        )
                                      ]
                                      spids: [10228]
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$IFS"))}
                                              spids: [10231]
                                            )
                                          ]
                                          spids: [10231]
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <",">)}
                                          spids: [10237]
                                        )
                                      ]
                                      spids: [10237]
                                    )
                                    (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: [10255]
                                                )
                                              ]
                                              spids: [10255]
                                            )
                                            (C {(func_append_quoted)} {(lastarg)} 
                                              {(DQ ($ VSub_Name "$arg"))}
                                            )
                                          ]
                                          spids: [10252 10270]
                                        )
                                      spids: [10248 10250]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                          spids: [10273]
                                        )
                                      ]
                                      spids: [10273]
                                    )
                                    (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: [10293]
                                        )
                                      ]
                                      spids: [10293]
                                    )
                                    (C {(func_append)} {(base_compile)} 
                                      {(DQ (" ") ($ VSub_Name "$lastarg"))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10204 10207 10315 -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: [10335]
                                        )
                                      ]
                                      spids: [10335]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcfile)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$arg"))}
                                          spids: [10341]
                                        )
                                      ]
                                      spids: [10341]
                                    )
                                  ]
                                  spids: [10319 10320 10347 -1]
                                )
                              ]
                              spids: [10060 10064 10350]
                            )
                          ]
                          spids: [10051 10053 10356 -1]
                        )
                      ]
                      spids: [9999 10003 10359]
                    )
                    (C {(func_append_quoted)} {(base_compile)} {(DQ ($ VSub_Name "$lastarg"))})
                  ]
                  spids: [9996 10379]
                )
              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: [10393 10394 10404 -1]
                )
                (case_arm
                  pat_list: [{(target)}]
                  action: [
                    (C {(func_fatal_error)} 
                      {
                        (DQ ("you must specify a target with ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("-o'")
                        )
                      }
                    )
                  ]
                  spids: [10407 10408 10420 -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: [10451]
                                )
                              ]
                              spids: [10451]
                            )
                          ]
                          spids: [10441]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [10423 10424 10460 -1]
                )
              ]
              spids: [10386 10390 10463]
            )
            (Case
              to_match: {($ VSub_Name "$libobj")}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other "*") (.) (Lit_Other "[") (cCFSifmso) (Lit_Other "]")}
                    {(Lit_Other "*") (.ada)}
                    {(Lit_Other "*") (.adb)}
                    {(Lit_Other "*") (.ads)}
                    {(Lit_Other "*") (.asm)}
                    {(Lit_Other "*") (.c) (Lit_Other "+") (Lit_Other "+")}
                    {(Lit_Other "*") (.cc)}
                    {(Lit_Other "*") (.ii)}
                    {(Lit_Other "*") (.class)}
                    {(Lit_Other "*") (.cpp)}
                    {(Lit_Other "*") (.cxx)}
                    {(Lit_Other "*") (.) (Lit_Other "[") (fF) (Lit_Other "]") (Lit_Other "[") (09) 
                      (Lit_Other "]") (Lit_Other "?")
                    }
                    {(Lit_Other "*") (.for)}
                    {(Lit_Other "*") (.java)}
                    {(Lit_Other "*") (.go)}
                    {(Lit_Other "*") (.obj)}
                    {(Lit_Other "*") (.sx)}
                    {(Lit_Other "*") (.cu)}
                    {(Lit_Other "*") (.cup)}
                  ]
                  action: [
                    (C {(func_xform)} {(DQ ($ VSub_Name "$libobj"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libobj)
                          op: Equal
                          rhs: {($ VSub_Name "$func_xform_result")}
                          spids: [10602]
                        )
                      ]
                      spids: [10602]
                    )
                  ]
                  spids: [10482 10592 10606 -1]
                )
              ]
              spids: [10475 10479 10609]
            )
            (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: [10631]
                        )
                      ]
                      spids: [10631]
                    )
                  ]
                  spids: [10620 10622 10634 -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: [10637 10638 10651 -1]
                )
              ]
              spids: [10613 10617 10654]
            )
            (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: [10709]
                                )
                              ]
                              spids: [10709]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10683 10684 10716 -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: [10724]
                                )
                              ]
                              spids: [10724]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [10728]
                                )
                              ]
                              spids: [10728]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10720 10721 10735 -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: [10743]
                                )
                              ]
                              spids: [10743]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10739 10740 10750 -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: [10758]
                                )
                              ]
                              spids: [10758]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10754 10755 10765 -1]
                        )
                      ]
                      spids: [10676 10680 10768]
                    )
                  ]
                  spids: [10673 10771]
                )
              spids: [10669 10671]
            )
            (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: [10850]
                )
              ]
              spids: [10850]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$func_dirname_result"))}
                  spids: [10856]
                )
              ]
              spids: [10856]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lobj)
                  op: Equal
                  rhs: {(${ VSub_Name xdir) ($ VSub_Name "$objdir") (/) ($ VSub_Name "$objname")}
                  spids: [10862]
                )
              ]
              spids: [10862]
            )
            (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: [10912]
                        )
                      ]
                      spids: [10912]
                    )
                  ]
                  spids: [-1 10909]
                )
              ]
              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: [10930]
                    )
                  ]
                  spids: [10930]
                )
              ]
              spids: [10927 10943]
            )
            (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: [10983]
                        )
                      ]
                      spids: [10983]
                    )
                  ]
                  spids: [10958 10980 10987 -1]
                )
              ]
              spids: [10951 10955 10990]
            )
            (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: [11026]
                        )
                      ]
                      spids: [11026]
                    )
                  ]
                  spids: [-1 11019]
                )
              ]
              spids: [-1 11030]
            )
            (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: [11059 11073]
                              ) (.) (${ VSub_Name objext)
                            }
                          spids: [11058]
                        )
                      ]
                      spids: [11058]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lockfile)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$output_obj") (.lock))}
                          spids: [11080]
                        )
                      ]
                      spids: [11080]
                    )
                  ]
                  spids: [-1 11055]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:output_obj)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [11090]
                    )
                  ]
                  spids: [11090]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:need_locks)
                      op: Equal
                      rhs: {(no)}
                      spids: [11093]
                    )
                  ]
                  spids: [11093]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:lockfile)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [11097]
                    )
                  ]
                  spids: [11097]
                )
              ]
              spids: [11087 11100]
            )
            (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: [11144]
                                    )
                                  ]
                                )
                              ]
                              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: [11148 11165]
                        )
                    )
                  ]
                  spids: [-1 11125]
                )
                (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: [11210]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [11205 11212]
                                  ) ("\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 11195]
                        )
                      ]
                      spids: [-1 11243]
                    )
                    (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: [11262]
                        )
                      ]
                    )
                  ]
                  spids: [11168 11181]
                )
              ]
              spids: [-1 11269]
            )
            (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: [11315]
                )
              ]
              spids: [11315]
            )
            (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: [11326]
                )
              ]
              spids: [11326]
            )
            (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: [11355]
                        )
                      ]
                      spids: [11355]
                    )
                    (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: [11377]
                                )
                              ]
                              spids: [11377]
                            )
                          ]
                          spids: [-1 11374]
                        )
                      ]
                      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: [11394]
                            )
                          ]
                          spids: [11394]
                        )
                      ]
                      spids: [11387 11402]
                    )
                    (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 11426]
                        )
                      ]
                      spids: [-1 11443]
                    )
                    (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: [11485]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [11480 11487]
                                          )
                                        )
                                      } {(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: [11514]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [11509 11516]
                                  ) ("\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 11499]
                        )
                      ]
                      spids: [-1 11551]
                    )
                    (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 11587]
                        )
                      ]
                      spids: [-1 11603]
                    )
                    (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: [11627]
                                )
                              ]
                              spids: [11627]
                            )
                          ]
                          spids: [-1 11624]
                        )
                      ]
                      spids: [-1 11633]
                    )
                  ]
                  spids: [-1 11348]
                )
              ]
              spids: [-1 11636]
            )
            (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: [11681]
                                )
                              ]
                              spids: [11681]
                            )
                          ]
                          spids: [-1 11674]
                        )
                      ]
                      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: [11693]
                            )
                          ]
                          spids: [11693]
                        )
                      ]
                      spids: [11690 11703]
                    )
                    (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 11719]
                        )
                      ]
                      spids: [-1 11732]
                    )
                    (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: [11787]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [11782 11789]
                                          )
                                        )
                                      } {(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: [11816]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [11811 11818]
                                  ) ("\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 11801]
                        )
                      ]
                      spids: [-1 11853]
                    )
                    (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 11889]
                        )
                      ]
                      spids: [-1 11905]
                    )
                  ]
                  spids: [-1 11657]
                )
              ]
              spids: [-1 11908]
            )
            (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: [11958]
                                )
                              ]
                              spids: [11958]
                            )
                            (C {($ VSub_Name "$RM")} {(DQ ($ VSub_Name "$lockfile"))})
                          ]
                          spids: [-1 11955]
                        )
                      ]
                      spids: [-1 11969]
                    )
                  ]
                  spids: [11916]
                )
              ]
              op_id: Op_DPipe
            )
            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
          ]
          spids: [9948]
        )
      spids: [9943 9947]
    )
    (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: [12004 12010]
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [11987]
        )
      ]
      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 12036 12050 -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: [12054 12055 12081 -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: [12085 12086 12128 -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: [12132 12133 12163 -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: [12167 12168 12190 -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: [12194 12195 12224 -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: [12228 12229 12334 -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: [12338 12339 12365 -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: [12369 12370 12383 -1]
                )
              ]
              spids: [12027 12031 12386]
            )
            (C {(echo)})
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("Try ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  ($ VSub_Name "$progname") (" --help' for more information about other modes.")
                )
              }
            )
          ]
          spids: [12020]
        )
      spids: [12015 12019]
    )
    (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 12429]
                )
              ]
              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:[1246712473])
                          spids: [12451 12465]
                        )
                      ]
                      spids: [12438]
                    )
                    (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: [12518 12527]
                            )
                          spids: [12502 12516]
                        )
                      ]
                      spids: [12489]
                    )
                    (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: [12435 12550]
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [-1 12413]
        )
      ]
      spids: [-1 12557]
    )
    (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: [12579]
                )
              ]
              spids: [12579]
            )
            (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:[12643])]
                      spids: [12643]
                    )
                    (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: [12665]
                                )
                              ]
                              spids: [12665]
                            )
                            (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: [12698]
                                )
                              ]
                              spids: [12698]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [12701]
                                )
                              ]
                              spids: [12701]
                            )
                            (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 12727]
                                )
                              ]
                              spids: [-1 12760]
                            )
                            (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: [12778]
                                )
                              ]
                              spids: [12778]
                            )
                            (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 12800]
                                )
                              ]
                              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 12831]
                                    )
                                  ]
                                  spids: [-1 12852]
                                )
                              ]
                              spids: [12813 12855]
                            )
                          ]
                          spids: [12653 12655 12858 -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: [12885]
                                )
                              ]
                              spids: [12885]
                            )
                          ]
                          spids: [12862 12864 12891 -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: [12895 12896 12910 -1]
                        )
                      ]
                      spids: [12646 12650 12913]
                    )
                    (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: [12922 12932]
                              )
                            }
                          spids: [12921]
                        )
                      ]
                      spids: [12921]
                    )
                    (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: [12945]
                            )
                          ]
                          spids: [12945]
                        )
                      ]
                      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 12969]
                        )
                      ]
                      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: [12984 13001]
                    )
                  ]
                  spids: [12618 13004]
                )
              spids: [12614 12616]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_execute_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$magic"))}
                  spids: [13016]
                )
              ]
              spids: [13016]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(SQ )} spids:[13027])]
              spids: [13027]
            )
            (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: [13045 13058 13060 -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: [13094]
                                        )
                                      ]
                                      spids: [13094]
                                    )
                                  ]
                                  spids: [-1 13080]
                                )
                                (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: [13132]
                                        )
                                      ]
                                      spids: [13132]
                                    )
                                  ]
                                  spids: [13102 13111]
                                )
                              ]
                              spids: [-1 13140]
                            )
                          ]
                          spids: [13063 13064 13143 -1]
                        )
                      ]
                      spids: [13038 13042 13146]
                    )
                    (C {(func_append_quoted)} {(args)} {(DQ ($ VSub_Name "$file"))})
                  ]
                  spids: [13035 13162]
                )
              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 13194]
                        )
                      ]
                      spids: [-1 13209]
                    )
                    (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: [13236 13269]
                        )
                      spids: [13222 -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: [13277]
                        )
                      ]
                      spids: [13277]
                    )
                  ]
                  spids: [-1 13180]
                )
              ]
              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 13303]
                    )
                  ]
                  spids: [-1 13328]
                )
                (C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Name "$cmd") ($ VSub_Name "$args"))})
                (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
              ]
              spids: [13285 13344]
            )
          ]
          spids: [12569]
        )
      spids: [12564 12568]
    )
    (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: [13363 13369]
            )
          }
        )
      ]
      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:[13387])]
              spids: [13387]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libdirs) op:Equal rhs:{(SQ )} spids:[13390])]
              spids: [13390]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:admincmds) op:Equal rhs:{(SQ )} spids:[13393])]
              spids: [13393]
            )
            (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: [13407 13413]
                  )
                }
              ]
              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 13430]
                        )
                        (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 13467]
                                )
                              ]
                              else_action: [
                                (C {(func_warning)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                      ($ VSub_Name "$opt") ("' is not a valid libtool archive")
                                    )
                                  }
                                )
                              ]
                              spids: [13480 13492]
                            )
                          ]
                          spids: [13444 13455]
                        )
                      ]
                      else_action: [
                        (C {(func_fatal_error)} 
                          {
                            (DQ ("invalid argument ") 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\`">
                              ) ($ VSub_Name "$opt") ("'")
                            )
                          }
                        )
                      ]
                      spids: [13496 13509]
                    )
                  ]
                  spids: [13416 13512]
                )
              spids: [13402 -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: [13545 13559]
                                      )
                                    }
                                  spids: [13544]
                                )
                              ]
                              spids: [13544]
                            )
                            (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: [13562]
                                )
                              ]
                              spids: [13562]
                            )
                          ]
                          spids: [-1 13541]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:sysroot_cmd)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [13578]
                            )
                          ]
                          spids: [13578]
                        )
                      ]
                      spids: [13575 13581]
                    )
                    (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: [13606 13621]
                                )
                              spids: [13602 13604]
                            )
                          ]
                          spids: [-1 13594]
                        )
                      ]
                      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: [13628 13630]
                                  )
                                }
                              spids: [13627]
                            )
                          ]
                          spids: [13627]
                        )
                        (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: [13672]
                                    )
                                  ]
                                )
                                (C {(mv)} {(-f)} {($ VSub_Name "$tmpdir") (/tmp-la)} 
                                  {($ VSub_Name "$lib")}
                                )
                              ]
                              spids: [13642 13688]
                            )
                          spids: [13638 13640]
                        )
                        (C {(${ VSub_Name RM) (r)} {(DQ ($ VSub_Name "$tmpdir"))})
                      ]
                      spids: [13624 13701]
                    )
                  ]
                  spids: [-1 13527]
                )
              ]
              spids: [-1 13704]
            )
            (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 13756]
                                )
                              ]
                              spids: [-1 13780]
                            )
                            (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 13794]
                                )
                              ]
                              spids: [-1 13832]
                            )
                          ]
                          spids: [13742 13835]
                        )
                      spids: [13738 13740]
                    )
                  ]
                  spids: [-1 13730]
                )
              ]
              spids: [-1 13838]
            )
            (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: [13904 13915]
                        )
                      spids: [13900 13902]
                    )
                    (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 13962]
                        )
                      ]
                      spids: [-1 13982]
                    )
                    (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 13996]
                        )
                      ]
                      spids: [-1 14016]
                    )
                    (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: [14033]
                                )
                              ]
                              spids: [14033]
                            )
                            (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 14030]
                        )
                      ]
                      spids: [-1 14056]
                    )
                    (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 14070]
                        )
                      ]
                      spids: [-1 14081]
                    )
                    (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 14093]
                        )
                      ]
                      spids: [-1 14105]
                    )
                    (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: [14126 14135 14152 -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: [14155 14156 14166 -1]
                        )
                      ]
                      spids: [14119 14123 14169]
                    )
                    (C {(echo)} 
                      {(DQ (----------------------------------------------------------------------))}
                    )
                  ]
                  spids: [-1 13878]
                )
              ]
              spids: [-1 14179]
            )
            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
          ]
          spids: [13381]
        )
      spids: [13376 13380]
    )
    (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: [14203 14209]
            )
          }
        )
      ]
      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: [14274 14277 14280 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other "*")}]
                                      action: [(C {(false)})]
                                      spids: [14282 14283 14286 -1]
                                    )
                                  ]
                                  spids: [14268 14272 14288]
                                )
                              ]
                              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: [14305]
                        )
                      ]
                      spids: [14305]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [14312]
                        )
                      ]
                      spids: [14312]
                    )
                    (C {(shift)})
                  ]
                  spids: [-1 14291]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:install_prog)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [14322]
                    )
                  ]
                  spids: [14322]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:arg)
                      op: Equal
                      rhs: {($ VSub_Name "$nonopt")}
                      spids: [14325]
                    )
                  ]
                  spids: [14325]
                )
              ]
              spids: [14319 14329]
            )
            (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: [14357]
                )
              ]
              spids: [14357]
            )
            (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: [14383]
                        )
                      ]
                      spids: [14383]
                    )
                  ]
                  spids: [14372 14381 14386 -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: [14392]
                        )
                      ]
                      spids: [14392]
                    )
                  ]
                  spids: [14389 14390 14395 -1]
                )
              ]
              spids: [14361 14369 14398]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal rhs:{(SQ )} spids:[14406])]
              spids: [14406]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(SQ )} spids:[14409])]
              spids: [14409]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opts) op:Equal rhs:{(SQ )} spids:[14412])]
              spids: [14412]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(SQ )} spids:[14415])]
              spids: [14415]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_type)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [14418]
                )
              ]
              spids: [14418]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:isdir) op:Equal rhs:{(no)} spids:[14421])]
              spids: [14421]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:stripme) op:Equal rhs:{(SQ )} spids:[14425])]
              spids: [14425]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:no_mode)
                  op: Equal
                  rhs: {(Lit_Other ":")}
                  spids: [14428]
                )
              ]
              spids: [14428]
            )
            (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: [14440]
                        )
                      ]
                      spids: [14440]
                    )
                    (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: [14467]
                                )
                              ]
                              spids: [14467]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [-1 14454]
                        )
                      ]
                      spids: [-1 14474]
                    )
                    (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: [14488]
                                )
                              ]
                              spids: [14488]
                            )
                          ]
                          spids: [14485 14486 14491 -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 14503]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {($ VSub_Name "$arg")}
                                      spids: [14511]
                                    )
                                  ]
                                  spids: [14511]
                                )
                              ]
                              spids: [14508 14515]
                            )
                          ]
                          spids: [14494 14495 14518 -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: [14533]
                                )
                              ]
                              spids: [14533]
                            )
                          ]
                          spids: [14521 14530 14537 -1]
                        )
                        (case_arm
                          pat_list: [{(-s)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripme)
                                  op: Equal
                                  rhs: {(DQ (" -s"))}
                                  spids: [14544]
                                )
                              ]
                              spids: [14544]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [14540 14541 14553 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other "*")}]
                          spids: [14556 14558 14561 -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: [14613]
                                                )
                                              ]
                                              spids: [14613]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:no_mode)
                                                  op: Equal
                                                  rhs: {(false)}
                                                  spids: [14617]
                                                )
                                              ]
                                              spids: [14617]
                                            )
                                          ]
                                          spids: [-1 14610]
                                        )
                                      ]
                                      spids: [-1 14621]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [14624]
                                        )
                                      ]
                                      spids: [14624]
                                    )
                                  ]
                                  spids: [-1 14583]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:dest)
                                      op: Equal
                                      rhs: {($ VSub_Name "$arg")}
                                      spids: [14630]
                                    )
                                  ]
                                  spids: [14630]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Continue continue>
                                )
                              ]
                              spids: [14627 14637]
                            )
                          ]
                          spids: [14564 14565 14640 -1]
                        )
                      ]
                      spids: [14478 14482 14643]
                    )
                    (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 14679]
                        )
                      ]
                      spids: [-1 14689]
                    )
                    (C {(func_append)} {(install_shared_prog)} 
                      {(DQ (" ") ($ VSub_Name "$func_quote_for_eval_result"))}
                    )
                  ]
                  spids: [14437 14702]
                )
              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 14772]
                        )
                      ]
                      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: [14777 14797]
                    )
                  ]
                  spids: [-1 14764]
                )
              ]
              spids: [-1 14800]
            )
            (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 14829]
                        )
                      ]
                      else_action: [(C {(func_fatal_help)} {(DQ ("you must specify a destination"))})]
                      spids: [14839 14849]
                    )
                  ]
                  spids: [-1 14815]
                )
              ]
              spids: [-1 14852]
            )
            (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: [14874]
                )
              ]
              spids: [14874]
            )
            (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:[14893])]
                  spids: [14893]
                )
              ]
              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: [14913]
                        )
                      ]
                      spids: [14913]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:destname)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [14919]
                        )
                      ]
                      spids: [14919]
                    )
                  ]
                  spids: [-1 14910]
                )
              ]
              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: [14939]
                    )
                  ]
                  spids: [14939]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:destname)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name "$func_basename_result"))}
                      spids: [14945]
                    )
                  ]
                  spids: [14945]
                )
                (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: [14922 14989]
            )
            (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: [14999 15016 15018 -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: [15044 15046 15048 -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: [15051 15052 15064 -1]
                                )
                              ]
                              spids: [15037 15041 15067]
                            )
                          ]
                          spids: [15034 15070]
                        )
                      spids: [15030 15032]
                    )
                  ]
                  spids: [15021 15022 15073 -1]
                )
              ]
              spids: [14992 14996 15076]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$magic"))}
                  spids: [15088]
                )
              ]
              spids: [15088]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:staticlibs) op:Equal rhs:{(SQ )} spids:[15095])]
              spids: [15095]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:future_libdirs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [15098]
                )
              ]
              spids: [15098]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_libdirs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [15101]
                )
              ]
              spids: [15101]
            )
            (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: [15128 15131 15148 -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: [15164]
                                )
                              ]
                              spids: [15164]
                            )
                            (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: [15193]
                                )
                              ]
                              spids: [15193]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [15196]
                                )
                              ]
                              spids: [15196]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [15199]
                                )
                              ]
                              spids: [15199]
                            )
                            (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: [15244 15251 15253 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(current_libdirs)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [15256 15257 15268 -1]
                                        )
                                      ]
                                      spids: [15234 15241 15271]
                                    )
                                  ]
                                  spids: [-1 15231]
                                )
                              ]
                              else_action: [
                                (Case
                                  to_match: {(DQ ($ VSub_Name "$future_libdirs") (" "))}
                                  arms: [
                                    (case_arm
                                      pat_list: [
                                        {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$libdir") (" ")) 
                                          (Lit_Other "*")
                                        }
                                      ]
                                      spids: [15291 15298 15300 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other "*")}]
                                      action: [
                                        (C {(func_append)} {(future_libdirs)} 
                                          {(DQ (" ") ($ VSub_Name "$libdir"))}
                                        )
                                      ]
                                      spids: [15303 15304 15315 -1]
                                    )
                                  ]
                                  spids: [15281 15288 15318]
                                )
                              ]
                              spids: [15274 15321]
                            )
                            (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: [15339]
                                )
                              ]
                              spids: [15339]
                            )
                            (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: [15374 15393]
                                              )
                                            }
                                          spids: [15373]
                                        )
                                      ]
                                      spids: [15373]
                                    )
                                    (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: [15468 15484]
                                                      )
                                                    }
                                                  spids: [15467]
                                                )
                                              ]
                                              spids: [15467]
                                            )
                                          ]
                                          spids: [-1 15460]
                                        )
                                      ]
                                      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: [15491 15505]
                                                  )
                                                }
                                              spids: [15490]
                                            )
                                          ]
                                          spids: [15490]
                                        )
                                      ]
                                      spids: [15487 15508]
                                    )
                                    (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 15366]
                                )
                              ]
                              spids: [-1 15539]
                            )
                            (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: [15571]
                                        )
                                      ]
                                      spids: [15571]
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcname)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$realname"))}
                                          spids: [15581]
                                        )
                                      ]
                                      spids: [15581]
                                    )
                                    (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: [15597]
                                            )
                                          ]
                                          spids: [15597]
                                        )
                                      ]
                                      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: [15630]
                                        )
                                      ]
                                      spids: [15630]
                                    )
                                    (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: [15675]
                                                        )
                                                      ]
                                                      spids: [15675]
                                                    )
                                                  ]
                                                  spids: [15670 15672 15680 -1]
                                                )
                                              ]
                                              spids: [15663 15667 15683]
                                            )
                                          ]
                                          spids: [15643 15660 15686 -1]
                                        )
                                      ]
                                      spids: [15636 15640 15689]
                                    )
                                    (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 15713]
                                        )
                                      ]
                                      spids: [-1 15731]
                                    )
                                    (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: [15772 15817]
                                                )
                                              spids: [-1 -1]
                                            )
                                          ]
                                          spids: [-1 15748]
                                        )
                                      ]
                                      spids: [-1 15820]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$destdir") (/) 
                                                ($ VSub_Name "$realname")
                                              )
                                            }
                                          spids: [15828]
                                        )
                                      ]
                                      spids: [15828]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$postinstall_cmds"))} 
                                      {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 15568]
                                )
                              ]
                              spids: [-1 15847]
                            )
                            (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: [15862]
                                )
                              ]
                              spids: [15862]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:instname)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$dir") (/) ($ VSub_Name "$name")) (i)}
                                  spids: [15868]
                                )
                              ]
                              spids: [15868]
                            )
                            (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: [15152 15154 15921 -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: [15953]
                                        )
                                      ]
                                      spids: [15953]
                                    )
                                  ]
                                  spids: [-1 15950]
                                )
                              ]
                              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: [15971]
                                    )
                                  ]
                                  spids: [15971]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name "$destdir") (/) ($ VSub_Name "$destfile"))}
                                      spids: [15977]
                                    )
                                  ]
                                  spids: [15977]
                                )
                              ]
                              spids: [15961 15985]
                            )
                            (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: [16012]
                                        )
                                      ]
                                      spids: [16012]
                                    )
                                  ]
                                  spids: [16000 16002 16016 -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: [16025]
                                        )
                                      ]
                                      spids: [16025]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [16031]
                                        )
                                      ]
                                      spids: [16031]
                                    )
                                  ]
                                  spids: [16019 16022 16034 -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: [16037 16038 16051 -1]
                                )
                              ]
                              spids: [15993 15997 16054]
                            )
                            (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: [16121]
                                        )
                                      ]
                                      spids: [16121]
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name "$install_prog") (" ") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\$">
                                          ) ("staticobj ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (staticdest)
                                        )
                                      } {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 16107]
                                )
                              ]
                              spids: [-1 16141]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [15925 15927 16149 -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: [16175]
                                        )
                                      ]
                                      spids: [16175]
                                    )
                                  ]
                                  spids: [-1 16172]
                                )
                              ]
                              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: [16193]
                                    )
                                  ]
                                  spids: [16193]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name "$destdir") (/) ($ VSub_Name "$destfile"))}
                                      spids: [16199]
                                    )
                                  ]
                                  spids: [16199]
                                )
                              ]
                              spids: [16183 16207]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripped_ext)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [16223]
                                )
                              ]
                              spids: [16223]
                            )
                            (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: [16270]
                                                )
                                              ]
                                              spids: [16270]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:stripped_ext)
                                                  op: Equal
                                                  rhs: {(DQ (.exe))}
                                                  spids: [16274]
                                                )
                                              ]
                                              spids: [16274]
                                            )
                                          ]
                                          spids: [-1 16253]
                                        )
                                      ]
                                      spids: [-1 16280]
                                    )
                                  ]
                                  spids: [16235 16237 16283 -1]
                                )
                              ]
                              spids: [16228 16232 16286]
                            )
                            (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: [16332]
                                                )
                                              ]
                                              spids: [16332]
                                            )
                                          ]
                                          spids: [-1 16322]
                                        )
                                      ]
                                      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: [16353]
                                            )
                                          ]
                                          spids: [16353]
                                        )
                                      ]
                                      spids: [16336 16357]
                                    )
                                  ]
                                  spids: [16301 16310 16360 -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: [16367]
                                        )
                                      ]
                                      spids: [16367]
                                    )
                                  ]
                                  spids: [16363 16364 16371 -1]
                                )
                              ]
                              spids: [16294 16298 16374]
                            )
                            (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: [16389]
                                        )
                                      ]
                                      spids: [16389]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [16392]
                                        )
                                      ]
                                      spids: [16392]
                                    )
                                    (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: [16431]
                                        )
                                      ]
                                      spids: [16431]
                                    )
                                    (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: [16451]
                                                )
                                              ]
                                              spids: [16451]
                                            )
                                            (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 16465]
                                                )
                                              ]
                                              spids: [-1 16475]
                                            )
                                            (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: [16483 16497]
                                                      )
                                                    }
                                                  spids: [16478]
                                                )
                                              ]
                                              spids: [16478]
                                            )
                                            (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: [16541]
                                                        )
                                                      ]
                                                      spids: [16541]
                                                    )
                                                  ]
                                                  spids: [-1 16526]
                                                )
                                              ]
                                              spids: [-1 16545]
                                            )
                                          ]
                                          spids: [16444 16548]
                                        )
                                      spids: [16440 16442]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [16552]
                                        )
                                      ]
                                      spids: [16552]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name "$wrapper"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:outputname)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [16563]
                                        )
                                      ]
                                      spids: [16563]
                                    )
                                    (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: [16616 16618]
                                                                      )
                                                                    }
                                                                  spids: [16615]
                                                                )
                                                              ]
                                                              spids: [16615]
                                                            )
                                                            (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: [16629]
                                                                )
                                                              ]
                                                              spids: [16629]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:outputname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$tmpdir") (/) 
                                                                        ($ VSub_Name "$file")
                                                                      )
                                                                    }
                                                                  spids: [16635]
                                                                )
                                                              ]
                                                              spids: [16635]
                                                            )
                                                            (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: [16648 16668]
                                                                      )
                                                                    }
                                                                  spids: [16647]
                                                                )
                                                              ]
                                                              spids: [16647]
                                                            )
                                                            (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: [16676]
                                                                )
                                                              ]
                                                              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 16706]
                                                                )
                                                              ]
                                                              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: [16711 16741]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:file)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$outputname"))
                                                                    }
                                                                  spids: [16744]
                                                                )
                                                              ]
                                                              spids: [16744]
                                                            )
                                                          ]
                                                          spids: [-1 16612]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(func_warning)} 
                                                          {
                                                            (DQ ("cannot relink ") 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar "\\`">
                                                              ) ($ VSub_Name "$file") ("'")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [16750 16763]
                                                    )
                                                  ]
                                                  spids: [16596]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 16589]
                                        )
                                      ]
                                      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: [16777 16801]
                                                  )
                                                }
                                              spids: [16776]
                                            )
                                          ]
                                          spids: [16776]
                                        )
                                      ]
                                      spids: [16769 16804]
                                    )
                                  ]
                                  spids: [-1 16386]
                                )
                              ]
                              spids: [-1 16807]
                            )
                            (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: [16847 16852 16859 -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: [16869]
                                                )
                                              ]
                                              spids: [16869]
                                            )
                                          ]
                                          spids: [16862 16866 16874 -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: [16898]
                                                )
                                              ]
                                              spids: [16898]
                                            )
                                          ]
                                          spids: [16877 16881 16902 -1]
                                        )
                                      ]
                                      spids: [16838 16844 16905]
                                    )
                                  ]
                                  spids: [16828 16835 16908 -1]
                                )
                              ]
                              spids: [16819 16825 16911]
                            )
                            (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 16946]
                                    )
                                  ]
                                  spids: [-1 16959]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [16153 16154 16962 -1]
                        )
                      ]
                      spids: [15121 15125 16965]
                    )
                  ]
                  spids: [15113 16968]
                )
              spids: [15109 15111]
            )
            (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: [16991]
                        )
                      ]
                      spids: [16991]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlib)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$destdir") (/) ($ VSub_Name "$name"))}
                          spids: [17002]
                        )
                      ]
                      spids: [17002]
                    )
                    (C {(func_to_tool_file)} {(DQ ($ VSub_Name "$oldlib"))} 
                      {(func_convert_file_msys_to_w32)}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tool_oldlib)
                          op: Equal
                          rhs: {($ VSub_Name "$func_to_tool_file_result")}
                          spids: [17019]
                        )
                      ]
                      spids: [17019]
                    )
                    (C {(func_show_eval)} 
                      {
                        (DQ ($ VSub_Name "$install_prog") (" ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("file ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (oldlib)
                        )
                      } {(SQ <"exit $?">)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$stripme"))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$old_striplib"))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} 
                              {(DQ ($ VSub_Name "$old_striplib") (" ") ($ VSub_Name "$tool_oldlib"))} {(SQ <"exit $?">)}
                            )
                          ]
                          spids: [-1 17062]
                        )
                      ]
                      spids: [-1 17078]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$old_postinstall_cmds"))} 
                      {(SQ <"exit $?">)}
                    )
                  ]
                  spids: [16981 17097]
                )
              spids: [16977 16979]
            )
            (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: [17148]
                            )
                          ]
                          spids: [17148]
                        )
                      ]
                      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: [17155]
                        )
                      ]
                      spids: [17155]
                    )
                  ]
                  spids: [-1 17137]
                )
              ]
              else_action: [(C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})]
              spids: [17161 17169]
            )
          ]
          spids: [14221]
        )
      spids: [14216 14220]
    )
    (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: [17188 17194]
            )
          }
        )
      ]
      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: [17218]
                )
              ]
              spids: [17218]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_originator)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$2"))}
                  spids: [17224]
                )
              ]
              spids: [17224]
            )
            (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: [17232 17236]
                        )
                      )
                    }
                  spids: [17230]
                )
              ]
              spids: [17230]
            )
            (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: [17241 17255]
                      )
                    }
                  spids: [17240]
                )
              ]
              spids: [17240]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_dlsyms) op:Equal rhs:{(SQ )} spids:[17258])]
              spids: [17258]
            )
            (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: [17314]
                                )
                              ]
                              spids: [17314]
                            )
                          ]
                          spids: [-1 17311]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} 
                          {(DQ ("not configured to extract global symbols from dlpreopened files"))}
                        )
                      ]
                      spids: [17323 17333]
                    )
                  ]
                  spids: [-1 17287]
                )
              ]
              spids: [-1 17336]
            )
            (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:[-11736317365-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: [17377]
                                )
                              ]
                              spids: [17377]
                            )
                            (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: [17429]
                                    )
                                  ]
                                )
                              ]
                              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: [17525]
                                            )
                                          ]
                                        )
                                      ]
                                      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: [17538 17561]
                                              )
                                            }
                                          spids: [17537]
                                        )
                                      ]
                                      spids: [17537]
                                    )
                                    (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: [17573 17613]
                                        )
                                      spids: [17569 17571]
                                    )
                                    (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: [17635]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 17628]
                                        )
                                      ]
                                      spids: [-1 17655]
                                    )
                                    (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: [17677]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 17670]
                                        )
                                      ]
                                      spids: [-1 17697]
                                    )
                                    (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: [17719]
                                                )
                                              ]
                                              spids: [17719]
                                            )
                                            (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: [17769 17785 17805 -1]
                                                        )
                                                      ]
                                                      spids: [17762 17766 17808]
                                                    )
                                                  ]
                                                  spids: [17732]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 17716]
                                        )
                                      ]
                                      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: [17872 17888 17908 -1]
                                                    )
                                                  ]
                                                  spids: [17865 17869 17911]
                                                )
                                              ]
                                              spids: [17821]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      spids: [17814 17917]
                                    )
                                  ]
                                  spids: [-1 17501]
                                )
                              ]
                              spids: [-1 17920]
                            )
                            (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: [17953]
                                        )
                                      ]
                                      spids: [17953]
                                    )
                                    (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: [18018]
                                                        )
                                                      ]
                                                      spids: [18018]
                                                    )
                                                    (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: [18050 18064]
                                                                      )
                                                                    }
                                                                  spids: [18049]
                                                                )
                                                              ]
                                                              spids: [18049]
                                                            )
                                                            (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: [18089]
                                                                        )
                                                                      ]
                                                                      spids: [18089]
                                                                    )
                                                                  ]
                                                                  spids: [-1 18079]
                                                                )
                                                              ]
                                                              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: [18109]
                                                                    )
                                                                  ]
                                                                  spids: [18109]
                                                                )
                                                              ]
                                                              spids: [18095 18113]
                                                            )
                                                          ]
                                                          spids: [-1 18042]
                                                        )
                                                      ]
                                                      spids: [-1 18116]
                                                    )
                                                    (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 18138]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(func_warning)} 
                                                                  {
                                                                    (DQ 
                                                                      (
"Could not compute DLL name from "
                                                                      ) ($ VSub_Name "$name")
                                                                    )
                                                                  }
                                                                )
                                                                (C {(eval)} 
                                                                  {
                                                                    (SQ 
                                                                      <
"$ECHO \": $name \" >> \"$nlist\""
                                                                      >
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [18148 18166]
                                                            )
                                                            (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: [18123]
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  spids: [-1 17998]
                                                )
                                              ]
                                              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: [18210]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [18200 18248]
                                            )
                                          ]
                                          spids: [17966 17982 18251 -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: [18262]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [18254 18255 18300 -1]
                                        )
                                      ]
                                      spids: [17959 17963 18303]
                                    )
                                  ]
                                  spids: [17933 18306]
                                )
                              spids: [17929 17931]
                            )
                            (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: [18333]
                                            )
                                          ]
                                        )
                                      ]
                                      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: [18370]
                                                )
                                              ]
                                            )
                                            (C {($ VSub_Name "$MV")} {(DQ ($ VSub_Name "$nlist")) (T)} 
                                              {(DQ ($ VSub_Name "$nlist"))}
                                            )
                                          ]
                                          spids: [-1 18352]
                                        )
                                      ]
                                      spids: [-1 18390]
                                    )
                                    (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: [18408]
                                                        )
                                                      ]
                                                    )
                                                    (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: [18425]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_Great
                                                                      fd: -1
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [18428]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [18431]
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [(C {(sort)} {(-k)} {(3)})]
                                                          spids: [-1 18435]
                                                        )
                                                      ]
                                                      else_action: [(C {(sort)} {(Lit_Other "+") (2)})]
                                                      spids: [18445 18454]
                                                    )
                                                    (SimpleCommand
                                                      words: [{(uniq)}]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {(DQ ($ VSub_Name "$nlist")) (S)}
                                                          spids: [18461]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: False
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [(C {(Lit_Other ":")})]
                                          spids: [-1 18469]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{($ VSub_Name "$GREP")} {(-v)} {(DQ ("^: "))}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name "$nlist"))}
                                              spids: [18486]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name "$nlist")) (S)}
                                              spids: [18492]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [18475 18500]
                                    )
                                    (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 18516]
                                        )
                                      ]
                                      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: [18538]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [18529 18547]
                                    )
                                    (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: [18553]
                                        )
                                      ]
                                    )
                                    (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: [18609]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$my_dlsyms")
                                                      )
                                                    }
                                                  spids: [18615]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [18599 18600 18624 -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: [18637]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$my_dlsyms")
                                                      )
                                                    }
                                                  spids: [18643]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [18627 18628 18652 -1]
                                        )
                                      ]
                                      spids: [18592 18596 18655]
                                    )
                                    (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: [18660]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [18314]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_flag_for_symtable)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [18698]
                                )
                              ]
                              spids: [18698]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name "$compile_command") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (DQ (" -static ")) (Lit_Other "*")}]
                                  spids: [18711 18716 18718 -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: [18772]
                                                )
                                              ]
                                              spids: [18772]
                                            )
                                          ]
                                          spids: [18752 18769 18779 -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: [18790]
                                                )
                                              ]
                                              spids: [18790]
                                            )
                                          ]
                                          spids: [18782 18787 18796 -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: [18821]
                                                        )
                                                      ]
                                                      spids: [18821]
                                                    )
                                                  ]
                                                  spids: [-1 18818]
                                                )
                                              ]
                                              spids: [-1 18828]
                                            )
                                          ]
                                          spids: [18799 18800 18831 -1]
                                        )
                                      ]
                                      spids: [18725 18729 18834]
                                    )
                                  ]
                                  spids: [18721 18722 18837 -1]
                                )
                              ]
                              spids: [18701 18708 18840]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:symtab_cflags)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [18843]
                                )
                              ]
                              spids: [18843]
                            )
                            (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: [18865 18874 18876 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(symtab_cflags)} 
                                              {(DQ (" ") ($ VSub_Name "$arg"))}
                                            )
                                          ]
                                          spids: [18879 18880 18891 -1]
                                        )
                                      ]
                                      spids: [18858 18862 18894]
                                    )
                                  ]
                                  spids: [18855 18897]
                                )
                              spids: [18851 18853]
                            )
                            (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: [18933]
                                )
                              ]
                              spids: [18933]
                            )
                            (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: [18989 19009]
                                                      )
                                                    }
                                                  spids: [18988]
                                                )
                                              ]
                                              spids: [18988]
                                            )
                                            (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: [19013 19033]
                                                      )
                                                    }
                                                  spids: [19012]
                                                )
                                              ]
                                              spids: [19012]
                                            )
                                          ]
                                          spids: [-1 18985]
                                        )
                                      ]
                                      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: [19040 19056]
                                                  )
                                                }
                                              spids: [19039]
                                            )
                                          ]
                                          spids: [19039]
                                        )
                                        (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: [19060 19076]
                                                  )
                                                }
                                              spids: [19059]
                                            )
                                          ]
                                          spids: [19059]
                                        )
                                      ]
                                      spids: [19036 19079]
                                    )
                                  ]
                                  spids: [18952 18968 19082 -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: [19090 19106]
                                              )
                                            }
                                          spids: [19089]
                                        )
                                      ]
                                      spids: [19089]
                                    )
                                    (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: [19110 19126]
                                              )
                                            }
                                          spids: [19109]
                                        )
                                      ]
                                      spids: [19109]
                                    )
                                  ]
                                  spids: [19085 19086 19129 -1]
                                )
                              ]
                              spids: [18945 18949 19132]
                            )
                          ]
                          spids: [17368 17370 19135 -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: [19138 19139 19152 -1]
                        )
                      ]
                      spids: [17354 17358 19155]
                    )
                  ]
                  spids: [-1 17351]
                )
              ]
              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: [19179 19193]
                          )
                        }
                      spids: [19178]
                    )
                  ]
                  spids: [19178]
                )
                (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: [19197 19211]
                          )
                        }
                      spids: [19196]
                    )
                  ]
                  spids: [19196]
                )
              ]
              spids: [19158 19214]
            )
          ]
          spids: [17212]
        )
      spids: [17207 17211]
    )
    (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: [19251]
                )
              ]
              spids: [19251]
            )
            (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: [19265]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [19258 19267]
                      )
                    }
                  spids: [19257]
                )
              ]
              spids: [19257]
            )
            (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: [19292]
                        )
                      ]
                      spids: [19292]
                    )
                  ]
                  spids: [19277 19286 19298 -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: [19336]
                                        )
                                      ]
                                    )
                                    (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: [19348]
                                        )
                                      ]
                                    )
                                  ]
                                  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: [19365 19399]
                                      )
                                    }
                                  spids: [19364]
                                )
                              ]
                              spids: [19364]
                            )
                            (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: [19413]
                                        )
                                      ]
                                      spids: [19413]
                                    )
                                  ]
                                  spids: [19409 19411 19417 -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: [19423]
                                        )
                                      ]
                                      spids: [19423]
                                    )
                                  ]
                                  spids: [19420 19421 19427 -1]
                                )
                              ]
                              spids: [19402 19406 19430]
                            )
                          ]
                          spids: [-1 19352]
                        )
                      ]
                      spids: [-1 19433]
                    )
                  ]
                  spids: [19301 19306 19436 -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: [19445]
                        )
                      ]
                      spids: [19445]
                    )
                  ]
                  spids: [19439 19442 19451 -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: [19482]
                                )
                              ]
                              spids: [19482]
                            )
                          ]
                          spids: [19470 19479 19488 -1]
                        )
                      ]
                      spids: [19463 19467 19491]
                    )
                  ]
                  spids: [19454 19457 19494 -1]
                )
              ]
              spids: [19270 19274 19497]
            )
            (C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Name "$win32_libid_type"))})
          ]
          spids: [19245]
        )
      spids: [19240 19244]
    )
    (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: [19548 19558]
                      )
                    }
                  spids: [19547]
                )
              ]
              spids: [19547]
            )
          ]
          spids: [19541]
        )
      spids: [19536 19540]
    )
    (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: [19608 19622]
                      )
                    }
                  spids: [19607]
                )
              ]
              spids: [19607]
            )
            (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:[19639])]
                )
                (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: [19601]
        )
      spids: [19596 19600]
    )
    (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: [19788 19810]
                      )
                    }
                  spids: [19787]
                )
              ]
              spids: [19787]
            )
            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$func_cygming_gnu_implib_tmp"))})
          ]
          spids: [19772]
        )
      spids: [19767 19771]
    )
    (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: [19857 19879]
                      )
                    }
                  spids: [19856]
                )
              ]
              spids: [19856]
            )
            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$func_cygming_ms_implib_tmp"))})
          ]
          spids: [19841]
        )
      spids: [19836 19840]
    )
    (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: [19955 19965]
                              )
                            }
                          spids: [19954]
                        )
                      ]
                      spids: [19954]
                    )
                  ]
                  spids: [-1 19947]
                )
                (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: [19986 19996]
                              )
                            }
                          spids: [19985]
                        )
                      ]
                      spids: [19985]
                    )
                  ]
                  spids: [19968 19978]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:sharedlib_from_linklib_result)
                      op: Equal
                      rhs: {(DQ )}
                      spids: [20006]
                    )
                  ]
                  spids: [20006]
                )
              ]
              spids: [19999 20011]
            )
          ]
          spids: [19931]
        )
      spids: [19926 19930]
    )
    (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: [20031]
                    )
                  ]
                  spids: [20031]
                )
              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: [20040]
                )
              ]
              spids: [20040]
            )
            (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: [20062]
                        )
                      ]
                      spids: [20062]
                    )
                    (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: [20083]
                                    )
                                  ]
                                )
                              ]
                              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: [20087 20104]
                        )
                    )
                  ]
                  spids: [-1 20059]
                )
              ]
              spids: [-1 20107]
            )
            (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 20145]
                )
              ]
              spids: [-1 20161]
            )
            (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: [20185]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [20188]
                                    )
                                  ]
                                )
                              ]
                              negated: False
                            )
                          spids: [20166 20190]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(Lit_Other ":")})]
                  spids: [-1 20193]
                )
              ]
              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: [20199 20212]
            )
          ]
          spids: [20025]
        )
      spids: [20020 20024]
    )
    (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: [20232]
                    )
                  ]
                  spids: [20232]
                )
              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: [20242 20248]
                      )
                    }
                  spids: [20241]
                )
              ]
              spids: [20241]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_oldobjs) op:Equal rhs:{(DQ )} spids:[20251])]
              spids: [20251]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xlib) op:Equal rhs:{(DQ )} spids:[20256])]
              spids: [20256]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xabs) op:Equal rhs:{(DQ )} spids:[20261])]
              spids: [20261]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xdir) op:Equal rhs:{(DQ )} spids:[20266])]
              spids: [20266]
            )
            (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: [20314]
                                )
                              ]
                              spids: [20314]
                            )
                          ]
                          spids: [20295 20312 20319 -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: [20326 20328]
                                      ) (DQ (/) ($ VSub_Name "$my_xlib"))
                                    }
                                  spids: [20325]
                                )
                              ]
                              spids: [20325]
                            )
                          ]
                          spids: [20322 20323 20334 -1]
                        )
                      ]
                      spids: [20288 20292 20337]
                    )
                    (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: [20347]
                        )
                      ]
                      spids: [20347]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xlib_u)
                          op: Equal
                          rhs: {($ VSub_Name "$my_xlib")}
                          spids: [20353]
                        )
                      ]
                      spids: [20353]
                    )
                    (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: [20395]
                                        )
                                      ]
                                      spids: [20395]
                                    )
                                    (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: [20399]
                                        )
                                      ]
                                      spids: [20399]
                                    )
                                  ]
                                  spids: [20376 20383 20405 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [20408 20409 20413 -1]
                                )
                              ]
                              spids: [20365 20373 20416]
                            )
                          ]
                          spids: [20362 20419]
                        )
                    )
                    (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: [20422]
                        )
                      ]
                      spids: [20422]
                    )
                    (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: [20430]
                        )
                      ]
                      spids: [20430]
                    )
                    (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: [20480 20482]
                                              )
                                            }
                                          spids: [20479]
                                        )
                                      ]
                                      spids: [20479]
                                    )
                                    (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: [20496]
                                        )
                                      ]
                                      spids: [20496]
                                    )
                                    (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: [20501 20503]
                                              )
                                            }
                                          spids: [20500]
                                        )
                                      ]
                                      spids: [20500]
                                    )
                                    (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: [20507 20513]
                                              )
                                            }
                                          spids: [20506]
                                        )
                                      ]
                                      spids: [20506]
                                    )
                                    (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: [20526]
                                                                  )
                                                                ]
                                                              )
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name "$GREP")}
                                                                  {(Architectures)}
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op_id: Redir_Great
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                    spids: [20535]
                                                                  )
                                                                ]
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                          (C {(true)})
                                                        ]
                                                        op_id: Op_DPipe
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [20517 20541]
                                              )
                                            }
                                          spids: [20516]
                                        )
                                      ]
                                      spids: [20516]
                                    )
                                    (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: [20559 20575]
                                                      )
                                                    }
                                                  spids: [20558]
                                                )
                                              ]
                                              spids: [20558]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arch)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [20578]
                                                )
                                              ]
                                              spids: [20578]
                                            )
                                            (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: [20670 20672]
                                                          )
                                                        )
                                                      } {(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: [20600 20709]
                                                )
                                              spids: [20595 20598]
                                            )
                                            (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: [20720 20761]
                                                      )
                                                    }
                                                  spids: [20719]
                                                )
                                              ]
                                              spids: [20719]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_file)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [20764]
                                                )
                                              ]
                                              spids: [20764]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_files)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [20767]
                                                )
                                              ]
                                              spids: [20767]
                                            )
                                            (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: [20783 20802]
                                                              )
                                                            }
                                                          spids: [20782]
                                                        )
                                                      ]
                                                      spids: [20782]
                                                    )
                                                    (C {($ VSub_Name "$LIPO")} {(-create)} {(-output)} 
                                                      {(DQ ($ VSub_Name "$darwin_file"))} {($ VSub_Name "$darwin_files")}
                                                    )
                                                  ]
                                                  spids: [20779 20818]
                                                )
                                              spids: [20775 20777]
                                            )
                                            (C {($ VSub_Name "$RM")} {(-rf)} 
                                              {(unfat-) ($ VSub_Dollar "$$")}
                                            )
                                            (C {(cd)} {(DQ ($ VSub_Name "$darwin_orig_dir"))})
                                          ]
                                          spids: [-1 20555]
                                        )
                                      ]
                                      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: [20839 20858]
                                    )
                                  ]
                                  spids: [20476]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [20454 20457 20870 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (C {(func_extract_an_archive)} {(DQ ($ VSub_Name "$my_xdir"))} 
                              {(DQ ($ VSub_Name "$my_xabs"))}
                            )
                          ]
                          spids: [20873 20874 20888 -1]
                        )
                      ]
                      spids: [20447 20451 20891]
                    )
                    (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: [20899 20928]
                              )
                            }
                          spids: [20894]
                        )
                      ]
                      spids: [20894]
                    )
                  ]
                  spids: [20281 20931]
                )
              spids: [20277 20279]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_extract_archives_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$my_oldobjs"))}
                  spids: [20935]
                )
              ]
              spids: [20935]
            )
          ]
          spids: [20226]
        )
      spids: [20221 20225]
    )
    (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: [20995 20999]
                      )
                    }
                  spids: [20994]
                )
              ]
              spids: [20994]
            )
            (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: [21137 21151]
                      )
                    }
                  spids: [21136]
                )
              ]
              spids: [21136]
            )
            (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: [21363 21381 21445 -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: [21449 21450 21510 -1]
                )
              ]
              spids: [21352 21356 21513]
            )
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("      ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("0: cannot exec ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("program ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("*") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" 1>&2\n") ("      exit 1\n") ("}\n") ("\n") 
                  ("# A function to encapsulate launching the target application\n") ("# Strips options in the --lt-* namespace from ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                  ("@ and\n") ("# launches target application with the remaining arguments.\n") ("func_exec_program ()\n") ("{\n") 
                  ("  case ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("* ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") ("  *") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (" --lt-*)\n") ("    for lt_wr_arg\n") ("    do\n") ("      case ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("lt_wr_arg in\n") ("      --lt-*) ;;\n") ("      *) set x ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (lt_wr_arg) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; shift;;\n") ("      esac\n") 
                  ("      shift\n") ("    done ;;\n") ("  esac\n") ("  func_exec_program_core ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("}\n") ("}\n") ("\n") ("  # Parse options\n") 
                  ("  func_parse_lt_options ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                  (0) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("}\n") ("\n") 
                  ("  # Find the directory that this script lives in.\n") ("  thisdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") (" 's%/[^/]*") 
                  (Lit_Other "$") ("%%'") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("  test ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (x) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" = ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (x) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" && thisdir=.\n") ("\n") 
                  ("  # Follow symbolic links until we get to the real thisdir.\n") ("  file=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("ls -ld ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") (" -n 's/.*-> //p'") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  ("\n") ("  while test -n ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; do\n") ("    destdir=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") (" 's%/[^/]*") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("%%'") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("\n") ("    # If there was a directory component, then change thisdir.\n") ("    if test ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (x) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (destdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" != ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (x) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("      case ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (destdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") ("      [") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/]* | [A-Za-z]:[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/]*) thisdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (destdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ;;\n") ("      *) thisdir=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir/) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (destdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ;;\n") ("      esac\n") ("    fi\n") 
                  ("\n") ("    file=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") (" 's%^.*/%%'") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("    file=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("ls -ld ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir/) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") 
                  (" -n 's/.*-> //p'") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("  done\n") ("\n") 
                  ("  # Usually 'no', except on cygwin/mingw when embedded into\n") ("  # the cwrapper.\n") ("  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=") ($ VSub_Name "$func_emit_wrapper_arg1") 
                  ("\n") ("  if test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (WRAPPER_SCRIPT_BELONGS_IN_OBJDIR) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" = ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (yes) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("    # special case for '.'\n") 
                  ("    if test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                  (thisdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" = ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (.) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("      thisdir=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (pwd) (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("    fi\n") 
                  ("    # remove .libs from thisdir\n") ("    case ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") ("    *[") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/]") ($ VSub_Name "$objdir") (" ) thisdir=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") ($ VSub_Name "$SED") (" 's%[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/][^") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/]*") (Lit_Other "$") ("%%'") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (" ;;\n") ("    ") 
                  ($ VSub_Name "$objdir") (" )   thisdir=. ;;\n") ("    esac\n") ("  fi\n") ("\n") 
                  ("  # Try to get the absolute directory name.\n") ("  absdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("cd ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" && pwd") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("  test -n ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (absdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" && thisdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (absdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("\n")
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(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 21845]
                )
              ]
              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: [22054 22074]
            )
            (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 22126]
                )
              ]
              spids: [-1 22142]
            )
            (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 22183]
                )
              ]
              spids: [-1 22231]
            )
            (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: [20991]
        )
      spids: [20986 20990]
    )
    (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: [22325]
                )
              ]
            )
            (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: [22356]
                )
              ]
            )
            (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: [22365]
                )
              ]
            )
            (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: [22425]
                        )
                      ]
                    )
                  ]
                  spids: [-1 22413]
                )
              ]
              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: [22439]
                    )
                  ]
                )
              ]
              spids: [22434 22445]
            )
            (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: [22473]
                        )
                      ]
                    )
                  ]
                  spids: [-1 22460]
                )
              ]
              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: [22492]
                    )
                  ]
                )
              ]
              spids: [22487 22498]
            )
            (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: [22520]
                        )
                      ]
                    )
                  ]
                  spids: [-1 22515]
                )
              ]
              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: [22535]
                    )
                  ]
                )
              ]
              spids: [22530 22544]
            )
            (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: [22551]
                )
              ]
            )
            (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: [22566 22576 22590 -1]
                )
              ]
              spids: [22557 22563 22593]
            )
            (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: [22599]
                )
              ]
            )
            (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: [22607]
                )
              ]
            )
            (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: [22624]
                )
              ]
            )
            (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: [22633]
                )
              ]
            )
            (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: [22658]
                )
              ]
            )
            (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: [22679]
                        )
                      ]
                    )
                  ]
                  spids: [22672 22674 22685 -1]
                )
              ]
              spids: [22665 22669 22688]
            )
            (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: [22694]
                )
              ]
            )
            (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: [22715]
                        )
                      ]
                    )
                  ]
                  spids: [22708 22710 22721 -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: [22730]
                        )
                      ]
                    )
                  ]
                  spids: [22724 22725 22736 -1]
                )
              ]
              spids: [22701 22705 22739]
            )
            (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: [22745]
                )
              ]
            )
            (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: [22765]
                        )
                      ]
                    )
                  ]
                  spids: [22758 22760 22771 -1]
                )
              ]
              spids: [22751 22755 22774]
            )
            (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: [22780]
                )
              ]
            )
            (Pipeline
              children: [
                (C {(func_emit_wrapper)} {(yes)})
                (C {($ VSub_Name "$SED")} {(-n)} {(-e)} 
                  {
                    (SQ <"\n"> <"s/^\\(.\\{79\\}\\)\\(..*\\)/\\1\\\n"> <"\\2/\n"> <"h\n"> 
                      <"s/\\([\\\\\"]\\)/\\\\\\1/g\n"> <"s/$/\\\\n/\n"> <"s/\\([^\\n]*\\).*/  fputs (\"\\1\", f);/p\n"> <"g\n"> <D>
                    )
                  }
                )
              ]
              negated: False
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {("}\n")}
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [22814]
                )
              ]
            )
          ]
          spids: [22320]
        )
      spids: [22315 22319]
    )
    (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: [22854]
                                  )
                                ]
                              )
                              (C {($ VSub_Name "$SED")} {(-e)} {(10q)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_Backtick "`">
                    spids: [22844 22864]
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "*") (import) (Lit_Other "*")}]
                  action: [(C {(Lit_Other ":")})]
                  spids: [22869 22872 22876 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [(C {(false)})]
                  spids: [22879 22880 22884 -1]
                )
              ]
              spids: [22842 22866 22887]
            )
          ]
          spids: [22836]
        )
      spids: [22831 22835]
    )
    (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: [22992]
                        )
                      ]
                      spids: [22992]
                    )
                  ]
                  spids: [22913 22948 22996 -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: [23003]
                        )
                      ]
                      spids: [23003]
                    )
                  ]
                  spids: [22999 23000 23007 -1]
                )
              ]
              spids: [22906 22910 23010]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_args)
                  op: Equal
                  rhs: {($ VSub_Name "$nonopt")}
                  spids: [23013]
                )
              ]
              spids: [23013]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base_compile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$nonopt") (" ") ($ VSub_At "$@"))}
                  spids: [23017]
                )
              ]
              spids: [23017]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_command)
                  op: Equal
                  rhs: {($ VSub_Name "$nonopt")}
                  spids: [23025]
                )
              ]
              spids: [23025]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_command)
                  op: Equal
                  rhs: {($ VSub_Name "$nonopt")}
                  spids: [23029]
                )
              ]
              spids: [23029]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_rpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23034]
                )
              ]
              spids: [23034]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_rpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23037]
                )
              ]
              spids: [23037]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_shlibpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23040]
                )
              ]
              spids: [23040]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_shlibpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23043]
                )
              ]
              spids: [23043]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:convenience) op:Equal rhs:{(SQ )} spids:[23046])]
              spids: [23046]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_convenience)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23049]
                )
              ]
              spids: [23049]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:deplibs) op:Equal rhs:{(SQ )} spids:[23052])]
              spids: [23052]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:old_deplibs) op:Equal rhs:{(SQ )} spids:[23055])]
              spids: [23055]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compiler_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23058]
                )
              ]
              spids: [23058]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:linker_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23061]
                )
              ]
              spids: [23061]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dllsearchpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23064]
                )
              ]
              spids: [23064]
            )
            (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: [23068 23070]
                      )
                    }
                  spids: [23067]
                )
              ]
              spids: [23067]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inst_prefix_dir)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23073]
                )
              ]
              spids: [23073]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_inherited_linker_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23076]
                )
              ]
              spids: [23076]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:avoid_version)
                  op: Equal
                  rhs: {(no)}
                  spids: [23080]
                )
              ]
              spids: [23080]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:bindir) op:Equal rhs:{(SQ )} spids:[23084])]
              spids: [23084]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlfiles) op:Equal rhs:{(SQ )} spids:[23087])]
              spids: [23087]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlprefiles) op:Equal rhs:{(SQ )} spids:[23090])]
              spids: [23090]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlself) op:Equal rhs:{(no)} spids:[23093])]
              spids: [23093]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_dynamic)
                  op: Equal
                  rhs: {(no)}
                  spids: [23097]
                )
              ]
              spids: [23097]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23101]
                )
              ]
              spids: [23101]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols_regex)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23104]
                )
              ]
              spids: [23104]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:generated) op:Equal rhs:{(SQ )} spids:[23107])]
              spids: [23107]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobjs) op:Equal rhs:{(SQ )} spids:[23110])]
              spids: [23110]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:ltlibs) op:Equal rhs:{(SQ )} spids:[23113])]
              spids: [23113]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:module) op:Equal rhs:{(no)} spids:[23116])]
              spids: [23116]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:no_install) op:Equal rhs:{(no)} spids:[23120])]
              spids: [23120]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:objs) op:Equal rhs:{(SQ )} spids:[23124])]
              spids: [23124]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:non_pic_objects)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23127]
                )
              ]
              spids: [23127]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:precious_files_regex)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23130]
                )
              ]
              spids: [23130]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prefer_static_libs)
                  op: Equal
                  rhs: {(no)}
                  spids: [23133]
                )
              ]
              spids: [23133]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:preload) op:Equal rhs:{(no)} spids:[23137])]
              spids: [23137]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(SQ )} spids:[23141])]
              spids: [23141]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prevarg) op:Equal rhs:{(SQ )} spids:[23144])]
              spids: [23144]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:release) op:Equal rhs:{(SQ )} spids:[23147])]
              spids: [23147]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rpath) op:Equal rhs:{(SQ )} spids:[23150])]
              spids: [23150]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:xrpath) op:Equal rhs:{(SQ )} spids:[23153])]
              spids: [23153]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:perm_rpath) op:Equal rhs:{(SQ )} spids:[23156])]
              spids: [23156]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:temp_rpath) op:Equal rhs:{(SQ )} spids:[23159])]
              spids: [23159]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:thread_safe) op:Equal rhs:{(no)} spids:[23162])]
              spids: [23162]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo) op:Equal rhs:{(SQ )} spids:[23166])]
              spids: [23166]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo_number) op:Equal rhs:{(no)} spids:[23169])]
              spids: [23169]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:weak_libs) op:Equal rhs:{(SQ )} spids:[23173])]
              spids: [23173]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:single_module)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name wl) (-single_module))}
                  spids: [23176]
                )
              ]
              spids: [23176]
            )
            (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: [23236]
                                )
                              ]
                              spids: [23236]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [23210 23211 23243 -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 23292]
                                        )
                                      ]
                                      spids: [-1 23302]
                                    )
                                    (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: [23319]
                                                )
                                              ]
                                              spids: [23319]
                                            )
                                          ]
                                          spids: [-1 23316]
                                        )
                                      ]
                                      spids: [-1 23323]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [23326]
                                        )
                                      ]
                                      spids: [23326]
                                    )
                                  ]
                                  spids: [23265 23266 23330 -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: [23361]
                                                )
                                              ]
                                              spids: [23361]
                                            )
                                          ]
                                          spids: [-1 23358]
                                        )
                                      ]
                                      spids: [-1 23365]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(built)}
                                          spids: [23368]
                                        )
                                      ]
                                      spids: [23368]
                                    )
                                  ]
                                  spids: [23333 23334 23372 -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: [23403]
                                                )
                                              ]
                                              spids: [23403]
                                            )
                                          ]
                                          spids: [-1 23400]
                                        )
                                      ]
                                      spids: [-1 23407]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [23410]
                                        )
                                      ]
                                      spids: [23410]
                                    )
                                  ]
                                  spids: [23375 23376 23414 -1]
                                )
                              ]
                              spids: [23258 23262 23417]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [23420]
                                )
                              ]
                              spids: [23420]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [23424]
                                )
                              ]
                              spids: [23424]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [23246 23255 23431 -1]
                        )
                      ]
                      spids: [23203 23207 23434]
                    )
                  ]
                  spids: [23200 23437]
                )
              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: [23455]
                    )
                  ]
                  spids: [23455]
                )
              ]
              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: [23480]
                        )
                      ]
                      spids: [23480]
                    )
                    (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: [23496]
                        )
                      ]
                      spids: [23496]
                    )
                    (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: [23536 23537 23558 -1]
                                )
                              ]
                              spids: [23529 23533 23561]
                            )
                            (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: [23576]
                                        )
                                      ]
                                      spids: [23576]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [23582]
                                        )
                                      ]
                                      spids: [23582]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [23572 23573 23588 -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: [23635]
                                                )
                                              ]
                                              spids: [23635]
                                            )
                                          ]
                                          spids: [-1 23610]
                                        )
                                      ]
                                      spids: [-1 23639]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$arg")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other "*") (.la)} {(Lit_Other "*") (.lo)}]
                                          spids: [23649 23656 23658 -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: [23684]
                                                        )
                                                      ]
                                                      spids: [23684]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_dynamic)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [23688]
                                                        )
                                                      ]
                                                      spids: [23688]
                                                    )
                                                  ]
                                                  spids: [-1 23681]
                                                )
                                              ]
                                              spids: [-1 23692]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [23695]
                                                )
                                              ]
                                              spids: [23695]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [23664 23665 23701 -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: [23724]
                                                        )
                                                      ]
                                                      spids: [23724]
                                                    )
                                                  ]
                                                  spids: [-1 23721]
                                                )
                                                (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: [23757]
                                                        )
                                                      ]
                                                      spids: [23757]
                                                    )
                                                  ]
                                                  spids: [23728 23754]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlself)
                                                      op: Equal
                                                      rhs: {(needless)}
                                                      spids: [23764]
                                                    )
                                                  ]
                                                  spids: [23764]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_dynamic)
                                                      op: Equal
                                                      rhs: {(yes)}
                                                      spids: [23768]
                                                    )
                                                  ]
                                                  spids: [23768]
                                                )
                                              ]
                                              spids: [23761 23772]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [23775]
                                                )
                                              ]
                                              spids: [23775]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [23704 23705 23781 -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 23801]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(dlprefiles)} 
                                                  {(DQ (" ") ($ VSub_Name "$arg"))}
                                                )
                                              ]
                                              spids: [23814 23827]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [23830]
                                                )
                                              ]
                                              spids: [23830]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [23784 23785 23836 -1]
                                        )
                                      ]
                                      spids: [23642 23646 23839]
                                    )
                                  ]
                                  spids: [23591 23594 23842 -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: [23849]
                                        )
                                      ]
                                      spids: [23849]
                                    )
                                    (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: [23877]
                                        )
                                      ]
                                      spids: [23877]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [23845 23846 23883 -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: [23890]
                                        )
                                      ]
                                      spids: [23890]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [23896]
                                        )
                                      ]
                                      spids: [23896]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [23886 23887 23902 -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: [23934 23941 23943 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(deplibs)} 
                                                      {
                                                        (DQ (" ") ($ VSub_Name "$qarg") (.ltframework))
                                                      }
                                                    )
                                                  ]
                                                  spids: [23946 23947 23963 -1]
                                                )
                                              ]
                                              spids: [23924 23931 23966]
                                            )
                                          ]
                                          spids: [23916 23921 23969 -1]
                                        )
                                      ]
                                      spids: [23909 23913 23972]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [23975]
                                        )
                                      ]
                                      spids: [23975]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [23905 23906 23981 -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: [23988]
                                        )
                                      ]
                                      spids: [23988]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [23994]
                                        )
                                      ]
                                      spids: [23994]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [23984 23985 24000 -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: [24021]
                                                )
                                              ]
                                              spids: [24021]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:moreargs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [24025]
                                                )
                                              ]
                                              spids: [24025]
                                            )
                                            (ForEach
                                              iter_name: fil
                                              iter_words: [
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (C {(cat)} {(DQ ($ VSub_Name "$save_arg"))})
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [24034 24040]
                                                  )
                                                }
                                              ]
                                              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: [24049]
                                                        )
                                                      ]
                                                      spids: [24049]
                                                    )
                                                    (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: [24074]
                                                                )
                                                              ]
                                                              spids: [24074]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:non_pic_object)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [24077]
                                                                )
                                                              ]
                                                              spids: [24077]
                                                            )
                                                            (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 24141]
                                                                )
                                                              ]
                                                              spids: [-1 24154]
                                                            )
                                                            (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: [24176]
                                                                )
                                                              ]
                                                              spids: [24176]
                                                            )
                                                            (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: [24204]
                                                                        )
                                                                      ]
                                                                      spids: [24204]
                                                                    )
                                                                    (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: [
24266
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [24266]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 24253]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: prev
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (
dlprefiles
                                                                                          )
                                                                                        }
                                                                                      spids: [24279]
                                                                                    )
                                                                                  ]
                                                                                  spids: [24279]
                                                                                )
                                                                              ]
                                                                              spids: [24272 24283]
                                                                            )
                                                                          ]
                                                                          spids: [-1 24225]
                                                                        )
                                                                      ]
                                                                      spids: [-1 24286]
                                                                    )
                                                                    (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: [24324]
                                                                                )
                                                                              ]
                                                                              spids: [24324]
                                                                            )
                                                                          ]
                                                                          spids: [-1 24307]
                                                                        )
                                                                      ]
                                                                      spids: [-1 24327]
                                                                    )
                                                                    (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: [24345]
                                                                        )
                                                                      ]
                                                                      spids: [24345]
                                                                    )
                                                                  ]
                                                                  spids: [-1 24197]
                                                                )
                                                              ]
                                                              spids: [-1 24351]
                                                            )
                                                            (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: [24380]
                                                                        )
                                                                      ]
                                                                      spids: [24380]
                                                                    )
                                                                    (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: [24429]
                                                                                )
                                                                              ]
                                                                              spids: [24429]
                                                                            )
                                                                          ]
                                                                          spids: [-1 24426]
                                                                        )
                                                                      ]
                                                                      spids: [-1 24435]
                                                                    )
                                                                  ]
                                                                  spids: [-1 24373]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: non_pic_object
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
"$pic_object"
                                                                            )
                                                                          )
                                                                        }
                                                                      spids: [24449]
                                                                    )
                                                                  ]
                                                                  spids: [24449]
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (" ") 
                                                                      ($ VSub_Name "$non_pic_object")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [24438 24465]
                                                            )
                                                          ]
                                                          spids: [-1 24071]
                                                        )
                                                      ]
                                                      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: [24501]
                                                                    )
                                                                  ]
                                                                  spids: [24501]
                                                                )
                                                                (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: [24515]
                                                                    )
                                                                  ]
                                                                  spids: [24515]
                                                                )
                                                                (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: [24522]
                                                                    )
                                                                  ]
                                                                  spids: [24522]
                                                                )
                                                                (C {(func_append)} {(libobjs)} 
                                                                  {
                                                                    (DQ (" ") 
                                                                      ($ VSub_Name "$pic_object")
                                                                    )
                                                                  }
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (" ") 
                                                                      ($ VSub_Name "$non_pic_object")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [-1 24480]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (C {(func_fatal_error)} 
                                                              {
                                                                (DQ 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar "\\`">
                                                                  ) ($ VSub_Name "$arg") ("' is not a valid libtool object")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [24547 24559]
                                                        )
                                                      ]
                                                      spids: [24468 24562]
                                                    )
                                                  ]
                                                  spids: [24043 24565]
                                                )
                                              spids: [24033 -1]
                                            )
                                          ]
                                          spids: [-1 24018]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("link input file ") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\`">
                                              ) ($ VSub_Name "$arg") ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [24568 24581]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: {($ VSub_Name "$save_arg")}
                                          spids: [24584]
                                        )
                                      ]
                                      spids: [24584]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24588]
                                        )
                                      ]
                                      spids: [24588]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24003 24004 24594 -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: [24601]
                                        )
                                      ]
                                      spids: [24601]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24607]
                                        )
                                      ]
                                      spids: [24607]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24597 24598 24613 -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: [24620]
                                        )
                                      ]
                                      spids: [24620]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24627]
                                        )
                                      ]
                                      spids: [24627]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24616 24617 24633 -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: [24655 24672 24674 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {(DQ ("only absolute run-paths are allowed"))}
                                            )
                                          ]
                                          spids: [24677 24678 24688 -1]
                                        )
                                      ]
                                      spids: [24648 24652 24691]
                                    )
                                    (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: [24720 24727 24729 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(rpath)} 
                                                      {(DQ (" ") ($ VSub_Name "$arg"))}
                                                    )
                                                  ]
                                                  spids: [24732 24733 24744 -1]
                                                )
                                              ]
                                              spids: [24710 24717 24747]
                                            )
                                          ]
                                          spids: [-1 24707]
                                        )
                                      ]
                                      else_action: [
                                        (Case
                                          to_match: {(DQ ($ VSub_Name "$xrpath") (" "))}
                                          arms: [
                                            (case_arm
                                              pat_list: [
                                                {(Lit_Other "*") 
                                                  (DQ (" ") ($ VSub_Name "$arg") (" ")) (Lit_Other "*")
                                                }
                                              ]
                                              spids: [24763 24770 24772 -1]
                                            )
                                            (case_arm
                                              pat_list: [{(Lit_Other "*")}]
                                              action: [
                                                (C {(func_append)} {(xrpath)} 
                                                  {(DQ (" ") ($ VSub_Name "$arg"))}
                                                )
                                              ]
                                              spids: [24775 24776 24787 -1]
                                            )
                                          ]
                                          spids: [24753 24760 24790]
                                        )
                                      ]
                                      spids: [24750 24793]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24796]
                                        )
                                      ]
                                      spids: [24796]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24636 24641 24802 -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: [24809]
                                        )
                                      ]
                                      spids: [24809]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [24815]
                                        )
                                      ]
                                      spids: [24815]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24805 24806 24821 -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: [24838]
                                        )
                                      ]
                                      spids: [24838]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24824 24825 24844 -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: [24871]
                                        )
                                      ]
                                      spids: [24871]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24847 24848 24897 -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: [24914]
                                        )
                                      ]
                                      spids: [24914]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24900 24901 24940 -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: [24968]
                                        )
                                      ]
                                      spids: [24968]
                                    )
                                    (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: [24943 24944 24996 -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: [25015]
                                        )
                                      ]
                                      spids: [25015]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24999 25000 25021 -1]
                                )
                              ]
                              spids: [23565 23569 25024]
                            )
                          ]
                          spids: [-1 23526]
                        )
                      ]
                      spids: [-1 25027]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:prevarg)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$arg"))}
                          spids: [25034]
                        )
                      ]
                      spids: [25034]
                    )
                    (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 25063]
                                )
                              ]
                              spids: [-1 25090]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25048 25049 25096 -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: [25100 25101 25116 -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: [25124]
                                )
                              ]
                              spids: [25124]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25120 25121 25131 -1]
                        )
                        (case_arm
                          pat_list: [{(-bindir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(bindir)}
                                  spids: [25139]
                                )
                              ]
                              spids: [25139]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25135 25136 25146 -1]
                        )
                        (case_arm
                          pat_list: [{(-dlopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlfiles)}
                                  spids: [25154]
                                )
                              ]
                              spids: [25154]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25150 25151 25161 -1]
                        )
                        (case_arm
                          pat_list: [{(-dlpreopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlprefiles)}
                                  spids: [25169]
                                )
                              ]
                              spids: [25169]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25165 25166 25176 -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: [25184]
                                )
                              ]
                              spids: [25184]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25180 25181 25191 -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 25224]
                                )
                              ]
                              spids: [-1 25234]
                            )
                            (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: [25256]
                                        )
                                      ]
                                      spids: [25256]
                                    )
                                  ]
                                  spids: [-1 25253]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {(expsyms_regex)}
                                      spids: [25263]
                                    )
                                  ]
                                  spids: [25263]
                                )
                              ]
                              spids: [25260 25267]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25195 25200 25273 -1]
                        )
                        (case_arm
                          pat_list: [{(-framework)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(framework)}
                                  spids: [25281]
                                )
                              ]
                              spids: [25281]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25277 25278 25288 -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: [25296]
                                )
                              ]
                              spids: [25296]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25292 25293 25303 -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: [25337 25352 25375 -1]
                                )
                              ]
                              spids: [25328 25334 25378]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25315 25325 25384 -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 25434]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("need path for ") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\`">
                                              ) ("-L' option")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [25449 25461]
                                    )
                                  ]
                                  spids: [-1 25418]
                                )
                              ]
                              spids: [-1 25464]
                            )
                            (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: [25474]
                                )
                              ]
                              spids: [25474]
                            )
                            (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: [25489 25506 25508 -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: [25516 25526]
                                              )
                                            }
                                          spids: [25515]
                                        )
                                      ]
                                      spids: [25515]
                                    )
                                    (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: [25551]
                                        )
                                      ]
                                      spids: [25551]
                                    )
                                  ]
                                  spids: [25511 25512 25557 -1]
                                )
                              ]
                              spids: [25482 25486 25560]
                            )
                            (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: [25573 25590 25597 -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: [25615 25637 25648 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(deplibs)} 
                                              {(DQ (" -L") ($ VSub_Name "$dir"))}
                                            )
                                          ]
                                          spids: [25651 25652 25663 -1]
                                        )
                                      ]
                                      spids: [25608 25612 25666]
                                    )
                                    (C {(func_append)} {(lib_search_path)} 
                                      {(DQ (" ") ($ VSub_Name "$dir"))}
                                    )
                                  ]
                                  spids: [25600 25601 25679 -1]
                                )
                              ]
                              spids: [25563 25570 25682]
                            )
                            (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: [25731 25745]
                                              )
                                            }
                                          spids: [25730]
                                        )
                                      ]
                                      spids: [25730]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (":") ($ VSub_Name "$dir") (":")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [25757 25764 25766 -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: [25773]
                                                )
                                              ]
                                              spids: [25773]
                                            )
                                          ]
                                          spids: [25769 25771 25775 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (":") ($ VSub_Name "$dir"))}
                                            )
                                          ]
                                          spids: [25778 25779 25789 -1]
                                        )
                                      ]
                                      spids: [25748 25754 25792]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") 
                                              (DQ (":") ($ VSub_Name "$testbindir") (":")) (Lit_Other "*")
                                            }
                                          ]
                                          spids: [25804 25811 25813 -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: [25820]
                                                )
                                              ]
                                              spids: [25820]
                                            )
                                          ]
                                          spids: [25816 25818 25822 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (":") ($ VSub_Name "$testbindir"))}
                                            )
                                          ]
                                          spids: [25825 25826 25836 -1]
                                        )
                                      ]
                                      spids: [25795 25801 25839]
                                    )
                                  ]
                                  spids: [25692 25727 25842 -1]
                                )
                              ]
                              spids: [25685 25689 25845]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25388 25390 25851 -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: [25901 25944 25954 -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: [25957 25962 25987 -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: [25990 26011 26036 -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: [26039 26054 26073 -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: [26076 26089 26114 -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: [26117 26146 26171 -1]
                                        )
                                      ]
                                      spids: [25894 25898 26174]
                                    )
                                  ]
                                  spids: [-1 25891]
                                )
                                (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: [26203 26224 26234 -1]
                                        )
                                      ]
                                      spids: [26196 26200 26237]
                                    )
                                  ]
                                  spids: [26177 26193]
                                )
                              ]
                              spids: [-1 26240]
                            )
                            (C {(func_append)} {(deplibs)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [25855 25857 26256 -1]
                        )
                        (case_arm
                          pat_list: [{(-module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:module)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [26264]
                                )
                              ]
                              spids: [26264]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26260 26261 26271 -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: [26327]
                                )
                              ]
                              spids: [26327]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26287 26294 26334 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(-mt)}
                            {(-mthreads)}
                            {(-kthread)}
                            {(-Kthread)}
                            {(-pthread)}
                            {(-pthreads)}
                            {(--thread-safe)}
                            {(-threads)}
                            {(-fopenmp)}
                            {(-openmp)}
                            {(-mp)}
                            {(-xopenmp)}
                            {(-omp)}
                            {(-qsmp) (Lit_Other "=") (Lit_Other "*")}
                          ]
                          action: [
                            (C {(func_append)} {(compiler_flags)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (C {(func_append)} {(compile_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (C {(func_append)} {(finalize_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (Case
                              to_match: {(DQ ($ VSub_Name "$new_inherited_linker_flags") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$arg") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  spids: [26413 26420 26422 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(new_inherited_linker_flags)} 
                                      {(DQ (" ") ($ VSub_Name "$arg"))}
                                    )
                                  ]
                                  spids: [26425 26427 26438 -1]
                                )
                              ]
                              spids: [26403 26410 26441]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26338 26370 26447 -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: [26455]
                                )
                              ]
                              spids: [26455]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26451 26452 26467 -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: [26475]
                                )
                              ]
                              spids: [26475]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26471 26472 26482 -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: [26569]
                                        )
                                      ]
                                      spids: [26569]
                                    )
                                  ]
                                  spids: [26497 26540 26573 -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: [26579]
                                        )
                                      ]
                                      spids: [26579]
                                    )
                                  ]
                                  spids: [26576 26577 26582 -1]
                                )
                              ]
                              spids: [26490 26494 26585]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26486 26487 26591 -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: [26599]
                                )
                              ]
                              spids: [26599]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26595 26596 26606 -1]
                        )
                        (case_arm
                          pat_list: [{(-objectlist)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(objectlist)}
                                  spids: [26614]
                                )
                              ]
                              spids: [26614]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26610 26611 26621 -1]
                        )
                        (case_arm
                          pat_list: [{(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(output)}
                                  spids: [26628]
                                )
                              ]
                              spids: [26628]
                            )
                          ]
                          spids: [26625 26626 26631 -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: [26639]
                                )
                              ]
                              spids: [26639]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26635 26636 26646 -1]
                        )
                        (case_arm
                          pat_list: [{(-release)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(release)}
                                  spids: [26654]
                                )
                              ]
                              spids: [26654]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26650 26651 26661 -1]
                        )
                        (case_arm
                          pat_list: [{(-rpath)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(rpath)}
                                  spids: [26669]
                                )
                              ]
                              spids: [26669]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26665 26666 26676 -1]
                        )
                        (case_arm
                          pat_list: [{(-R)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xrpath)}
                                  spids: [26684]
                                )
                              ]
                              spids: [26684]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26680 26681 26691 -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: [26714]
                                )
                              ]
                              spids: [26714]
                            )
                            (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: [26729 26746 26748 -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: [26770]
                                        )
                                      ]
                                      spids: [26770]
                                    )
                                  ]
                                  spids: [26751 26753 26775 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {(DQ ("only absolute run-paths are allowed"))}
                                    )
                                  ]
                                  spids: [26778 26779 26789 -1]
                                )
                              ]
                              spids: [26722 26726 26792]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name "$xrpath") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$dir") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  spids: [26805 26812 26814 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(xrpath)} {(DQ (" ") ($ VSub_Name "$dir"))})
                                  ]
                                  spids: [26817 26818 26829 -1]
                                )
                              ]
                              spids: [26795 26802 26832]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26695 26697 26838 -1]
                        )
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [26842 26843 26853 -1]
                        )
                        (case_arm
                          pat_list: [{(-shrext)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(shrext)}
                                  spids: [26861]
                                )
                              ]
                              spids: [26861]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26857 26858 26868 -1]
                        )
                        (case_arm
                          pat_list: [{(-static)} {(-static-libtool-libs)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [26872 26877 26903 -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: [26911]
                                )
                              ]
                              spids: [26911]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26907 26908 26918 -1]
                        )
                        (case_arm
                          pat_list: [{(-version-info)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [26926]
                                )
                              ]
                              spids: [26926]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26922 26923 26933 -1]
                        )
                        (case_arm
                          pat_list: [{(-version-number)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [26941]
                                )
                              ]
                              spids: [26941]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:vinfo_number)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [26945]
                                )
                              ]
                              spids: [26945]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26937 26938 26952 -1]
                        )
                        (case_arm
                          pat_list: [{(-weak)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(weak)}
                                  spids: [26960]
                                )
                              ]
                              spids: [26960]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [26956 26957 26967 -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: [26991]
                                )
                              ]
                              spids: [26991]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [26995]
                                )
                              ]
                              spids: [26995]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$IFS"))}
                                      spids: [26998]
                                    )
                                  ]
                                  spids: [26998]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <",">)}
                                  spids: [27004]
                                )
                              ]
                              spids: [27004]
                            )
                            (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: [27022]
                                        )
                                      ]
                                      spids: [27022]
                                    )
                                    (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: [27019 27055]
                                )
                              spids: [27015 27017]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                  spids: [27058]
                                )
                              ]
                              spids: [27058]
                            )
                            (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: [27078]
                                )
                              ]
                              spids: [27078]
                            )
                          ]
                          spids: [26971 26974 27082 -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: [27106]
                                )
                              ]
                              spids: [27106]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [27110]
                                )
                              ]
                              spids: [27110]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$IFS"))}
                                      spids: [27113]
                                    )
                                  ]
                                  spids: [27113]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <",">)}
                                  spids: [27119]
                                )
                              ]
                              spids: [27119]
                            )
                            (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: [27137]
                                        )
                                      ]
                                      spids: [27137]
                                    )
                                    (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: [27134 27182]
                                )
                              spids: [27130 27132]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                  spids: [27185]
                                )
                              ]
                              spids: [27185]
                            )
                            (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: [27205]
                                )
                              ]
                              spids: [27205]
                            )
                          ]
                          spids: [27086 27089 27209 -1]
                        )
                        (case_arm
                          pat_list: [{(-Xcompiler)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcompiler)}
                                  spids: [27217]
                                )
                              ]
                              spids: [27217]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [27213 27214 27224 -1]
                        )
                        (case_arm
                          pat_list: [{(-Xlinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xlinker)}
                                  spids: [27232]
                                )
                              ]
                              spids: [27232]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [27228 27229 27239 -1]
                        )
                        (case_arm
                          pat_list: [{(-XCClinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcclinker)}
                                  spids: [27247]
                                )
                              ]
                              spids: [27247]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [27243 27244 27254 -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: [27274]
                                )
                              ]
                              spids: [27274]
                            )
                          ]
                          spids: [27262 27264 27280 -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: [27432]
                                )
                              ]
                              spids: [27432]
                            )
                            (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: [27336 27422 27471 -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: [27496]
                                )
                              ]
                              spids: [27496]
                            )
                          ]
                          spids: [27479 27486 27502 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.) ($ VSub_Name "$objext")}]
                          action: [(C {(func_append)} {(objs)} {(DQ (" ") ($ VSub_Name "$arg"))})]
                          spids: [27506 27509 27526 -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: [27556]
                                        )
                                      ]
                                      spids: [27556]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:non_pic_object)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [27559]
                                        )
                                      ]
                                      spids: [27559]
                                    )
                                    (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 27623]
                                        )
                                      ]
                                      spids: [-1 27636]
                                    )
                                    (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: [27658]
                                        )
                                      ]
                                      spids: [27658]
                                    )
                                    (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: [27686]
                                                )
                                              ]
                                              spids: [27686]
                                            )
                                            (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: [27748]
                                                                )
                                                              ]
                                                              spids: [27748]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [-1 27735]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:prev)
                                                              op: Equal
                                                              rhs: {(dlprefiles)}
                                                              spids: [27761]
                                                            )
                                                          ]
                                                          spids: [27761]
                                                        )
                                                      ]
                                                      spids: [27754 27765]
                                                    )
                                                  ]
                                                  spids: [-1 27707]
                                                )
                                              ]
                                              spids: [-1 27768]
                                            )
                                            (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: [27806]
                                                        )
                                                      ]
                                                      spids: [27806]
                                                    )
                                                  ]
                                                  spids: [-1 27789]
                                                )
                                              ]
                                              spids: [-1 27809]
                                            )
                                            (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: [27827]
                                                )
                                              ]
                                              spids: [27827]
                                            )
                                          ]
                                          spids: [-1 27679]
                                        )
                                      ]
                                      spids: [-1 27833]
                                    )
                                    (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: [27862]
                                                )
                                              ]
                                              spids: [27862]
                                            )
                                            (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: [27911]
                                                        )
                                                      ]
                                                      spids: [27911]
                                                    )
                                                  ]
                                                  spids: [-1 27908]
                                                )
                                              ]
                                              spids: [-1 27917]
                                            )
                                          ]
                                          spids: [-1 27855]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:non_pic_object)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$pic_object"))}
                                              spids: [27931]
                                            )
                                          ]
                                          spids: [27931]
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (" ") ($ VSub_Name "$non_pic_object"))}
                                        )
                                      ]
                                      spids: [27920 27947]
                                    )
                                  ]
                                  spids: [-1 27553]
                                )
                              ]
                              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: [27983]
                                            )
                                          ]
                                          spids: [27983]
                                        )
                                        (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: [27997]
                                            )
                                          ]
                                          spids: [27997]
                                        )
                                        (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: [28004]
                                            )
                                          ]
                                          spids: [28004]
                                        )
                                        (C {(func_append)} {(libobjs)} 
                                          {(DQ (" ") ($ VSub_Name "$pic_object"))}
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (" ") ($ VSub_Name "$non_pic_object"))}
                                        )
                                      ]
                                      spids: [-1 27962]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                          ($ VSub_Name "$arg") ("' is not a valid libtool object")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [28029 28041]
                                )
                              ]
                              spids: [27950 28044]
                            )
                          ]
                          spids: [27530 27532 28047 -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: [28051 28054 28084 -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: [28135]
                                        )
                                      ]
                                      spids: [28135]
                                    )
                                  ]
                                  spids: [-1 28118]
                                )
                                (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: [28168]
                                        )
                                      ]
                                      spids: [28168]
                                    )
                                  ]
                                  spids: [28138 28151]
                                )
                              ]
                              else_action: [
                                (C {(func_append)} {(deplibs)} 
                                  {(DQ (" ") ($ VSub_Name "$func_resolve_sysroot_result"))}
                                )
                              ]
                              spids: [28171 28184]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [28088 28090 28190 -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: [28217]
                                )
                              ]
                              spids: [28217]
                            )
                          ]
                          spids: [28198 28199 28223 -1]
                        )
                      ]
                      spids: [25041 25045 28226]
                    )
                    (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 28248]
                        )
                      ]
                      spids: [-1 28271]
                    )
                  ]
                  spids: [23477 28274]
                )
            )
            (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 28327]
                )
              ]
              spids: [-1 28358]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:oldlibs) op:Equal rhs:{(SQ )} spids:[28362])]
              spids: [28362]
            )
            (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: [28376]
                )
              ]
              spids: [28376]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs_save)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$libobjs"))}
                  spids: [28382]
                )
              ]
              spids: [28382]
            )
            (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 28400]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:shlib_search_path)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [28439]
                    )
                  ]
                  spids: [28439]
                )
              ]
              spids: [28436 28442]
            )
            (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: [28476]
                )
              ]
              spids: [28476]
            )
            (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: [28491]
                )
              ]
              spids: [28491]
            )
            (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 28520 28530 -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: [28538]
                        )
                      ]
                      spids: [28538]
                    )
                  ]
                  spids: [28533 28536 28541 -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: [28554]
                        )
                      ]
                      spids: [28554]
                    )
                  ]
                  spids: [28544 28552 28557 -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: [28564]
                        )
                      ]
                      spids: [28564]
                    )
                  ]
                  spids: [28560 28562 28567 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(prog)}
                          spids: [28573]
                        )
                      ]
                      spids: [28573]
                    )
                  ]
                  spids: [28570 28571 28576 -1]
                )
              ]
              spids: [28511 28515 28582]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:specialdeplibs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28586]
                )
              ]
              spids: [28586]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(SQ )} spids:[28590])]
              spids: [28590]
            )
            (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: [28632 28639 28650 -1]
                                )
                              ]
                              spids: [28622 28629 28653]
                            )
                          ]
                          spids: [-1 28619]
                        )
                      ]
                      spids: [-1 28656]
                    )
                    (C {(func_append)} {(libs)} {(DQ (" ") ($ VSub_Name "$deplib"))})
                  ]
                  spids: [28610 28669]
                )
              spids: [28606 28608]
            )
            (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: [28689]
                        )
                      ]
                      spids: [28689]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [28714]
                        )
                      ]
                      spids: [28714]
                    )
                    (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: [28749 28756 28767 -1]
                                        )
                                      ]
                                      spids: [28739 28746 28770]
                                    )
                                    (C {(func_append)} {(pre_post_deps)} 
                                      {(DQ (" ") ($ VSub_Name "$pre_post_dep"))}
                                    )
                                  ]
                                  spids: [28736 28783]
                                )
                              spids: [28730 28734]
                            )
                          ]
                          spids: [-1 28722]
                        )
                      ]
                      spids: [-1 28786]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [28789]
                        )
                      ]
                      spids: [28789]
                    )
                  ]
                  spids: [-1 28686]
                )
              ]
              spids: [-1 28792]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:deplibs) op:Equal rhs:{(SQ )} spids:[28796])]
              spids: [28796]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newdependency_libs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28799]
                )
              ]
              spids: [28799]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newlib_search_path)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28802]
                )
              ]
              spids: [28802]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:need_relink) op:Equal rhs:{(no)} spids:[28805])]
              spids: [28805]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_deplibs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28812]
                )
              ]
              spids: [28812]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_path)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28818]
                )
              ]
              spids: [28818]
            )
            (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: [28836]
                        )
                      ]
                      spids: [28836]
                    )
                    (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: [28863 28865 28867 -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: [28870 28871 28884 -1]
                                )
                              ]
                              spids: [28856 28860 28887]
                            )
                          ]
                          spids: [28853 28890]
                        )
                      spids: [28847 28851]
                    )
                  ]
                  spids: [28832 28833 28893 -1]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [28900]
                        )
                      ]
                      spids: [28900]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_deplibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [28903]
                        )
                      ]
                      spids: [28903]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:alldeplibs)
                          op: Equal
                          rhs: {(no)}
                          spids: [28906]
                        )
                      ]
                      spids: [28906]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlfiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [28910]
                        )
                      ]
                      spids: [28910]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlprefiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [28913]
                        )
                      ]
                      spids: [28913]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ ("conv scan dlopen dlpreopen link"))}
                          spids: [28916]
                        )
                      ]
                      spids: [28916]
                    )
                  ]
                  spids: [28896 28897 28922 -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: [28928]
                        )
                      ]
                      spids: [28928]
                    )
                  ]
                  spids: [28925 28926 28934 -1]
                )
              ]
              spids: [28825 28829 28937]
            )
            (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: [28989]
                                )
                              ]
                              spids: [28989]
                            )
                            (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: [29004]
                                        )
                                      ]
                                      spids: [29004]
                                    )
                                  ]
                                  spids: [29001 29012]
                                )
                              spids: [28997 28999]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$tmp_deplibs"))}
                                  spids: [29015]
                                )
                              ]
                              spids: [29015]
                            )
                          ]
                          spids: [-1 28978]
                        )
                      ]
                      spids: [-1 29021]
                    )
                    (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: [29062]
                                )
                              ]
                              spids: [29062]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [29068]
                                )
                              ]
                              spids: [29068]
                            )
                          ]
                          spids: [-1 29059]
                        )
                      ]
                      spids: [-1 29071]
                    )
                    (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: [29100]
                                        )
                                      ]
                                      spids: [29100]
                                    )
                                  ]
                                  spids: [29097 29098 29105 -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: [29111]
                                        )
                                      ]
                                      spids: [29111]
                                    )
                                  ]
                                  spids: [29108 29109 29116 -1]
                                )
                                (case_arm
                                  pat_list: [{(link)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libs)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$deplibs") (" %DEPLIBS%"))}
                                          spids: [29123]
                                        )
                                      ]
                                      spids: [29123]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ (X) ($ VSub_Name "$link_all_deplibs"))} 
                                          {(KW_Bang "!") (Lit_Other "=")} {(Xno)}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:libs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$libs") (" ") 
                                                    ($ VSub_Name "$dependency_libs")
                                                  )
                                                }
                                              spids: [29144]
                                            )
                                          ]
                                          spids: [29144]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [29119 29120 29152 -1]
                                )
                              ]
                              spids: [29090 29094 29155]
                            )
                          ]
                          spids: [-1 29087]
                        )
                      ]
                      spids: [-1 29158]
                    )
                    (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: [29201]
                                        )
                                      ]
                                      spids: [29201]
                                    )
                                    (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: [29218 29220 29228 -1]
                                        )
                                      ]
                                      spids: [29211 29215 29231]
                                    )
                                    (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: [29262]
                                                )
                                              ]
                                              spids: [29262]
                                            )
                                            (Case
                                              to_match: {(DQ (" ") ($ VSub_Name "$weak_libs") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$deplib_base") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [29277 29284 29286 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(deplibs)} 
                                                      {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                    )
                                                  ]
                                                  spids: [29289 29290 29301 -1]
                                                )
                                              ]
                                              spids: [29266 29274 29304]
                                            )
                                          ]
                                          spids: [29252 29307]
                                        )
                                      spids: [29248 29250]
                                    )
                                  ]
                                  spids: [29194 29310]
                                )
                              spids: [29190 29192]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$dlprefiles"))}
                                  spids: [29313]
                                )
                              ]
                              spids: [29313]
                            )
                          ]
                          spids: [-1 29178]
                        )
                      ]
                      spids: [-1 29319]
                    )
                    (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: [29342]
                                )
                              ]
                              spids: [29342]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [29348]
                                )
                              ]
                              spids: [29348]
                            )
                          ]
                          spids: [-1 29335]
                        )
                      ]
                      spids: [-1 29351]
                    )
                    (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: [29367]
                                )
                              ]
                              spids: [29367]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:found)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [29370]
                                )
                              ]
                              spids: [29370]
                            )
                            (Case
                              to_match: {($ VSub_Name "$deplib")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(-mt)}
                                    {(-mthreads)}
                                    {(-kthread)}
                                    {(-Kthread)}
                                    {(-pthread)}
                                    {(-pthreads)}
                                    {(--thread-safe)}
                                    {(-threads)}
                                    {(-fopenmp)}
                                    {(-openmp)}
                                    {(-mp)}
                                    {(-xopenmp)}
                                    {(-omp)}
                                    {(-qsmp) (Lit_Other "=") (Lit_Other "*")}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} 
                                                  {
                                                    (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: [29436]
                                                )
                                              ]
                                              spids: [29436]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$finalize_deplibs")
                                                      )
                                                    }
                                                  spids: [29444]
                                                )
                                              ]
                                              spids: [29444]
                                            )
                                          ]
                                          spids: [-1 29433]
                                        )
                                      ]
                                      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: [29492 29499 29501 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} 
                                                          {(new_inherited_linker_flags)} {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                        )
                                                      ]
                                                      spids: [29504 29506 29517 -1]
                                                    )
                                                  ]
                                                  spids: [29482 29489 29520]
                                                )
                                              ]
                                              spids: [-1 29479]
                                            )
                                          ]
                                          spids: [-1 29523]
                                        )
                                      ]
                                      spids: [29452 29526]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29381 29413 29532 -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 29567]
                                        )
                                      ]
                                      spids: [-1 29581]
                                    )
                                    (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: [29598]
                                        )
                                      ]
                                      spids: [29598]
                                    )
                                    (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: [29618]
                                                )
                                              ]
                                              spids: [29618]
                                            )
                                          ]
                                          spids: [-1 29615]
                                        )
                                      ]
                                      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: [29635]
                                            )
                                          ]
                                          spids: [29635]
                                        )
                                      ]
                                      spids: [29632 29647]
                                    )
                                    (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: [29684]
                                                        )
                                                      ]
                                                      spids: [29684]
                                                    )
                                                    (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: [29729]
                                                                        )
                                                                      ]
                                                                      spids: [29729]
                                                                    )
                                                                  ]
                                                                  spids: [-1 29726]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:found)
                                                                      op: Equal
                                                                      rhs: {(no)}
                                                                      spids: [29736]
                                                                    )
                                                                  ]
                                                                  spids: [29736]
                                                                )
                                                              ]
                                                              spids: [29733 29740]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                              arg_word: {(2)}
                                                            )
                                                          ]
                                                          spids: [-1 29708]
                                                        )
                                                      ]
                                                      spids: [-1 29748]
                                                    )
                                                  ]
                                                  spids: [29677 29751]
                                                )
                                              spids: [29667 29675]
                                            )
                                          ]
                                          spids: [29659 29754]
                                        )
                                      spids: [29655 29657]
                                    )
                                    (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: [29798]
                                                        )
                                                      ]
                                                      spids: [29798]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                                ($ VSub_Name "$finalize_deplibs")
                                                              )
                                                            }
                                                          spids: [29806]
                                                        )
                                                      ]
                                                      spids: [29806]
                                                    )
                                                  ]
                                                  spids: [-1 29795]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$deplib") (" ") 
                                                            ($ VSub_Name "$deplibs")
                                                          )
                                                        }
                                                      spids: [29817]
                                                    )
                                                  ]
                                                  spids: [29817]
                                                )
                                                (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: [29837]
                                                        )
                                                      ]
                                                      spids: [29837]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              spids: [29814 29845]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [-1 29771]
                                        )
                                      ]
                                      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: [29920]
                                                                    )
                                                                  ]
                                                                  spids: [29920]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:old_library)
                                                                      op: Equal
                                                                      rhs: {(SQ )}
                                                                      spids: [29923]
                                                                    )
                                                                  ]
                                                                  spids: [29923]
                                                                )
                                                                (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: [29947]
                                                                            )
                                                                          ]
                                                                          spids: [29947]
                                                                        )
                                                                      ]
                                                                      spids: [29944 29953]
                                                                    )
                                                                  spids: [29938 29942]
                                                                )
                                                                (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: [29980]
                                                                            )
                                                                          ]
                                                                          spids: [29980]
                                                                        )
                                                                        (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: [29998]
                                                                            )
                                                                          ]
                                                                          spids: [29998]
                                                                        )
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: (LhsName name:lib)
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  ($ VSub_Name 
"$ladir"
                                                                                  ) (/) ($ VSub_Name "$old_library")
                                                                                }
                                                                              spids: [30004]
                                                                            )
                                                                          ]
                                                                          spids: [30004]
                                                                        )
                                                                        (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: [30030]
                                                                                    )
                                                                                  ]
                                                                                  spids: [30030]
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
finalize_deplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name "$deplib"
                                                                                            ) (" ") ($ VSub_Name "$finalize_deplibs")
                                                                                          )
                                                                                        }
                                                                                      spids: [30038]
                                                                                    )
                                                                                  ]
                                                                                  spids: [30038]
                                                                                )
                                                                              ]
                                                                              spids: [-1 30027]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: deplibs
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$deplib"
                                                                                        ) (" ") ($ VSub_Name "$deplibs")
                                                                                      )
                                                                                    }
                                                                                  spids: [30049]
                                                                                )
                                                                              ]
                                                                              spids: [30049]
                                                                            )
                                                                            (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: [30069]
                                                                                    )
                                                                                  ]
                                                                                  spids: [30069]
                                                                                )
                                                                              ]
                                                                              op_id: Op_DAmp
                                                                            )
                                                                          ]
                                                                          spids: [30046 30077]
                                                                        )
                                                                        (ControlFlow
                                                                          token: 
                                                                            <ControlFlow_Continue 
continue
                                                                            >
                                                                        )
                                                                      ]
                                                                      spids: [-1 29974]
                                                                    )
                                                                  ]
                                                                  spids: [-1 30083]
                                                                )
                                                              ]
                                                              spids: [-1 29917]
                                                            )
                                                          ]
                                                          spids: [-1 30086]
                                                        )
                                                      ]
                                                      spids: [29898 29905 30089 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      spids: [30092 30093 30095 -1]
                                                    )
                                                  ]
                                                  spids: [29885 29895 30098]
                                                )
                                              ]
                                              spids: [-1 29882]
                                            )
                                          ]
                                          spids: [-1 30101]
                                        )
                                      ]
                                      spids: [29851 30104]
                                    )
                                  ]
                                  spids: [29535 29537 30107 -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: [30138]
                                                )
                                              ]
                                              spids: [30138]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$finalize_deplibs")
                                                      )
                                                    }
                                                  spids: [30146]
                                                )
                                              ]
                                              spids: [30146]
                                            )
                                          ]
                                          spids: [-1 30135]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$deplib") (" ") 
                                                    ($ VSub_Name "$deplibs")
                                                  )
                                                }
                                              spids: [30157]
                                            )
                                          ]
                                          spids: [30157]
                                        )
                                        (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: [30192 30199 30201 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} 
                                                          {(new_inherited_linker_flags)} {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                        )
                                                      ]
                                                      spids: [30204 30206 30217 -1]
                                                    )
                                                  ]
                                                  spids: [30182 30189 30220]
                                                )
                                              ]
                                              spids: [-1 30179]
                                            )
                                          ]
                                          spids: [-1 30223]
                                        )
                                      ]
                                      spids: [30154 30226]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30113 30115 30232 -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: [30251]
                                                )
                                              ]
                                              spids: [30251]
                                            )
                                            (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: [30274]
                                                )
                                              ]
                                              spids: [30274]
                                            )
                                            (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: [30247 30248 30313 -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: [30336]
                                                        )
                                                      ]
                                                      spids: [30336]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [-1 30333]
                                                )
                                              ]
                                              spids: [-1 30347]
                                            )
                                            (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: [30366]
                                                        )
                                                      ]
                                                      spids: [30366]
                                                    )
                                                  ]
                                                  spids: [-1 30363]
                                                )
                                              ]
                                              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: [30377]
                                                    )
                                                  ]
                                                  spids: [30377]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$deplib") (" ") 
                                                            ($ VSub_Name "$finalize_deplibs")
                                                          )
                                                        }
                                                      spids: [30385]
                                                    )
                                                  ]
                                                  spids: [30385]
                                                )
                                              ]
                                              spids: [30374 30393]
                                            )
                                            (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: [30316 30317 30427 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                                  ("-L' is ignored for archives/objects")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [30430 30431 30442 -1]
                                        )
                                      ]
                                      spids: [30240 30244 30445]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30235 30237 30454 -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: [30502]
                                                )
                                              ]
                                              spids: [30502]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_Name "$xrpath") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$dir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [30520 30527 30529 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(xrpath)} 
                                                      {(DQ (" ") ($ VSub_Name "$dir"))}
                                                    )
                                                  ]
                                                  spids: [30532 30533 30544 -1]
                                                )
                                              ]
                                              spids: [30510 30517 30547]
                                            )
                                          ]
                                          spids: [-1 30478]
                                        )
                                      ]
                                      spids: [-1 30550]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                ($ VSub_Name "$deplibs")
                                              )
                                            }
                                          spids: [30553]
                                        )
                                      ]
                                      spids: [30553]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30460 30462 30564 -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: [30579]
                                        )
                                      ]
                                      spids: [30579]
                                    )
                                  ]
                                  spids: [30567 30569 30583 -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: [30608]
                                                )
                                              ]
                                              spids: [30608]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [-1 30605]
                                        )
                                      ]
                                      spids: [-1 30619]
                                    )
                                    (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: [30652 30659 30661 -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: [30668]
                                                        )
                                                      ]
                                                      spids: [30668]
                                                    )
                                                    (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: [30695 30711]
                                                                      )
                                                                    }
                                                                  spids: [30694]
                                                                )
                                                              ]
                                                              spids: [30694]
                                                            )
                                                            (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: [30726]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (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: [30745]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          negated: False
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: valid_a_lib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(yes)}
                                                                          spids: [30753]
                                                                        )
                                                                      ]
                                                                      spids: [30753]
                                                                    )
                                                                  ]
                                                                  spids: [-1 30750]
                                                                )
                                                              ]
                                                              spids: [-1 30757]
                                                            )
                                                          ]
                                                          spids: [30679 30681 30760 -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: [30767]
                                                                )
                                                              ]
                                                              spids: [30767]
                                                            )
                                                          ]
                                                          spids: [30763 30764 30771 -1]
                                                        )
                                                      ]
                                                      spids: [30672 30676 30774]
                                                    )
                                                    (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 30791]
                                                        )
                                                      ]
                                                      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: [30867]
                                                            )
                                                          ]
                                                          spids: [30867]
                                                        )
                                                      ]
                                                      spids: [30843 30875]
                                                    )
                                                  ]
                                                  spids: [30664 30665 30878 -1]
                                                )
                                              ]
                                              spids: [30641 30649 30881]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [30629 30630 30887 -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: [30911]
                                                        )
                                                      ]
                                                      spids: [30911]
                                                    )
                                                  ]
                                                  spids: [-1 30908]
                                                )
                                              ]
                                              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: [30922]
                                                    )
                                                  ]
                                                  spids: [30922]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$deplib") (" ") 
                                                            ($ VSub_Name "$finalize_deplibs")
                                                          )
                                                        }
                                                      spids: [30930]
                                                    )
                                                  ]
                                                  spids: [30930]
                                                )
                                              ]
                                              spids: [30919 30938]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [30890 30891 30944 -1]
                                        )
                                      ]
                                      spids: [30622 30626 30947]
                                    )
                                  ]
                                  spids: [30586 30589 30953 -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: [30986]
                                                )
                                              ]
                                              spids: [30986]
                                            )
                                          ]
                                          spids: [-1 30983]
                                        )
                                        (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: [31069]
                                                        )
                                                      ]
                                                      spids: [31069]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                                ($ VSub_Name "$finalize_deplibs")
                                                              )
                                                            }
                                                          spids: [31077]
                                                        )
                                                      ]
                                                      spids: [31077]
                                                    )
                                                  ]
                                                  spids: [-1 31048]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlfiles)} 
                                                  {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                )
                                              ]
                                              spids: [31085 31098]
                                            )
                                          ]
                                          spids: [30994 31007]
                                        )
                                      ]
                                      spids: [-1 31101]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30959 30967 31107 -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: [31116]
                                        )
                                      ]
                                      spids: [31116]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [31110 31113 31123 -1]
                                )
                              ]
                              spids: [29374 29378 31126]
                            )
                            (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 31156]
                                )
                              ]
                              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: [31161 31177]
                            )
                            (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: [31219]
                                )
                              ]
                              spids: [31219]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31226]
                                )
                              ]
                              spids: [31226]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlopen)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31229]
                                )
                              ]
                              spids: [31229]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlpreopen)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31232]
                                )
                              ]
                              spids: [31232]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31235]
                                )
                              ]
                              spids: [31235]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31238]
                                )
                              ]
                              spids: [31238]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31241]
                                )
                              ]
                              spids: [31241]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:inherited_linker_flags)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31244]
                                )
                              ]
                              spids: [31244]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:installed)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [31255]
                                )
                              ]
                              spids: [31255]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shouldnotlink)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [31259]
                                )
                              ]
                              spids: [31259]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoidtemprpath)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31263]
                                )
                              ]
                              spids: [31263]
                            )
                            (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: [31299 31313]
                                              )
                                            }
                                          spids: [31298]
                                        )
                                      ]
                                      spids: [31298]
                                    )
                                    (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: [31339 31346 31348 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(new_inherited_linker_flags)} 
                                                      {
                                                        (DQ (" ") 
                                                          ($ VSub_Name "$tmp_inherited_linker_flag")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [31351 31352 31362 -1]
                                                )
                                              ]
                                              spids: [31328 31336 31365]
                                            )
                                          ]
                                          spids: [31325 31368]
                                        )
                                      spids: [31321 31323]
                                    )
                                  ]
                                  spids: [-1 31295]
                                )
                              ]
                              spids: [-1 31371]
                            )
                            (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: [31375 31390]
                                      )
                                    }
                                  spids: [31374]
                                )
                              ]
                              spids: [31374]
                            )
                            (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: [31429]
                                                )
                                              ]
                                              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 31459]
                                )
                              ]
                              spids: [-1 31502]
                            )
                            (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: [31526]
                                        )
                                      ]
                                      spids: [31526]
                                    )
                                    (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 31559]
                                                )
                                              ]
                                              spids: [-1 31572]
                                            )
                                            (C {(func_append)} {(convenience)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$ladir") (/) 
                                                  ($ VSub_Name "$objdir") (/) ($ VSub_Name "$old_library")
                                                )
                                              }
                                            )
                                            (C {(func_append)} {(old_convenience)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$ladir") (/) 
                                                  ($ VSub_Name "$objdir") (/) ($ VSub_Name "$old_library")
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [31607]
                                                )
                                              ]
                                              spids: [31607]
                                            )
                                            (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: [31622]
                                                        )
                                                      ]
                                                      spids: [31622]
                                                    )
                                                    (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: [31649 31656 31667 -1]
                                                                )
                                                              ]
                                                              spids: [31639 31646 31670]
                                                            )
                                                          ]
                                                          spids: [-1 31636]
                                                        )
                                                      ]
                                                      spids: [-1 31673]
                                                    )
                                                    (C {(func_append)} {(tmp_libs)} 
                                                      {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                    )
                                                  ]
                                                  spids: [31619 31686]
                                                )
                                              spids: [31615 31617]
                                            )
                                          ]
                                          spids: [-1 31545]
                                        )
                                        (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: [31689 31716]
                                        )
                                      ]
                                      spids: [-1 31728]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 31519]
                                )
                              ]
                              spids: [-1 31734]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linklib)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [31746]
                                )
                              ]
                              spids: [31746]
                            )
                            (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: [31762]
                                            )
                                          ]
                                          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: [31798]
                                        )
                                      ]
                                      spids: [31798]
                                    )
                                  ]
                                  spids: [-1 31795]
                                )
                              ]
                              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: [31819]
                                            )
                                          ]
                                          spids: [31819]
                                        )
                                      ]
                                      spids: [31816 31825]
                                    )
                                  spids: [31810 31814]
                                )
                              ]
                              spids: [31802 31828]
                            )
                            (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 31842]
                                )
                              ]
                              spids: [-1 31855]
                            )
                            (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 31890]
                                        )
                                      ]
                                      spids: [-1 31903]
                                    )
                                    (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 31944]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_append)} {(newdlfiles)} 
                                          {(DQ (" ") ($ VSub_Name "$lib"))}
                                        )
                                      ]
                                      spids: [31975 31988]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 31876]
                                )
                              ]
                              spids: [-1 31994]
                            )
                            (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: [32031]
                                        )
                                      ]
                                      spids: [32031]
                                    )
                                  ]
                                  spids: [32012 32029 32036 -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: [32044 32054]
                                              )
                                            }
                                          spids: [32043]
                                        )
                                      ]
                                      spids: [32043]
                                    )
                                    (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: [32088]
                                                )
                                              ]
                                              spids: [32088]
                                            )
                                          ]
                                          spids: [-1 32068]
                                        )
                                      ]
                                      spids: [-1 32094]
                                    )
                                  ]
                                  spids: [32039 32040 32097 -1]
                                )
                              ]
                              spids: [32005 32009 32100]
                            )
                            (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: [32110]
                                )
                              ]
                              spids: [32110]
                            )
                            (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: [32179]
                                                )
                                              ]
                                              spids: [32179]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:absdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$abs_ladir"))}
                                                  spids: [32185]
                                                )
                                              ]
                                              spids: [32185]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$abs_ladir"))}
                                                  spids: [32191]
                                                )
                                              ]
                                              spids: [32191]
                                            )
                                          ]
                                          spids: [-1 32166]
                                        )
                                      ]
                                      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: [32200]
                                            )
                                          ]
                                          spids: [32200]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$lt_sysroot") 
                                                    ($ VSub_Name "$libdir")
                                                  )
                                                }
                                              spids: [32207]
                                            )
                                          ]
                                          spids: [32207]
                                        )
                                      ]
                                      spids: [32197 32214]
                                    )
                                    (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: [32230]
                                            )
                                          ]
                                          spids: [32230]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 32135]
                                )
                              ]
                              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: [32269]
                                            )
                                          ]
                                          spids: [32269]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$abs_ladir"))}
                                              spids: [32275]
                                            )
                                          ]
                                          spids: [32275]
                                        )
                                        (C {(func_append)} {(notinst_path)} 
                                          {(DQ (" ") ($ VSub_Name "$abs_ladir"))}
                                        )
                                      ]
                                      spids: [-1 32266]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: 
                                            {(DQ ($ VSub_Name "$ladir") (/) ($ VSub_Name "$objdir"))}
                                          spids: [32298]
                                        )
                                      ]
                                      spids: [32298]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$abs_ladir") (/) 
                                                ($ VSub_Name "$objdir")
                                              )
                                            }
                                          spids: [32306]
                                        )
                                      ]
                                      spids: [32306]
                                    )
                                    (C {(func_append)} {(notinst_path)} 
                                      {(DQ (" ") ($ VSub_Name "$abs_ladir"))}
                                    )
                                  ]
                                  spids: [32295 32328]
                                )
                              ]
                              spids: [32234 32331]
                            )
                            (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: [32352]
                                )
                              ]
                              spids: [32352]
                            )
                            (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 32400]
                                        )
                                      ]
                                      spids: [-1 32413]
                                    )
                                    (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 32491]
                                                )
                                              ]
                                              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: [32528 32575]
                                            )
                                          ]
                                          spids: [32429 32445 32578 -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 32605]
                                                )
                                                (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: [32656 32667]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {
                                                    (DQ (" ") ($ VSub_Name "$dir") (/) 
                                                      ($ VSub_Name "$linklib")
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [32682 32697]
                                            )
                                          ]
                                          spids: [32581 32583 32700 -1]
                                        )
                                      ]
                                      spids: [32416 32422 32703]
                                    )
                                  ]
                                  spids: [-1 32374]
                                )
                              ]
                              spids: [-1 32706]
                            )
                            (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: [32747]
                                                )
                                              ]
                                              spids: [32747]
                                            )
                                          ]
                                          spids: [-1 32744]
                                        )
                                        (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: [32777]
                                                )
                                              ]
                                              spids: [32777]
                                            )
                                            (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: [32787]
                                                )
                                              ]
                                              spids: [32787]
                                            )
                                          ]
                                          spids: [32757 32774]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$lib") (" ") 
                                                    ($ VSub_Name "$deplibs")
                                                  )
                                                }
                                              spids: [32800]
                                            )
                                          ]
                                          spids: [32800]
                                        )
                                      ]
                                      spids: [32797 32811]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 32724]
                                )
                              ]
                              spids: [-1 32817]
                            )
                            (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: [32861]
                                        )
                                      ]
                                      spids: [32861]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linkalldeplibs)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [32870]
                                        )
                                      ]
                                      spids: [32870]
                                    )
                                    (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: [32914]
                                                )
                                              ]
                                              spids: [32914]
                                            )
                                          ]
                                          spids: [-1 32911]
                                        )
                                      ]
                                      spids: [-1 32918]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [32922]
                                        )
                                      ]
                                      spids: [32922]
                                    )
                                    (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: [32944 32946 32979 -1]
                                                )
                                              ]
                                              spids: [32937 32941 32982]
                                            )
                                            (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: [33005]
                                                        )
                                                      ]
                                                      spids: [33005]
                                                    )
                                                  ]
                                                  spids: [-1 33002]
                                                )
                                              ]
                                              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: [33024]
                                                    )
                                                  ]
                                                  spids: [33024]
                                                )
                                              ]
                                              spids: [33013 33032]
                                            )
                                            (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: [33054 33061 33072 -1]
                                                        )
                                                      ]
                                                      spids: [33044 33051 33075]
                                                    )
                                                  ]
                                                  spids: [-1 33041]
                                                )
                                              ]
                                              spids: [-1 33078]
                                            )
                                            (C {(func_append)} {(tmp_libs)} 
                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                            )
                                          ]
                                          spids: [32934 33091]
                                        )
                                      spids: [32930 32932]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 32848]
                                )
                              ]
                              spids: [-1 33100]
                            )
                            (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: [33142]
                                                                )
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name "$old_library"))}
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      spids: [33140]
                                                    )
                                                  ]
                                                  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: [33235 33241 33243 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(temp_rpath)} 
                                                              {(DQ ($ VSub_Name "$absdir") (":"))}
                                                            )
                                                          ]
                                                          spids: [33246 33247 33258 -1]
                                                        )
                                                      ]
                                                      spids: [33225 33232 33261]
                                                    )
                                                  ]
                                                  spids: [-1 33218]
                                                )
                                              ]
                                              spids: [-1 33264]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") ($ VSub_Name "$sys_lib_dlsearch_path") 
                                                    (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$absdir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [33291 33298 33300 -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: [33317 33324 33326 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(compile_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$absdir"))}
                                                            )
                                                          ]
                                                          spids: [33329 33330 33341 -1]
                                                        )
                                                      ]
                                                      spids: [33307 33314 33344]
                                                    )
                                                  ]
                                                  spids: [33303 33304 33347 -1]
                                                )
                                              ]
                                              spids: [33280 33288 33350]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") ($ VSub_Name "$sys_lib_dlsearch_path") 
                                                    (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$libdir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [33364 33371 33373 -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: [33390 33397 33399 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                                            )
                                                          ]
                                                          spids: [33402 33403 33414 -1]
                                                        )
                                                      ]
                                                      spids: [33380 33387 33417]
                                                    )
                                                  ]
                                                  spids: [33376 33377 33420 -1]
                                                )
                                              ]
                                              spids: [33353 33361 33423]
                                            )
                                          ]
                                          spids: [-1 33189]
                                        )
                                      ]
                                      spids: [-1 33426]
                                    )
                                    (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: [33463]
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      spids: [33448]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [-1 33493]
                                        )
                                      ]
                                      spids: [-1 33503]
                                    )
                                  ]
                                  spids: [-1 33124]
                                )
                              ]
                              spids: [-1 33506]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_static)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [33510]
                                )
                              ]
                              spids: [33510]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:use_static_libs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$prefer_static_libs")}
                                  spids: [33517]
                                )
                              ]
                              spids: [33517]
                            )
                            (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: [33549]
                                        )
                                      ]
                                      spids: [33549]
                                    )
                                  ]
                                  spids: [-1 33546]
                                )
                              ]
                              spids: [-1 33553]
                            )
                            (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: [33569]
                                            )
                                          ]
                                          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: [33637]
                                                )
                                              ]
                                              spids: [33637]
                                            )
                                          ]
                                          spids: [33605 33620 33641 -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: [33674]
                                                        )
                                                      ]
                                                      spids: [33674]
                                                    )
                                                  ]
                                                  spids: [-1 33661]
                                                )
                                              ]
                                              spids: [-1 33678]
                                            )
                                          ]
                                          spids: [33644 33645 33681 -1]
                                        )
                                      ]
                                      spids: [33598 33602 33684]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlopenmodule)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [33700]
                                        )
                                      ]
                                      spids: [33700]
                                    )
                                    (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: [33737]
                                                        )
                                                      ]
                                                      spids: [33737]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [-1 33734]
                                                )
                                              ]
                                              spids: [-1 33746]
                                            )
                                          ]
                                          spids: [33714 33749]
                                        )
                                      spids: [33710 33712]
                                    )
                                    (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 33806]
                                                )
                                              ]
                                              else_action: [
                                                (C {($ VSub_Name "$ECHO")} 
                                                  {
                                                    (DQ ("*** Warning: Linking the shared library ") 
                                                      ($ VSub_Name "$output") (" against the loadable module")
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [33818 33830]
                                            )
                                            (C {($ VSub_Name "$ECHO")} 
                                              {
                                                (DQ ("*** ") ($ VSub_Name "$linklib") 
                                                  (" is not portable!")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 33787]
                                        )
                                      ]
                                      spids: [-1 33842]
                                    )
                                    (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: [33897 33904 33906 -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: [33923 33930 33932 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(compile_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$absdir"))}
                                                            )
                                                          ]
                                                          spids: [33935 33936 33947 -1]
                                                        )
                                                      ]
                                                      spids: [33913 33920 33950]
                                                    )
                                                  ]
                                                  spids: [33909 33910 33953 -1]
                                                )
                                              ]
                                              spids: [33886 33894 33956]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") ($ VSub_Name "$sys_lib_dlsearch_path") 
                                                    (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$libdir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [33970 33977 33979 -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: [33996 34003 34005 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                                            )
                                                          ]
                                                          spids: [34008 34009 34020 -1]
                                                        )
                                                      ]
                                                      spids: [33986 33993 34023]
                                                    )
                                                  ]
                                                  spids: [33982 33983 34026 -1]
                                                )
                                              ]
                                              spids: [33959 33967 34029]
                                            )
                                          ]
                                          spids: [-1 33871]
                                        )
                                      ]
                                      spids: [-1 34032]
                                    )
                                    (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: [34064]
                                                )
                                              ]
                                              spids: [34064]
                                            )
                                            (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: [34074 34085]
                                                      )
                                                    }
                                                  spids: [34073]
                                                )
                                              ]
                                              spids: [34073]
                                            )
                                            (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: [34106]
                                                        )
                                                      ]
                                                      spids: [34106]
                                                    )
                                                  ]
                                                  spids: [-1 34103]
                                                )
                                                (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: [34163]
                                                                )
                                                              ]
                                                              spids: [34163]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:versuffix)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-) ($ VSub_Name "$major"))}
                                                                  spids: [34167]
                                                                )
                                                              ]
                                                              spids: [34167]
                                                            )
                                                          ]
                                                          spids: [34137 34151 34174 -1]
                                                        )
                                                      ]
                                                      spids: [34130 34134 34177]
                                                    )
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "soname=") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\\"">
                                                        ) ($ VSub_Name "$soname_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                      }
                                                    )
                                                  ]
                                                  spids: [34112 34123]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:soname)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name "$realname"))}
                                                      spids: [34191]
                                                    )
                                                  ]
                                                  spids: [34191]
                                                )
                                              ]
                                              spids: [34188 34197]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:soroot)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$soname"))}
                                                  spids: [34205]
                                                )
                                              ]
                                              spids: [34205]
                                            )
                                            (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: [34218]
                                                )
                                              ]
                                              spids: [34218]
                                            )
                                            (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: [34239]
                                                )
                                              ]
                                              spids: [34239]
                                            )
                                            (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 34264]
                                                )
                                              ]
                                              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: [34269 34293]
                                            )
                                            (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 34314]
                                                )
                                              ]
                                              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: [34319 34343]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$output_objdir")}
                                                  spids: [34350]
                                                )
                                              ]
                                              spids: [34350]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linklib)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$newlib")}
                                                  spids: [34354]
                                                )
                                              ]
                                              spids: [34354]
                                            )
                                          ]
                                          spids: [-1 34047]
                                        )
                                      ]
                                      spids: [-1 34358]
                                    )
                                    (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: [34394]
                                                )
                                              ]
                                              spids: [34394]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [34397]
                                                )
                                              ]
                                              spids: [34397]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [34400]
                                                )
                                              ]
                                              spids: [34400]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib_linked)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [34403]
                                                )
                                              ]
                                              spids: [34403]
                                            )
                                            (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: [34438]
                                                                )
                                                              ]
                                                              spids: [34438]
                                                            )
                                                            (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: [34463]
                                                                        )
                                                                      ]
                                                                      spids: [34463]
                                                                    )
                                                                  ]
                                                                  spids: [34453 34461 34469 -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: [34481]
                                                                        )
                                                                      ]
                                                                      spids: [34481]
                                                                    )
                                                                  ]
                                                                  spids: [34472 34479 34487 -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: [34522]
                                                                        )
                                                                      ]
                                                                      spids: [34522]
                                                                    )
                                                                  ]
                                                                  spids: [34490 34520 34528 -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: [
34556
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          ($ 
VSub_Name "$GREP"
                                                                                          )
                                                                                        }
                                                                                        {
                                                                                          (DQ 
                                                                                            (
": [^:]* bundle"
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: -1
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
34569
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  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
34619
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      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: [
34642
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
34642
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
34639
34650
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 34595]
                                                                                )
                                                                                (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: [
34667
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [34667]
                                                                                    )
                                                                                  ]
                                                                                  spids: [34653 34664]
                                                                                )
                                                                              ]
                                                                              spids: [-1 34675]
                                                                            )
                                                                          ]
                                                                          spids: [-1 34574]
                                                                        )
                                                                      ]
                                                                      spids: [-1 34678]
                                                                    )
                                                                  ]
                                                                  spids: [34531 34537 -1 34681]
                                                                )
                                                              ]
                                                              spids: [34446 34450 34681]
                                                            )
                                                          ]
                                                          spids: [-1 34435]
                                                        )
                                                        (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: [34714]
                                                                        )
                                                                      ]
                                                                      spids: [34714]
                                                                    )
                                                                  ]
                                                                  spids: [34707 34712 34719 -1]
                                                                )
                                                              ]
                                                              spids: [34700 34704 34722]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(DQ (-L) ($ VSub_Name "$dir"))}
                                                                  spids: [34725]
                                                                )
                                                              ]
                                                              spids: [34725]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name "$name"))}
                                                                  spids: [34732]
                                                                )
                                                              ]
                                                              spids: [34732]
                                                            )
                                                          ]
                                                          spids: [34684 34697]
                                                        )
                                                        (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: [34755]
                                                                )
                                                              ]
                                                              spids: [34755]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name "$name"))}
                                                                  spids: [34761]
                                                                )
                                                              ]
                                                              spids: [34761]
                                                            )
                                                          ]
                                                          spids: [34739 34752]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [34771]
                                                            )
                                                          ]
                                                          spids: [34771]
                                                        )
                                                      ]
                                                      spids: [34768 34775]
                                                    )
                                                  ]
                                                  spids: [34414 34419 34778 -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: [34814]
                                                                )
                                                              ]
                                                              spids: [34814]
                                                            )
                                                          ]
                                                          spids: [-1 34811]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
"$hardcode_minus_L"
                                                                      )
                                                                    )
                                                                  } {(Lit_Other "=")} {(yes)}
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ (-L) ($ VSub_Name "$absdir"))
                                                                    }
                                                                  spids: [34838]
                                                                )
                                                              ]
                                                              spids: [34838]
                                                            )
                                                            (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: [34870 34875 34889 -1]
                                                                        )
                                                                      ]
                                                                      spids: [34863 34867 34892]
                                                                    )
                                                                  ]
                                                                  spids: [-1 34860]
                                                                )
                                                              ]
                                                              spids: [-1 34895]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name "$name"))}
                                                                  spids: [34898]
                                                                )
                                                              ]
                                                              spids: [34898]
                                                            )
                                                          ]
                                                          spids: [34822 34835]
                                                        )
                                                        (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: [34921]
                                                                )
                                                              ]
                                                              spids: [34921]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name "$name"))}
                                                                  spids: [34927]
                                                                )
                                                              ]
                                                              spids: [34927]
                                                            )
                                                          ]
                                                          spids: [34905 34918]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [34937]
                                                            )
                                                          ]
                                                          spids: [34937]
                                                        )
                                                      ]
                                                      spids: [34934 34941]
                                                    )
                                                  ]
                                                  spids: [34781 34782 34944 -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: [34950]
                                                        )
                                                      ]
                                                      spids: [34950]
                                                    )
                                                  ]
                                                  spids: [34947 34948 34953 -1]
                                                )
                                              ]
                                              spids: [34407 34411 34956]
                                            )
                                            (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 34974]
                                                )
                                              ]
                                              spids: [-1 34984]
                                            )
                                            (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: [35011 35018 35020 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(compile_shlibpath)} 
                                                              {
                                                                (DQ ($ VSub_Name "$add_shlibpath") 
                                                                  (":")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [35023 35024 35035 -1]
                                                        )
                                                      ]
                                                      spids: [35002 35008 35038]
                                                    )
                                                  ]
                                                  spids: [-1 34999]
                                                )
                                              ]
                                              spids: [-1 35041]
                                            )
                                            (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: [35070]
                                                            )
                                                          ]
                                                          spids: [35070]
                                                        )
                                                      ]
                                                      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: [35088]
                                                            )
                                                          ]
                                                          spids: [35088]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 35057]
                                                )
                                              ]
                                              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: [35109]
                                                        )
                                                      ]
                                                      spids: [35109]
                                                    )
                                                  ]
                                                  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: [35127]
                                                        )
                                                      ]
                                                      spids: [35127]
                                                    )
                                                  ]
                                                  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: [35188 35195 35197 -1]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other "*")}]
                                                              action: [
                                                                (C {(func_append)} 
                                                                  {(finalize_shlibpath)} {(DQ ($ VSub_Name "$libdir") (":"))}
                                                                )
                                                              ]
                                                              spids: [35200 35201 35212 -1]
                                                            )
                                                          ]
                                                          spids: [35179 35185 35215]
                                                        )
                                                      ]
                                                      spids: [-1 35176]
                                                    )
                                                  ]
                                                  spids: [-1 35218]
                                                )
                                              ]
                                              spids: [35096 35221]
                                            )
                                          ]
                                          spids: [-1 34391]
                                        )
                                      ]
                                      spids: [-1 35224]
                                    )
                                    (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: [35256]
                                                )
                                              ]
                                              spids: [35256]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [35259]
                                                )
                                              ]
                                              spids: [35259]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [35262]
                                                )
                                              ]
                                              spids: [35262]
                                            )
                                            (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: [35298]
                                                        )
                                                      ]
                                                      spids: [35298]
                                                    )
                                                  ]
                                                  spids: [-1 35295]
                                                )
                                                (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: [35322]
                                                        )
                                                      ]
                                                      spids: [35322]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(DQ (-l) ($ VSub_Name "$name"))}
                                                          spids: [35329]
                                                        )
                                                      ]
                                                      spids: [35329]
                                                    )
                                                  ]
                                                  spids: [35306 35319]
                                                )
                                                (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: [35361 35368 35370 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_shlibpath)} 
                                                              {(DQ ($ VSub_Name "$libdir") (":"))}
                                                            )
                                                          ]
                                                          spids: [35373 35374 35385 -1]
                                                        )
                                                      ]
                                                      spids: [35352 35358 35388]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(DQ (-l) ($ VSub_Name "$name"))}
                                                          spids: [35391]
                                                        )
                                                      ]
                                                      spids: [35391]
                                                    )
                                                  ]
                                                  spids: [35336 35349]
                                                )
                                                (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: [35443]
                                                                )
                                                              ]
                                                              spids: [35443]
                                                            )
                                                          ]
                                                          spids: [-1 35440]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:add)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name "$libdir") (/) 
                                                                    ($ VSub_Name "$linklib")
                                                                  )
                                                                }
                                                              spids: [35455]
                                                            )
                                                          ]
                                                          spids: [35455]
                                                        )
                                                      ]
                                                      spids: [35452 35463]
                                                    )
                                                  ]
                                                  spids: [35398 35411]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add_dir)
                                                      op: Equal
                                                      rhs: {(DQ (-L) ($ VSub_Name "$libdir"))}
                                                      spids: [35473]
                                                    )
                                                  ]
                                                  spids: [35473]
                                                )
                                                (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: [35505 35510 35524 -1]
                                                            )
                                                          ]
                                                          spids: [35498 35502 35527]
                                                        )
                                                      ]
                                                      spids: [-1 35495]
                                                    )
                                                  ]
                                                  spids: [-1 35530]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add)
                                                      op: Equal
                                                      rhs: {(DQ (-l) ($ VSub_Name "$name"))}
                                                      spids: [35533]
                                                    )
                                                  ]
                                                  spids: [35533]
                                                )
                                              ]
                                              spids: [35466 35540]
                                            )
                                            (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: [35570]
                                                            )
                                                          ]
                                                          spids: [35570]
                                                        )
                                                      ]
                                                      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: [35588]
                                                            )
                                                          ]
                                                          spids: [35588]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 35557]
                                                )
                                              ]
                                              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: [35609]
                                                        )
                                                      ]
                                                      spids: [35609]
                                                    )
                                                  ]
                                                  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: [35627]
                                                        )
                                                      ]
                                                      spids: [35627]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              spids: [35596 35635]
                                            )
                                          ]
                                          spids: [-1 35253]
                                        )
                                      ]
                                      spids: [-1 35638]
                                    )
                                  ]
                                  spids: [-1 33595]
                                )
                                (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: [35696]
                                                    )
                                                  ]
                                                  spids: [35696]
                                                )
                                              ]
                                              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: [35702]
                                                )
                                              ]
                                              spids: [35702]
                                            )
                                            (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: [35712]
                                                )
                                              ]
                                              spids: [35712]
                                            )
                                          ]
                                          spids: [-1 35683]
                                        )
                                      ]
                                      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: [35725]
                                            )
                                          ]
                                          spids: [35725]
                                        )
                                        (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: [35736]
                                            )
                                          ]
                                          spids: [35736]
                                        )
                                      ]
                                      spids: [35722 35747]
                                    )
                                  ]
                                  spids: [35641 35654]
                                )
                                (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 35885]
                                                        )
                                                      ]
                                                      spids: [-1 35923]
                                                    )
                                                    (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: [35942]
                                                                )
                                                              ]
                                                              spids: [35942]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:build_old_libs)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [35946]
                                                                )
                                                              ]
                                                              spids: [35946]
                                                            )
                                                          ]
                                                          spids: [-1 35939]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [35953]
                                                            )
                                                          ]
                                                          spids: [35953]
                                                        )
                                                      ]
                                                      spids: [35950 35957]
                                                    )
                                                  ]
                                                  spids: [-1 35850]
                                                )
                                              ]
                                              spids: [-1 35960]
                                            )
                                          ]
                                          spids: [-1 35784]
                                        )
                                      ]
                                      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: [35966]
                                            )
                                          ]
                                          spids: [35966]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:link_static)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [35976]
                                            )
                                          ]
                                          spids: [35976]
                                        )
                                      ]
                                      spids: [35963 35980]
                                    )
                                  ]
                                  spids: [35750 35763]
                                )
                              ]
                              spids: [-1 35983]
                            )
                            (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: [36019]
                                                    )
                                                  ]
                                                  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: [36069]
                                                )
                                              ]
                                              spids: [36069]
                                            )
                                            (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: [36109]
                                                                )
                                                              ]
                                                              spids: [36109]
                                                            )
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (" ") ($ VSub_Name "$xrpath") 
                                                                    (" ")
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") 
                                                                      (DQ (" ") 
                                                                        ($ VSub_Name "$temp_xrpath") (" ")
                                                                      ) (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  spids: [36124 36131 36133 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (C {(func_append)} {(xrpath)} 
                                                                      {
                                                                        (DQ (" ") 
                                                                          ($ VSub_Name "$temp_xrpath")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [36136 36137 36147 -1]
                                                                )
                                                              ]
                                                              spids: [36113 36121 36150]
                                                            )
                                                          ]
                                                          spids: [36091 36093 36151 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(temp_deplibs)} 
                                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                                            )
                                                          ]
                                                          spids: [36154 36155 36165 -1]
                                                        )
                                                      ]
                                                      spids: [36084 36088 36168]
                                                    )
                                                  ]
                                                  spids: [36081 36171]
                                                )
                                              spids: [36077 36079]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$temp_deplibs"))}
                                                  spids: [36174]
                                                )
                                              ]
                                              spids: [36174]
                                            )
                                          ]
                                          spids: [-1 36062]
                                        )
                                      ]
                                      spids: [-1 36180]
                                    )
                                    (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: [36210]
                                            )
                                          ]
                                          spids: [36210]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [36224]
                                        )
                                      ]
                                      spids: [36224]
                                    )
                                    (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: [36239]
                                                )
                                              ]
                                              spids: [36239]
                                            )
                                            (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: [36254 36256 36277 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_resolve_sysroot)} 
                                                      {(DQ ($ VSub_Name "$deplib"))}
                                                    )
                                                  ]
                                                  spids: [36280 36281 36289 -1]
                                                )
                                              ]
                                              spids: [36247 36251 36292]
                                            )
                                            (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: [36314 36321 36333 -1]
                                                        )
                                                      ]
                                                      spids: [36304 36311 36336]
                                                    )
                                                  ]
                                                  spids: [-1 36301]
                                                )
                                              ]
                                              spids: [-1 36339]
                                            )
                                            (C {(func_append)} {(tmp_libs)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$func_resolve_sysroot_result"))
                                              }
                                            )
                                          ]
                                          spids: [36236 36352]
                                        )
                                      spids: [36232 36234]
                                    )
                                    (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: [36389]
                                                        )
                                                      ]
                                                      spids: [36389]
                                                    )
                                                    (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: [36403]
                                                                )
                                                              ]
                                                              spids: [36403]
                                                            )
                                                          ]
                                                          spids: [36399 36401 36408 -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: [36423]
                                                                )
                                                              ]
                                                              spids: [36423]
                                                            )
                                                            (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: [36441]
                                                                )
                                                              ]
                                                              spids: [36441]
                                                            )
                                                            (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: [36475]
                                                                        )
                                                                      ]
                                                                      spids: [36475]
                                                                    )
                                                                  ]
                                                                  spids: [36456 36473 36480 -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: [36488 36498]
                                                                              )
                                                                            }
                                                                          spids: [36487]
                                                                        )
                                                                      ]
                                                                      spids: [36487]
                                                                    )
                                                                    (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: [36525]
                                                                                )
                                                                              ]
                                                                              spids: [36525]
                                                                            )
                                                                          ]
                                                                          spids: [-1 36512]
                                                                        )
                                                                      ]
                                                                      spids: [-1 36531]
                                                                    )
                                                                  ]
                                                                  spids: [36483 36484 36534 -1]
                                                                )
                                                              ]
                                                              spids: [36449 36453 36537]
                                                            )
                                                            (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: [36550]
                                                                            )
                                                                          ]
                                                                        )
                                                                      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: [36573]
                                                                                )
                                                                              ]
                                                                              spids: [36573]
                                                                            )
                                                                            (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: [36579 36593]
                                                                                )
                                                                              }
                                                                            )
                                                                            (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: [
36624
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
36624
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
36621
36628
                                                                                          ]
                                                                                        )
                                                                                      spids: [
36616
36619
                                                                                      ]
                                                                                    )
                                                                                    (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: [
36650
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
36650
                                                                                              ]
                                                                                            )
                                                                                            (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: [
36661
36677
                                                                                                        ]
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
36660
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
36660
                                                                                              ]
                                                                                            )
                                                                                            (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: [
36695
36711
                                                                                                                ]
                                                                                                              )
                                                                                                            }
                                                                                                          spids: [
36694
                                                                                                          ]
                                                                                                        )
                                                                                                      ]
                                                                                                      spids: [
36694
                                                                                                      ]
                                                                                                    )
                                                                                                  ]
                                                                                                  spids: [
-1
36691
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
-1
36714
                                                                                              ]
                                                                                            )
                                                                                            (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: [
36756
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
36756
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
-1
36647
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
-1
36759
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 36608]
                                                                                )
                                                                              ]
                                                                              spids: [-1 36762]
                                                                            )
                                                                          ]
                                                                          spids: [36565 36570 36765 -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: [36772]
                                                                                )
                                                                              ]
                                                                              spids: [36772]
                                                                            )
                                                                          ]
                                                                          spids: [36768 36769 36781 -1]
                                                                        )
                                                                      ]
                                                                      spids: [36558 36562 36784]
                                                                    )
                                                                  ]
                                                                  spids: [-1 36555]
                                                                )
                                                              ]
                                                              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: [36793 36807]
                                                                    )
                                                                  }
                                                                )
                                                                (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: [36858]
                                                                    )
                                                                  ]
                                                                  spids: [36858]
                                                                )
                                                              ]
                                                              spids: [36787 36865]
                                                            )
                                                          ]
                                                          spids: [36411 36413 36868 -1]
                                                        )
                                                      ]
                                                      spids: [36392 36396 36871]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (" ") ($ VSub_Name "$deplibs") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$path") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          spids: [36885 36892 36894 -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: [36900]
                                                                )
                                                              ]
                                                              spids: [36900]
                                                            )
                                                          ]
                                                          spids: [36897 36898 36907 -1]
                                                        )
                                                      ]
                                                      spids: [36874 36882 36910]
                                                    )
                                                  ]
                                                  spids: [36386 36913]
                                                )
                                              spids: [36382 36384]
                                            )
                                          ]
                                          spids: [-1 36370]
                                        )
                                      ]
                                      spids: [-1 36916]
                                    )
                                  ]
                                  spids: [-1 36003]
                                )
                              ]
                              spids: [-1 36922]
                            )
                          ]
                          spids: [29364 36928]
                        )
                      spids: [29360 29362]
                    )
                    (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: [36968]
                                        )
                                      ]
                                      spids: [36968]
                                    )
                                    (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: [36976]
                                        )
                                      ]
                                      spids: [36976]
                                    )
                                  ]
                                  spids: [-1 36965]
                                )
                              ]
                              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: [36992 37007]
                                          )
                                        }
                                      spids: [36987]
                                    )
                                  ]
                                  spids: [36987]
                                )
                              ]
                              spids: [36984 37010]
                            )
                          ]
                          spids: [-1 36947]
                        )
                      ]
                      spids: [-1 37013]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$newdependency_libs"))}
                          spids: [37016]
                        )
                      ]
                      spids: [37016]
                    )
                    (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: [37054]
                                        )
                                      ]
                                      spids: [37054]
                                    )
                                  ]
                                  spids: [37051 37062]
                                )
                              spids: [37047 37049]
                            )
                          ]
                          spids: [-1 37035]
                        )
                      ]
                      spids: [-1 37065]
                    )
                    (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: [37106]
                                        )
                                      ]
                                      spids: [37106]
                                    )
                                    (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: [37131 37138 37140 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(lib_search_path)} 
                                                      {(DQ (" ") ($ VSub_Name "$dir"))}
                                                    )
                                                  ]
                                                  spids: [37143 37144 37155 -1]
                                                )
                                              ]
                                              spids: [37121 37128 37158]
                                            )
                                          ]
                                          spids: [37118 37161]
                                        )
                                      spids: [37114 37116]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [37164]
                                        )
                                      ]
                                      spids: [37164]
                                    )
                                  ]
                                  spids: [-1 37099]
                                )
                              ]
                              spids: [-1 37167]
                            )
                            (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: [37192]
                                        )
                                      ]
                                      spids: [37192]
                                    )
                                  ]
                                  spids: [-1 37189]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:vars)
                                      op: Equal
                                      rhs: {(DQ ("compile_deplibs finalize_deplibs"))}
                                      spids: [37201]
                                    )
                                  ]
                                  spids: [37201]
                                )
                              ]
                              spids: [37198 37207]
                            )
                            (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: [37237]
                                        )
                                      ]
                                      spids: [37237]
                                    )
                                    (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: [37287]
                                                        )
                                                      ]
                                                      spids: [37287]
                                                    )
                                                  ]
                                                  spids: [37283 37285 37294 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(-R) (Lit_Other "*")}]
                                                  spids: [37297 37299 37301 -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: [37384]
                                                                )
                                                              ]
                                                              spids: [37384]
                                                            )
                                                          ]
                                                          spids: [37375 37382 37391 -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: [37409 37416 37418 -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: [37424]
                                                                        )
                                                                      ]
                                                                      spids: [37424]
                                                                    )
                                                                  ]
                                                                  spids: [37421 37422 37431 -1]
                                                                )
                                                              ]
                                                              spids: [37398 37406 37434]
                                                            )
                                                          ]
                                                          spids: [37394 37395 37437 -1]
                                                        )
                                                      ]
                                                      spids: [37364 37372 37440]
                                                    )
                                                  ]
                                                  spids: [37304 37305 37443 -1]
                                                )
                                              ]
                                              spids: [37276 37280 37446]
                                            )
                                          ]
                                          spids: [37249 37449]
                                        )
                                      spids: [37245 37247]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [37452]
                                        )
                                      ]
                                      spids: [37452]
                                    )
                                    (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: [37490 37497 37499 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(tmp_libs)} 
                                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                            )
                                                          ]
                                                          spids: [37502 37503 37514 -1]
                                                        )
                                                      ]
                                                      spids: [37479 37487 37517]
                                                    )
                                                  ]
                                                  spids: [37474 37476 37520 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(tmp_libs)} 
                                                      {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                    )
                                                  ]
                                                  spids: [37523 37524 37535 -1]
                                                )
                                              ]
                                              spids: [37467 37471 37538]
                                            )
                                          ]
                                          spids: [37464 37541]
                                        )
                                      spids: [37460 37462]
                                    )
                                    (C {(eval)} 
                                      {($ VSub_Name "$var") (Lit_Other "=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) ($ VSub_Name "$tmp_libs") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                      }
                                    )
                                  ]
                                  spids: [37221 37553]
                                )
                              spids: [37215 37219]
                            )
                          ]
                          spids: [-1 37082]
                        )
                      ]
                      spids: [-1 37559]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tmp_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [37570]
                        )
                      ]
                      spids: [37570]
                    )
                    (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: [37611]
                                        )
                                      ]
                                      spids: [37611]
                                    )
                                  ]
                                  spids: [37601 37608 37616 -1]
                                )
                              ]
                              spids: [37586 37598 37619]
                            )
                            (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 37634]
                                )
                              ]
                              spids: [-1 37647]
                            )
                          ]
                          spids: [37583 37650]
                        )
                      spids: [37578 37581]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name "$tmp_libs")}
                          spids: [37653]
                        )
                      ]
                      spids: [37653]
                    )
                  ]
                  spids: [28950 37657]
                )
              spids: [28946 28948]
            )
            (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: [37679]
                        )
                      ]
                      spids: [37679]
                    )
                  ]
                  spids: [-1 37676]
                )
              ]
              spids: [-1 37685]
            )
            (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: [37716]
                        )
                      ]
                      spids: [37716]
                    )
                  ]
                  spids: [-1 37713]
                )
              ]
              spids: [-1 37722]
            )
            (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 37762]
                        )
                      ]
                      spids: [-1 37773]
                    )
                    (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: [37787 37798 37810 -1]
                        )
                      ]
                      spids: [37777 37784 37813]
                    )
                    (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: [37927]
                        )
                      ]
                      spids: [37927]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$output"))}
                          spids: [37931]
                        )
                      ]
                      spids: [37931]
                    )
                    (C {(func_append)} {(objs)} {(DQ ($ VSub_Name "$old_deplibs"))})
                  ]
                  spids: [37733 37734 37946 -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: [37985]
                                )
                              ]
                              spids: [37985]
                            )
                            (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: [37965 37967 38005 -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: [38074]
                                        )
                                      ]
                                      spids: [38074]
                                    )
                                    (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 38053]
                                )
                              ]
                              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: [38111]
                                    )
                                  ]
                                  spids: [38111]
                                )
                              ]
                              spids: [38094 38115]
                            )
                          ]
                          spids: [38008 38009 38118 -1]
                        )
                      ]
                      spids: [37958 37962 38121]
                    )
                    (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 38153]
                                )
                              ]
                              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: [38167 38201]
                            )
                          ]
                          spids: [-1 38136]
                        )
                      ]
                      spids: [-1 38204]
                    )
                    (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: [38266]
                        )
                      ]
                      spids: [38266]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [38273]
                        )
                      ]
                      spids: [38273]
                    )
                    (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: [38322]
                                        )
                                      ]
                                      spids: [38322]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_libtool_libs)
                                          op: Equal
                                          rhs: {(convenience)}
                                          spids: [38334]
                                        )
                                      ]
                                      spids: [38334]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_old_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [38338]
                                        )
                                      ]
                                      spids: [38338]
                                    )
                                  ]
                                  spids: [-1 38303]
                                )
                              ]
                              spids: [-1 38342]
                            )
                            (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 38287]
                        )
                      ]
                      else_action: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_ifs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$IFS"))}
                                  spids: [38395]
                                )
                              ]
                              spids: [38395]
                            )
                          terminator: <Op_Semi ";">
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(SQ <":">)}
                              spids: [38401]
                            )
                          ]
                          spids: [38401]
                        )
                        (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: [38423]
                            )
                          ]
                          spids: [38423]
                        )
                        (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: [38476]
                                    )
                                  ]
                                  spids: [38476]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_minor)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number "$2"))}
                                      spids: [38482]
                                    )
                                  ]
                                  spids: [38482]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_revision)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number "$3"))}
                                      spids: [38488]
                                    )
                                  ]
                                  spids: [38488]
                                )
                                (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: [38554]
                                            )
                                          ]
                                          spids: [38554]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_minor"))}
                                              spids: [38558]
                                            )
                                          ]
                                          spids: [38558]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_revision"))}
                                              spids: [38564]
                                            )
                                          ]
                                          spids: [38564]
                                        )
                                      ]
                                      spids: [38533 38542 38570 -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: [38583]
                                            )
                                          ]
                                          spids: [38583]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_minor"))}
                                              spids: [38589]
                                            )
                                          ]
                                          spids: [38589]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ (0))}
                                              spids: [38595]
                                            )
                                          ]
                                          spids: [38595]
                                        )
                                      ]
                                      spids: [38573 38580 38601 -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: [38619]
                                            )
                                          ]
                                          spids: [38619]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_minor"))}
                                              spids: [38623]
                                            )
                                          ]
                                          spids: [38623]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_minor"))}
                                              spids: [38629]
                                            )
                                          ]
                                          spids: [38629]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:lt_irix_increment)
                                              op: Equal
                                              rhs: {(no)}
                                              spids: [38635]
                                            )
                                          ]
                                          spids: [38635]
                                        )
                                      ]
                                      spids: [38604 38607 38639 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other "*")}]
                                      action: [
                                        (C {(func_fatal_configuration)} 
                                          {
                                            (DQ ($ VSub_Name "$modename") 
                                              (": unknown library version type ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ($ VSub_Name "$version_type") ("'")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [38642 38643 38657 -1]
                                    )
                                  ]
                                  spids: [38522 38526 38660]
                                )
                              ]
                              spids: [38472 38473 38663 -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: [38670]
                                    )
                                  ]
                                  spids: [38670]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:revision)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number "$2"))}
                                      spids: [38676]
                                    )
                                  ]
                                  spids: [38676]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:age)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number "$3"))}
                                      spids: [38682]
                                    )
                                  ]
                                  spids: [38682]
                                )
                              ]
                              spids: [38666 38667 38688 -1]
                            )
                          ]
                          spids: [38465 38469 38691]
                        )
                        (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: [38706 38757 38759 -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: [38762 38763 38785 -1]
                            )
                          ]
                          spids: [38699 38703 38788]
                        )
                        (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: [38799 38850 38852 -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: [38855 38856 38878 -1]
                            )
                          ]
                          spids: [38792 38796 38881]
                        )
                        (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: [38892 38943 38945 -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: [38948 38949 38971 -1]
                            )
                          ]
                          spids: [38885 38889 38974]
                        )
                        (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 38993]
                            )
                          ]
                          spids: [-1 39018]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:major)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [39026]
                            )
                          ]
                          spids: [39026]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:versuffix)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [39029]
                            )
                          ]
                          spids: [39029]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:verstring)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [39032]
                            )
                          ]
                          spids: [39032]
                        )
                        (Case
                          to_match: {($ VSub_Name "$version_type")}
                          arms: [
                            (case_arm
                              pat_list: [{(none)}]
                              spids: [39042 39043 39045 -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: [39070]
                                    )
                                  ]
                                  spids: [39070]
                                )
                                (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: [39075]
                                    )
                                  ]
                                  spids: [39075]
                                )
                                (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: [39098]
                                    )
                                  ]
                                  spids: [39098]
                                )
                                (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: [39102]
                                    )
                                  ]
                                  spids: [39102]
                                )
                                (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: [39126]
                                    )
                                  ]
                                  spids: [39126]
                                )
                              ]
                              spids: [39049 39050 39137 -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: [39145]
                                    )
                                  ]
                                  spids: [39145]
                                )
                                (Sentence
                                  child: 
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ (.) ($ VSub_Name "$current") (.) 
                                                ($ VSub_Name "$revision")
                                              )
                                            }
                                          spids: [39152]
                                        )
                                      ]
                                      spids: [39152]
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              spids: [39141 39142 39162 -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: [39170]
                                    )
                                  ]
                                  spids: [39170]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name "$current"))}
                                      spids: [39177]
                                    )
                                  ]
                                  spids: [39177]
                                )
                              ]
                              spids: [39166 39167 39184 -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 39212]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_arith)} {($ VSub_Name "$current")} {(-)} 
                                      {($ VSub_Name "$age")} {(Lit_Other "+")} {(1)}
                                    )
                                  ]
                                  spids: [39224 39240]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name "$func_arith_result")}
                                      spids: [39243]
                                    )
                                  ]
                                  spids: [39243]
                                )
                                (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: [39258]
                                            )
                                          ]
                                          spids: [39258]
                                        )
                                      ]
                                      spids: [39255 39256 39261 -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: [39267]
                                            )
                                          ]
                                          spids: [39267]
                                        )
                                      ]
                                      spids: [39264 39265 39270 -1]
                                    )
                                  ]
                                  spids: [39248 39252 39273]
                                )
                                (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: [39276]
                                    )
                                  ]
                                  spids: [39276]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name "$revision")}
                                      spids: [39290]
                                    )
                                  ]
                                  spids: [39290]
                                )
                                (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: [39319]
                                            )
                                          ]
                                          spids: [39319]
                                        )
                                        (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: [39332]
                                            )
                                          ]
                                          spids: [39332]
                                        )
                                        (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: [39336]
                                            )
                                          ]
                                          spids: [39336]
                                        )
                                      ]
                                      spids: [39307 39347]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name "$major")}
                                      spids: [39355]
                                    )
                                  ]
                                  spids: [39355]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$major") (.) ($ VSub_Name "$revision"))}
                                      spids: [39360]
                                    )
                                  ]
                                  spids: [39360]
                                )
                              ]
                              spids: [39188 39193 39368 -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: [39388]
                                    )
                                  ]
                                  spids: [39388]
                                )
                                (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: [39393]
                                    )
                                  ]
                                  spids: [39393]
                                )
                              ]
                              spids: [39372 39373 39403 -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: [39420]
                                    )
                                  ]
                                  spids: [39420]
                                )
                                (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: [39425]
                                    )
                                  ]
                                  spids: [39425]
                                )
                                (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: [39436]
                                    )
                                  ]
                                  spids: [39436]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name "$age")}
                                      spids: [39451]
                                    )
                                  ]
                                  spids: [39451]
                                )
                                (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: [39480]
                                            )
                                          ]
                                          spids: [39480]
                                        )
                                        (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: [39493]
                                            )
                                          ]
                                          spids: [39493]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$verstring") (":") 
                                                    (${ VSub_Name iface) (.0)
                                                  )
                                                }
                                              spids: [39497]
                                            )
                                          ]
                                          spids: [39497]
                                        )
                                      ]
                                      spids: [39468 39508]
                                    )
                                )
                                (C {(func_append)} {(verstring)} {(DQ (":") (${ VSub_Name current) (.0))})
                              ]
                              spids: [39407 39408 39529 -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: [39537]
                                    )
                                  ]
                                  spids: [39537]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name "$current"))}
                                      spids: [39544]
                                    )
                                  ]
                                  spids: [39544]
                                )
                              ]
                              spids: [39533 39534 39551 -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: [39559]
                                    )
                                  ]
                                  spids: [39559]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ (.) ($ VSub_Name "$current") (.) ($ VSub_Name "$revision"))
                                        }
                                      spids: [39566]
                                    )
                                  ]
                                  spids: [39566]
                                )
                              ]
                              spids: [39555 39556 39575 -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: [39600]
                                    )
                                  ]
                                  spids: [39600]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (-) ($ VSub_Name "$major"))}
                                      spids: [39604]
                                    )
                                  ]
                                  spids: [39604]
                                )
                              ]
                              spids: [39579 39580 39611 -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: [39615 39616 39629 -1]
                            )
                          ]
                          spids: [39035 39039 39632]
                        )
                        (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: [39664]
                                    )
                                  ]
                                  spids: [39664]
                                )
                                (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: [39686]
                                            )
                                          ]
                                          spids: [39686]
                                        )
                                      ]
                                      spids: [39674 39675 39689 -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: [39696]
                                            )
                                          ]
                                          spids: [39696]
                                        )
                                      ]
                                      spids: [39692 39693 39702 -1]
                                    )
                                  ]
                                  spids: [39667 39671 39705]
                                )
                                (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: [39724]
                                            )
                                          ]
                                          spids: [39724]
                                        )
                                      ]
                                      spids: [-1 39721]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: {(DQ (.0.0))}
                                          spids: [39730]
                                        )
                                      ]
                                      spids: [39730]
                                    )
                                  ]
                                  spids: [39727 39736]
                                )
                              ]
                              spids: [-1 39661]
                            )
                          ]
                          spids: [-1 39739]
                        )
                        (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: [39775]
                                    )
                                  ]
                                  spids: [39775]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [39778]
                                    )
                                  ]
                                  spids: [39778]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: {(DQ )}
                                      spids: [39781]
                                    )
                                  ]
                                  spids: [39781]
                                )
                              ]
                              spids: [-1 39772]
                            )
                          ]
                          spids: [-1 39786]
                        )
                        (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: [39835]
                                            )
                                          ]
                                          spids: [39835]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:build_old_libs)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [39839]
                                            )
                                          ]
                                          spids: [39839]
                                        )
                                      ]
                                      spids: [-1 39823]
                                    )
                                  ]
                                  spids: [-1 39843]
                                )
                              ]
                              spids: [-1 39807]
                            )
                          ]
                          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: [39853]
                                )
                              ]
                              spids: [39853]
                            )
                          ]
                          spids: [39846 39859]
                        )
                      ]
                      spids: [38387 39863]
                    )
                    (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: [39907]
                            )
                          ]
                          spids: [39907]
                        )
                      ]
                      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: [39936]
                                )
                              ]
                              spids: [39936]
                            )
                            (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: [39940 39947]
                                      )
                                    }
                                  spids: [39939]
                                )
                              ]
                              spids: [39939]
                            )
                            (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: [39969 39977 39980 -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: [40048]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [40051]
                                                                    )
                                                                  ]
                                                                )
                                                              ]
                                                              negated: False
                                                            )
                                                          ]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [-1 40055]
                                                        )
                                                      ]
                                                      spids: [-1 40061]
                                                    )
                                                  ]
                                                  spids: [-1 40027]
                                                )
                                              ]
                                              spids: [-1 40064]
                                            )
                                            (C {(func_append)} {(removelist)} 
                                              {(DQ (" ") ($ VSub_Name "$p"))}
                                            )
                                          ]
                                          spids: [39983 40007 40077 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          spids: [40080 40081 40083 -1]
                                        )
                                      ]
                                      spids: [39962 39966 40086]
                                    )
                                  ]
                                  spids: [39959 40089]
                                )
                              spids: [39955 39957]
                            )
                            (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 39925]
                        )
                      ]
                      spids: [-1 40116]
                    )
                    (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: [40178 40207]
                                      )
                                    }
                                  spids: [40173]
                                )
                              ]
                              spids: [40173]
                            )
                          ]
                          spids: [-1 40151]
                        )
                      ]
                      spids: [-1 40210]
                    )
                    (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: [40257]
                                )
                              ]
                              spids: [40257]
                            )
                            (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: [40299 40306 40308 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(finalize_rpath)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [40311 40312 40323 -1]
                                        )
                                      ]
                                      spids: [40289 40296 40326]
                                    )
                                  ]
                                  spids: [40269 40329]
                                )
                              spids: [40265 40267]
                            )
                            (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: [40361]
                                        )
                                      ]
                                      spids: [40361]
                                    )
                                  ]
                                  spids: [-1 40358]
                                )
                              ]
                              spids: [-1 40369]
                            )
                          ]
                          spids: [-1 40250]
                        )
                      ]
                      spids: [-1 40372]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$dlfiles"))}
                          spids: [40380]
                        )
                      ]
                      spids: [40380]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlfiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [40386]
                        )
                      ]
                      spids: [40386]
                    )
                    (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: [40414 40421 40423 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(dlfiles)} {(DQ (" ") ($ VSub_Name "$lib"))})
                                  ]
                                  spids: [40426 40427 40438 -1]
                                )
                              ]
                              spids: [40401 40411 40441]
                            )
                          ]
                          spids: [40398 40444]
                        )
                      spids: [40394 40396]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlprefiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$dlprefiles"))}
                          spids: [40452]
                        )
                      ]
                      spids: [40452]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [40458]
                        )
                      ]
                      spids: [40458]
                    )
                    (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: [40483 40490 40492 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(dlprefiles)} {(DQ (" ") ($ VSub_Name "$lib"))})
                                  ]
                                  spids: [40495 40496 40507 -1]
                                )
                              ]
                              spids: [40473 40480 40510]
                            )
                          ]
                          spids: [40470 40513]
                        )
                      spids: [40466 40468]
                    )
                    (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: [40554 40605 40612 -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: [40615 40630 40646 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-netbsd) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [40649 40654 40661 -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: [40664 40685 40692 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sco3.2v5) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sco5v6) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [40695 40708 40715 -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: [40718 40747 40754 -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 40780]
                                                )
                                              ]
                                              spids: [-1 40792]
                                            )
                                          ]
                                          spids: [40757 40758 40795 -1]
                                        )
                                      ]
                                      spids: [40547 40551 40798]
                                    )
                                  ]
                                  spids: [-1 40544]
                                )
                              ]
                              spids: [-1 40801]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$name")}
                                  spids: [40809]
                                )
                              ]
                              spids: [40809]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$libname")}
                                  spids: [40813]
                                )
                              ]
                              spids: [40813]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$release")}
                                  spids: [40817]
                                )
                              ]
                              spids: [40817]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$versuffix")}
                                  spids: [40821]
                                )
                              ]
                              spids: [40821]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$major")}
                                  spids: [40825]
                                )
                              ]
                              spids: [40825]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [40841]
                                )
                              ]
                              spids: [40841]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [40846]
                                )
                              ]
                              spids: [40846]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [40851]
                                )
                              ]
                              spids: [40851]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [40856]
                                )
                              ]
                              spids: [40856]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:droppeddeps)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [40859]
                                )
                              ]
                              spids: [40859]
                            )
                            (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: [40894]
                                        )
                                      ]
                                      spids: [40894]
                                    )
                                  ]
                                  spids: [40870 40871 40898 -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: [40932]
                                        )
                                        (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: [40936]
                                        )
                                      ]
                                    )
                                    (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: [40969 40973]
                                                      )
                                                    }
                                                  spids: [40968]
                                                )
                                              ]
                                              spids: [40968]
                                            )
                                            (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: [41012]
                                                                )
                                                              ]
                                                              spids: [41012]
                                                            )
                                                            (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: [41069]
                                                                                )
                                                                              ]
                                                                              spids: [41069]
                                                                            )
                                                                          ]
                                                                          spids: [41049 41056 41074 -1]
                                                                        )
                                                                      ]
                                                                      spids: [41036 41046 41077]
                                                                    )
                                                                  ]
                                                                  spids: [-1 41033]
                                                                )
                                                              ]
                                                              spids: [-1 41080]
                                                            )
                                                            (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: [41099 41110]
                                                                              )
                                                                            }
                                                                          spids: [41098]
                                                                        )
                                                                      ]
                                                                      spids: [41098]
                                                                    )
                                                                    (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: [41114 41125]
                                                                              )
                                                                            }
                                                                          spids: [41113]
                                                                        )
                                                                      ]
                                                                      spids: [41113]
                                                                    )
                                                                    (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: [41138]
                                                                        )
                                                                      ]
                                                                      spids: [41138]
                                                                    )
                                                                    (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: [
41146
41159
                                                                                      ]
                                                                                    )
                                                                                  } {(-ne)} {(0)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ";">
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(func_append)} 
                                                                              {(newdeplibs)} {(DQ (" ") ($ VSub_Name "$i"))}
                                                                            )
                                                                          ]
                                                                          spids: [-1 41167]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: droppeddeps
                                                                                )
                                                                              op: Equal
                                                                              rhs: {(yes)}
                                                                              spids: [41183]
                                                                            )
                                                                          ]
                                                                          spids: [41183]
                                                                        )
                                                                        (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: [41180 41234]
                                                                    )
                                                                  ]
                                                                  spids: [-1 41095]
                                                                )
                                                              ]
                                                              spids: [-1 41237]
                                                            )
                                                          ]
                                                          spids: [40995 40997 41240 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(newdeplibs)} 
                                                              {(DQ (" ") ($ VSub_Name "$i"))}
                                                            )
                                                          ]
                                                          spids: [41243 41244 41257 -1]
                                                        )
                                                      ]
                                                      spids: [40988 40992 41260]
                                                    )
                                                  ]
                                                  spids: [40985 41263]
                                                )
                                              spids: [40981 40983]
                                            )
                                          ]
                                          spids: [-1 40965]
                                        )
                                      ]
                                      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: [41313]
                                                            )
                                                          ]
                                                          spids: [41313]
                                                        )
                                                        (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: [41345 41349]
                                                                          )
                                                                        }
                                                                      spids: [41344]
                                                                    )
                                                                  ]
                                                                  spids: [41344]
                                                                )
                                                                (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: [41405]
                                                                                    )
                                                                                  ]
                                                                                  spids: [41405]
                                                                                )
                                                                              ]
                                                                              spids: [
41385
41392
41410
-1
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [41372 41382 41413]
                                                                        )
                                                                      ]
                                                                      spids: [-1 41369]
                                                                    )
                                                                  ]
                                                                  spids: [-1 41416]
                                                                )
                                                                (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: [
41435
41446
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [41434]
                                                                            )
                                                                          ]
                                                                          spids: [41434]
                                                                        )
                                                                        (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: [
41450
41461
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [41449]
                                                                            )
                                                                          ]
                                                                          spids: [41449]
                                                                        )
                                                                        (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: [41474]
                                                                            )
                                                                          ]
                                                                          spids: [41474]
                                                                        )
                                                                        (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: [
41482
41495
                                                                                          ]
                                                                                        )
                                                                                      } {(-ne)} {(0)}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ";">
                                                                                )
                                                                              ]
                                                                              action: [
                                                                                (C {(func_append)} 
                                                                                  {(newdeplibs)} {(DQ (" ") ($ VSub_Name "$i"))}
                                                                                )
                                                                              ]
                                                                              spids: [-1 41503]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
droppeddeps
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(yes)}
                                                                                  spids: [41519]
                                                                                )
                                                                              ]
                                                                              spids: [41519]
                                                                            )
                                                                            (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: [41516 41570]
                                                                        )
                                                                      ]
                                                                      spids: [-1 41431]
                                                                    )
                                                                  ]
                                                                  spids: [-1 41573]
                                                                )
                                                              ]
                                                              spids: [-1 41341]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:droppeddeps)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [41579]
                                                                )
                                                              ]
                                                              spids: [41579]
                                                            )
                                                            (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: [41576 41616]
                                                        )
                                                      ]
                                                      spids: [41296 41298 41619 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} {(newdeplibs)} 
                                                          {(DQ (" ") ($ VSub_Name "$i"))}
                                                        )
                                                      ]
                                                      spids: [41622 41623 41636 -1]
                                                    )
                                                  ]
                                                  spids: [41289 41293 41639]
                                                )
                                              ]
                                              spids: [41286 41642]
                                            )
                                          spids: [41282 41284]
                                        )
                                      ]
                                      spids: [41266 41645]
                                    )
                                  ]
                                  spids: [40901 40902 41648 -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: [41667 41683]
                                              )
                                            }
                                          spids: [41666]
                                        )
                                      ]
                                      spids: [41666]
                                    )
                                    (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: [41722]
                                                        )
                                                      ]
                                                      spids: [41722]
                                                    )
                                                    (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: [41779]
                                                                        )
                                                                      ]
                                                                      spids: [41779]
                                                                    )
                                                                  ]
                                                                  spids: [41759 41766 41784 -1]
                                                                )
                                                              ]
                                                              spids: [41746 41756 41787]
                                                            )
                                                          ]
                                                          spids: [-1 41743]
                                                        )
                                                      ]
                                                      spids: [-1 41790]
                                                    )
                                                    (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: [41809 41820]
                                                                      )
                                                                    }
                                                                  spids: [41808]
                                                                )
                                                              ]
                                                              spids: [41808]
                                                            )
                                                            (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: [41838 41852]
                                                                              )
                                                                            }
                                                                          spids: [41837]
                                                                        )
                                                                      ]
                                                                      spids: [41837]
                                                                    )
                                                                  ]
                                                                  spids: [-1 41834]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:libnameglob)
                                                                      op: Equal
                                                                      rhs: {($ VSub_Name "$libname")}
                                                                      spids: [41858]
                                                                    )
                                                                  ]
                                                                  spids: [41858]
                                                                )
                                                              ]
                                                              spids: [41855 41862]
                                                            )
                                                            (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: [41878 41884]
                                                                          )
                                                                        }
                                                                      spids: [41877]
                                                                    )
                                                                  ]
                                                                  spids: [41877]
                                                                )
                                                              ]
                                                              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: [
41938
                                                                                                    ]
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
41927
41940
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [41926]
                                                                                )
                                                                              ]
                                                                              spids: [41926]
                                                                            )
                                                                            (C 
                                                                              {
                                                                                ($ VSub_Name 
"$nocaseglob"
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [-1 41916]
                                                                        )
                                                                      ]
                                                                      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: [
41961
                                                                                                ]
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    left_token: 
                                                                                      <
Left_Backtick "`"
                                                                                      >
                                                                                    spids: [
41950
41963
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [41949]
                                                                            )
                                                                          ]
                                                                          spids: [41949]
                                                                        )
                                                                      ]
                                                                      spids: [41946 41966]
                                                                    )
                                                                    (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: [
41995
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name "$GREP"
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (
" -> "
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
-1
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
42007
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
";"
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 42011]
                                                                                )
                                                                              ]
                                                                              spids: [-1 42017]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$potent_lib"
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [42040]
                                                                                )
                                                                              ]
                                                                              spids: [42040]
                                                                            )
                                                                            (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: [
42056
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  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: [
42064
42080
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
42063
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [42063]
                                                                                    )
                                                                                    (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: [
42109
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
42109
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
42090
42107
42113
-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: [
42120
42134
                                                                                                        ]
                                                                                                      ) (DQ ($ VSub_Name "$potliblink"))
                                                                                                    }
                                                                                                  spids: [
42119
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
42119
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
42116
42117
42138
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
42083
42087
42141
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [42060 42144]
                                                                                )
                                                                            )
                                                                            (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: [
42158
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (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: [
42179
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          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: [
42197
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [42197]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 42184]
                                                                                )
                                                                              ]
                                                                              spids: [-1 42207]
                                                                            )
                                                                          ]
                                                                          spids: [41978 42210]
                                                                        )
                                                                      spids: [41974 41976]
                                                                    )
                                                                  ]
                                                                  spids: [41900 42213]
                                                                )
                                                              spids: [41892 41898]
                                                            )
                                                          ]
                                                          spids: [-1 41805]
                                                        )
                                                      ]
                                                      spids: [-1 42216]
                                                    )
                                                    (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: [42234]
                                                                )
                                                              ]
                                                              spids: [42234]
                                                            )
                                                            (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 42290]
                                                                )
                                                              ]
                                                              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: [42302 42322]
                                                            )
                                                          ]
                                                          spids: [-1 42231]
                                                        )
                                                      ]
                                                      spids: [-1 42325]
                                                    )
                                                  ]
                                                  spids: [41705 41707 42328 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(newdeplibs)} 
                                                      {(DQ (" ") ($ VSub_Name "$a_deplib"))}
                                                    )
                                                  ]
                                                  spids: [42331 42332 42349 -1]
                                                )
                                              ]
                                              spids: [41698 41702 42352]
                                            )
                                          ]
                                          spids: [41695 42355]
                                        )
                                      spids: [41691 41693]
                                    )
                                  ]
                                  spids: [41651 41653 42361 -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: [42380 42396]
                                              )
                                            }
                                          spids: [42379]
                                        )
                                      ]
                                      spids: [42379]
                                    )
                                    (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: [42435]
                                                        )
                                                      ]
                                                      spids: [42435]
                                                    )
                                                    (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: [42492]
                                                                        )
                                                                      ]
                                                                      spids: [42492]
                                                                    )
                                                                  ]
                                                                  spids: [42472 42479 42497 -1]
                                                                )
                                                              ]
                                                              spids: [42459 42469 42500]
                                                            )
                                                          ]
                                                          spids: [-1 42456]
                                                        )
                                                      ]
                                                      spids: [-1 42503]
                                                    )
                                                    (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: [42522 42533]
                                                                      )
                                                                    }
                                                                  spids: [42521]
                                                                )
                                                              ]
                                                              spids: [42521]
                                                            )
                                                            (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: [
42564
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [42553 42566]
                                                                              )
                                                                            }
                                                                          spids: [42552]
                                                                        )
                                                                      ]
                                                                      spids: [42552]
                                                                    )
                                                                    (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: [42581]
                                                                                )
                                                                              ]
                                                                              spids: [42581]
                                                                            )
                                                                            (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: [
42602
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (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: [
42621
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          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: [
42639
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [42639]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 42626]
                                                                                )
                                                                              ]
                                                                              spids: [-1 42649]
                                                                            )
                                                                          ]
                                                                          spids: [42578 42652]
                                                                        )
                                                                      spids: [42574 42576]
                                                                    )
                                                                  ]
                                                                  spids: [42549 42655]
                                                                )
                                                              spids: [42541 42547]
                                                            )
                                                          ]
                                                          spids: [-1 42518]
                                                        )
                                                      ]
                                                      spids: [-1 42658]
                                                    )
                                                    (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: [42676]
                                                                )
                                                              ]
                                                              spids: [42676]
                                                            )
                                                            (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 42732]
                                                                )
                                                              ]
                                                              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: [42744 42764]
                                                            )
                                                          ]
                                                          spids: [-1 42673]
                                                        )
                                                      ]
                                                      spids: [-1 42767]
                                                    )
                                                  ]
                                                  spids: [42418 42420 42770 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(newdeplibs)} 
                                                      {(DQ (" ") ($ VSub_Name "$a_deplib"))}
                                                    )
                                                  ]
                                                  spids: [42773 42774 42791 -1]
                                                )
                                              ]
                                              spids: [42411 42415 42794]
                                            )
                                          ]
                                          spids: [42408 42797]
                                        )
                                      spids: [42404 42406]
                                    )
                                  ]
                                  spids: [42364 42366 42803 -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: [42818]
                                        )
                                      ]
                                      spids: [42818]
                                    )
                                    (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: [42824 42839]
                                              )
                                            }
                                          spids: [42823]
                                        )
                                      ]
                                      spids: [42823]
                                    )
                                    (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: [42882 42899]
                                                              )
                                                            }
                                                          spids: [42881]
                                                        )
                                                      ]
                                                      spids: [42881]
                                                    )
                                                  ]
                                                  spids: [42874 42902]
                                                )
                                              spids: [42867 42872]
                                            )
                                          ]
                                          spids: [-1 42859]
                                        )
                                      ]
                                      spids: [-1 42905]
                                    )
                                    (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 42944]
                                                )
                                              ]
                                              else_action: [
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
"*** Warning: inter-library dependencies are not known to be supported."
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [42954 42964]
                                            )
                                            (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: [42974]
                                                )
                                              ]
                                              spids: [42974]
                                            )
                                          ]
                                          spids: [42915 42922 42978 -1]
                                        )
                                      ]
                                      spids: [42908 42912 42981]
                                    )
                                  ]
                                  spids: [42806 42815 42984 -1]
                                )
                              ]
                              spids: [40863 40867 42987]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {($ VSub_Name "$versuffix_save")}
                                  spids: [42990]
                                )
                              ]
                              spids: [42990]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {($ VSub_Name "$major_save")}
                                  spids: [42994]
                                )
                              ]
                              spids: [42994]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {($ VSub_Name "$release_save")}
                                  spids: [42998]
                                )
                              ]
                              spids: [42998]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname)
                                  op: Equal
                                  rhs: {($ VSub_Name "$libname_save")}
                                  spids: [43002]
                                )
                              ]
                              spids: [43002]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name "$name_save")}
                                  spids: [43006]
                                )
                              ]
                              spids: [43006]
                            )
                            (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: [43041 43056]
                                              )
                                            }
                                          spids: [43040]
                                        )
                                      ]
                                      spids: [43040]
                                    )
                                  ]
                                  spids: [43018 43033 43059 -1]
                                )
                              ]
                              spids: [43011 43015 43062]
                            )
                            (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 43142]
                                                )
                                              ]
                                              spids: [-1 43180]
                                            )
                                            (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: [43199]
                                                        )
                                                      ]
                                                      spids: [43199]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(module)}
                                                          spids: [43209]
                                                        )
                                                      ]
                                                      spids: [43209]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_old_libs)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [43213]
                                                        )
                                                      ]
                                                      spids: [43213]
                                                    )
                                                  ]
                                                  spids: [-1 43196]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:build_libtool_libs)
                                                      op: Equal
                                                      rhs: {(no)}
                                                      spids: [43220]
                                                    )
                                                  ]
                                                  spids: [43220]
                                                )
                                              ]
                                              spids: [43217 43224]
                                            )
                                          ]
                                          spids: [-1 43095]
                                        )
                                      ]
                                      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: [43315]
                                                            )
                                                          ]
                                                          spids: [43315]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(module)}
                                                              spids: [43325]
                                                            )
                                                          ]
                                                          spids: [43325]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_old_libs)
                                                              op: Equal
                                                              rhs: {(yes)}
                                                              spids: [43329]
                                                            )
                                                          ]
                                                          spids: [43329]
                                                        )
                                                      ]
                                                      spids: [-1 43312]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [43336]
                                                        )
                                                      ]
                                                      spids: [43336]
                                                    )
                                                  ]
                                                  spids: [43333 43340]
                                                )
                                              ]
                                              spids: [-1 43265]
                                            )
                                          ]
                                          spids: [-1 43343]
                                        )
                                      ]
                                      spids: [43227 43346]
                                    )
                                  ]
                                  spids: [-1 43079]
                                )
                              ]
                              spids: [-1 43349]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$newdeplibs")}
                                  spids: [43356]
                                )
                              ]
                              spids: [43356]
                            )
                          ]
                          spids: [-1 40530]
                        )
                      ]
                      spids: [-1 43360]
                    )
                    (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: [43383 43398]
                                      )
                                    }
                                  spids: [43382]
                                )
                              ]
                              spids: [43382]
                            )
                            (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: [43402 43417]
                                      )
                                    }
                                  spids: [43401]
                                )
                              ]
                              spids: [43401]
                            )
                            (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: [43421 43436]
                                      )
                                    }
                                  spids: [43420]
                                )
                              ]
                              spids: [43420]
                            )
                          ]
                          spids: [43374 43379 43439 -1]
                        )
                      ]
                      spids: [43367 43371 43442]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43454]
                        )
                      ]
                      spids: [43454]
                    )
                    (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: [43480 43489 43491 -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: [43509 43518 43532 -1]
                                        )
                                      ]
                                      spids: [43498 43506 43535]
                                    )
                                  ]
                                  spids: [43494 43495 43538 -1]
                                )
                              ]
                              spids: [43469 43477 43541]
                            )
                          ]
                          spids: [43466 43544]
                        )
                      spids: [43462 43464]
                    )
                    (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: [43582 43589 43591 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                            )
                                          ]
                                          spids: [43594 43595 43606 -1]
                                        )
                                      ]
                                      spids: [43571 43579 43609]
                                    )
                                  ]
                                  spids: [43566 43568 43612 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(new_libs)} {(DQ (" ") ($ VSub_Name "$deplib"))})
                                  ]
                                  spids: [43615 43616 43627 -1]
                                )
                              ]
                              spids: [43559 43563 43630]
                            )
                          ]
                          spids: [43556 43633]
                        )
                      spids: [43552 43554]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:deplibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$new_libs"))}
                          spids: [43636]
                        )
                      ]
                      spids: [43636]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:library_names)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43647]
                        )
                      ]
                      spids: [43647]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43650]
                        )
                      ]
                      spids: [43650]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlname)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43653]
                        )
                      ]
                      spids: [43653]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$build_libtool_libs"))} {(Lit_Other "=")} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$archive_cmds")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\$">
                                      ) (LD) (EscapedLiteralPart token:<Lit_EscapedChar "\\ ">) (Lit_Other "*")
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wl)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [43699]
                                        )
                                      ]
                                      spids: [43699]
                                    )
                                  ]
                                  spids: [43692 43697 43701 -1]
                                )
                              ]
                              spids: [43685 43689 43704]
                            )
                            (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: [43727]
                                        )
                                      ]
                                      spids: [43727]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dep_rpath)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [43730]
                                        )
                                      ]
                                      spids: [43730]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$finalize_rpath"))}
                                          spids: [43733]
                                        )
                                      ]
                                      spids: [43733]
                                    )
                                    (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: [43752]
                                            )
                                          ]
                                          spids: [43752]
                                        )
                                      ]
                                      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: [43806]
                                                                )
                                                              ]
                                                              spids: [43806]
                                                            )
                                                            (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: [43824]
                                                                        )
                                                                      ]
                                                                      spids: [43824]
                                                                    )
                                                                  ]
                                                                  spids: [-1 43821]
                                                                )
                                                              ]
                                                              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: [43846 43853 43856 -1]
                                                                    )
                                                                    (case_arm
                                                                      pat_list: [{(Lit_Other "*")}]
                                                                      action: [
                                                                        (C {(func_append)} 
                                                                          {(hardcode_libdirs)} {(DQ ($ VSub_Name "$hardcode_libdir_separator") ($ VSub_Name "$libdir"))}
                                                                        )
                                                                      ]
                                                                      spids: [43859 43860 43873 -1]
                                                                    )
                                                                  ]
                                                                  spids: [43837 43843 43876]
                                                                )
                                                              ]
                                                              spids: [43830 43879]
                                                            )
                                                          ]
                                                          spids: [-1 43796]
                                                        )
                                                      ]
                                                      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: [43882 43903]
                                                    )
                                                  ]
                                                  spids: [-1 43782]
                                                )
                                                (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: [43930 43937 43939 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(perm_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                                            )
                                                          ]
                                                          spids: [43942 43943 43954 -1]
                                                        )
                                                      ]
                                                      spids: [43920 43927 43957]
                                                    )
                                                  ]
                                                  spids: [43906 43917]
                                                )
                                              ]
                                              spids: [-1 43960]
                                            )
                                          ]
                                          spids: [43768 43963]
                                        )
                                      spids: [43764 43766]
                                    )
                                    (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: [43995]
                                                )
                                              ]
                                              spids: [43995]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ("dep_rpath=") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\\"">
                                                  ) ($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 43992]
                                        )
                                      ]
                                      spids: [-1 44011]
                                    )
                                    (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: [44042]
                                                )
                                              ]
                                              spids: [44042]
                                            )
                                            (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: [44054 44067]
                                                )
                                              spids: [44050 44052]
                                            )
                                            (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 44035]
                                        )
                                      ]
                                      spids: [-1 44083]
                                    )
                                    (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: [44096]
                                            )
                                          ]
                                          spids: [44096]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 43720]
                                )
                              ]
                              spids: [-1 44104]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shlibpath)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$finalize_shlibpath"))}
                                  spids: [44108]
                                )
                              ]
                              spids: [44108]
                            )
                            (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: [44127]
                                    )
                                  ]
                                  spids: [44127]
                                )
                              ]
                              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 44145]
                                )
                              ]
                              spids: [-1 44161]
                            )
                            (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: [44195]
                                )
                              ]
                              spids: [44195]
                            )
                            (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 44216]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:soname)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$realname"))}
                                      spids: [44230]
                                    )
                                  ]
                                  spids: [44230]
                                )
                              ]
                              spids: [44227 44236]
                            )
                            (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: [44253]
                                        )
                                      ]
                                      spids: [44253]
                                    )
                                  ]
                                  spids: [-1 44250]
                                )
                              ]
                              spids: [-1 44257]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$realname"))
                                    }
                                  spids: [44261]
                                )
                              ]
                              spids: [44261]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linknames)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [44269]
                                )
                              ]
                              spids: [44269]
                            )
                            (ForEach
                              iter_name: link
                              do_arg_iter: True
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_append)} {(linknames)} {(DQ (" ") ($ VSub_Name "$link"))})
                                  ]
                                  spids: [44277 44290]
                                )
                              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: [44309 44331]
                                          )
                                        }
                                      spids: [44308]
                                    )
                                  ]
                                  spids: [44308]
                                )
                              ]
                              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: [44349]
                                    )
                                  ]
                                  spids: [44349]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:delfiles)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [44353]
                                )
                              ]
                              spids: [44353]
                            )
                            (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: [44398]
                                        )
                                      ]
                                      spids: [44398]
                                    )
                                    (C {(func_append)} {(delfiles)} 
                                      {(DQ (" ") ($ VSub_Name "$export_symbols"))}
                                    )
                                  ]
                                  spids: [-1 44377]
                                )
                              ]
                              spids: [-1 44417]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:orig_export_symbols)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [44421]
                                )
                              ]
                              spids: [44421]
                            )
                            (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: [44480 44486]
                                                              )
                                                            )
                                                          } {(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: [44522]
                                                        )
                                                      ]
                                                      spids: [44522]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_symbols)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [44528]
                                                        )
                                                      ]
                                                      spids: [44528]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:always_export_symbols)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [44531]
                                                        )
                                                      ]
                                                      spids: [44531]
                                                    )
                                                  ]
                                                  spids: [-1 44495]
                                                )
                                              ]
                                              spids: [-1 44535]
                                            )
                                          ]
                                          spids: [-1 44467]
                                        )
                                      ]
                                      spids: [-1 44538]
                                    )
                                  ]
                                  spids: [44431 44443 44541 -1]
                                )
                              ]
                              spids: [44424 44428 44544]
                            )
                            (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: [44602]
                                                )
                                              ]
                                              spids: [44602]
                                            )
                                            (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: [44620]
                                                )
                                              ]
                                              spids: [44620]
                                            )
                                            (Sentence
                                              child: 
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:save_ifs)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name "$IFS"))}
                                                      spids: [44624]
                                                    )
                                                  ]
                                                  spids: [44624]
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(SQ <"~">)}
                                                  spids: [44630]
                                                )
                                              ]
                                              spids: [44630]
                                            )
                                            (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: [44648]
                                                        )
                                                      ]
                                                      spids: [44648]
                                                    )
                                                    (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: [44688]
                                                                )
                                                              ]
                                                              spids: [44688]
                                                            )
                                                            (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: [44708]
                                                                )
                                                              ]
                                                              spids: [44708]
                                                            )
                                                          ]
                                                          spids: [44671 44685 44712 -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: [44719]
                                                                )
                                                              ]
                                                              spids: [44719]
                                                            )
                                                          ]
                                                          spids: [44715 44716 44723 -1]
                                                        )
                                                      ]
                                                      spids: [44662 44668 44726]
                                                    )
                                                    (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: [44745]
                                                                )
                                                              ]
                                                              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: [44791]
                                                                )
                                                              ]
                                                              spids: [44791]
                                                            )
                                                          ]
                                                          spids: [-1 44777]
                                                        )
                                                        (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: [44816]
                                                                )
                                                              ]
                                                              spids: [44816]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:save_libobjs)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$libobjs")}
                                                                  spids: [44820]
                                                                )
                                                              ]
                                                              spids: [44820]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:save_output)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$output")}
                                                                  spids: [44824]
                                                                )
                                                              ]
                                                              spids: [44824]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:output)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(${ VSub_Name output_objdir) 
                                                                      (/) (${ VSub_Name output_la) (.nm)
                                                                    }
                                                                  spids: [44828]
                                                                )
                                                              ]
                                                              spids: [44828]
                                                            )
                                                            (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: [44846]
                                                                )
                                                              ]
                                                              spids: [44846]
                                                            )
                                                            (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: [44880 44897]
                                                                )
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {(DQ ($ VSub_Name "$output"))}
                                                                  spids: [44899]
                                                                )
                                                              ]
                                                              spids: [44876 44878]
                                                            )
                                                            (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: [44925]
                                                                )
                                                              ]
                                                              spids: [44925]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libobjs)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$save_libobjs")}
                                                                  spids: [44929]
                                                                )
                                                              ]
                                                              spids: [44929]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:skipped_export)
                                                                  op: Equal
                                                                  rhs: {(false)}
                                                                  spids: [44933]
                                                                )
                                                              ]
                                                              spids: [44933]
                                                            )
                                                          ]
                                                          spids: [44795 44806]
                                                        )
                                                      ]
                                                      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: [44951]
                                                            )
                                                          ]
                                                          spids: [44951]
                                                        )
                                                        (ControlFlow
                                                          token: <ControlFlow_Break break>
                                                        )
                                                      ]
                                                      spids: [44937 44966]
                                                    )
                                                  ]
                                                  spids: [44645 44969]
                                                )
                                              spids: [44641 44643]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                                  spids: [44972]
                                                )
                                              ]
                                              spids: [44972]
                                            )
                                            (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 45005]
                                                )
                                              ]
                                              spids: [-1 45022]
                                            )
                                          ]
                                          spids: [-1 44589]
                                        )
                                      ]
                                      spids: [-1 45025]
                                    )
                                  ]
                                  spids: [-1 44563]
                                )
                              ]
                              spids: [-1 45028]
                            )
                            (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: [45056]
                                        )
                                      ]
                                      spids: [45056]
                                    )
                                    (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: [45072]
                                            )
                                          ]
                                          spids: [45072]
                                        )
                                      ]
                                      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 45053]
                                )
                              ]
                              spids: [-1 45089]
                            )
                            (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: [45169]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: 
                                                {($ VSub_Name "$output_objdir") (/) 
                                                  ($ VSub_Name "$libname") (.filter)
                                                }
                                              spids: [45173]
                                            )
                                          ]
                                        )
                                      ]
                                      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: [45196]
                                        )
                                      ]
                                      spids: [45196]
                                    )
                                    (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: [45216]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {($ VSub_Name "$export_symbols")}
                                              spids: [45220]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 45120]
                                )
                              ]
                              spids: [-1 45225]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tmp_deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [45229]
                                )
                              ]
                              spids: [45229]
                            )
                            (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: [45255 45262 45264 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(tmp_deplibs)} 
                                              {(DQ (" ") ($ VSub_Name "$test_deplib"))}
                                            )
                                          ]
                                          spids: [45267 45268 45281 -1]
                                        )
                                      ]
                                      spids: [45244 45252 45284]
                                    )
                                  ]
                                  spids: [45241 45287]
                                )
                              spids: [45237 45239]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$tmp_deplibs"))}
                                  spids: [45290]
                                )
                              ]
                              spids: [45290]
                            )
                            (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: [45357]
                                                )
                                              ]
                                              spids: [45357]
                                            )
                                          ]
                                          spids: [-1 45346]
                                        )
                                      ]
                                      spids: [-1 45360]
                                    )
                                    (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: [45377]
                                                )
                                              ]
                                              spids: [45377]
                                            )
                                            (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: [45407]
                                                    )
                                                  ]
                                                  spids: [45407]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [-1 45374]
                                        )
                                      ]
                                      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: [45413]
                                            )
                                          ]
                                          spids: [45413]
                                        )
                                        (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: [45467]
                                                )
                                              ]
                                              spids: [45467]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      ]
                                      spids: [45410 45470]
                                    )
                                  ]
                                  spids: [-1 45308]
                                )
                              ]
                              spids: [-1 45473]
                            )
                            (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 45500]
                                )
                              ]
                              spids: [-1 45521]
                            )
                            (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 45542]
                                )
                              ]
                              spids: [-1 45562]
                            )
                            (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: [45629]
                                                )
                                              ]
                                              spids: [45629]
                                            )
                                          ]
                                          spids: [-1 45618]
                                        )
                                      ]
                                      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: [45644]
                                            )
                                          ]
                                          spids: [45644]
                                        )
                                      ]
                                      spids: [45633 45648]
                                    )
                                  ]
                                  spids: [-1 45594]
                                )
                              ]
                              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: [45686]
                                            )
                                          ]
                                          spids: [45686]
                                        )
                                      ]
                                      spids: [-1 45675]
                                    )
                                  ]
                                  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: [45701]
                                        )
                                      ]
                                      spids: [45701]
                                    )
                                  ]
                                  spids: [45690 45705]
                                )
                              ]
                              spids: [45651 45708]
                            )
                            (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: [45741]
                                                        )
                                                      ]
                                                      spids: [45741]
                                                    )
                                                    (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 45772]
                                )
                              ]
                              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: [45850]
                                            )
                                          ]
                                          spids: [45850]
                                        )
                                      ]
                                      spids: [-1 45847]
                                    )
                                  ]
                                  spids: [-1 45854]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_output)
                                      op: Equal
                                      rhs: {($ VSub_Name "$output")}
                                      spids: [45857]
                                    )
                                  ]
                                  spids: [45857]
                                )
                                (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: [45868]
                                    )
                                  ]
                                  spids: [45868]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:test_cmds)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [45881]
                                    )
                                  ]
                                  spids: [45881]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:concat_cmds)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [45884]
                                    )
                                  ]
                                  spids: [45884]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:objlist)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [45887]
                                    )
                                  ]
                                  spids: [45887]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:last_robj)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [45890]
                                    )
                                  ]
                                  spids: [45890]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:k)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [45893]
                                    )
                                  ]
                                  spids: [45893]
                                )
                                (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: [45940]
                                            )
                                          ]
                                          spids: [45940]
                                        )
                                        (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: [45965]
                                            )
                                          ]
                                        )
                                        (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: [45995]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [45979 46000]
                                            )
                                          spids: [45975 -1]
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <")">)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: -1
                                              arg_word: {($ VSub_Name "$output")}
                                              spids: [46009]
                                            )
                                          ]
                                        )
                                        (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: [46031]
                                            )
                                          ]
                                          spids: [46031]
                                        )
                                      ]
                                      spids: [-1 45937]
                                    )
                                    (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: [46079]
                                            )
                                          ]
                                          spids: [46079]
                                        )
                                        (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: [46100]
                                            )
                                          ]
                                        )
                                        (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: [46115]
                                            )
                                          ]
                                          spids: [46115]
                                        )
                                        (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: [46134]
                                                    )
                                                  ]
                                                  spids: [46134]
                                                )
                                                (C {(shift)})
                                              ]
                                              spids: [-1 46131]
                                            )
                                          ]
                                          spids: [-1 46144]
                                        )
                                        (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: [46168]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [46152 46173]
                                            )
                                          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: [46193]
                                            )
                                          ]
                                          spids: [46193]
                                        )
                                      ]
                                      spids: [46035 46076]
                                    )
                                  ]
                                  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: [46225]
                                                )
                                              ]
                                              spids: [46225]
                                            )
                                            (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: [46253]
                                                )
                                              ]
                                              spids: [46253]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$len0")}
                                                  spids: [46257]
                                                )
                                              ]
                                              spids: [46257]
                                            )
                                            (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: [46295]
                                                        )
                                                      ]
                                                      spids: [46295]
                                                    )
                                                    (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 46328]
                                                        )
                                                      ]
                                                      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: [46373]
                                                                    )
                                                                  ]
                                                                  spids: [46373]
                                                                )
                                                                (C {(eval)} 
                                                                  {(Lit_VarLike "concat_cmds=") 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar "\\\"">
                                                                    ) ($ VSub_Name "$reload_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                                  }
                                                                )
                                                              ]
                                                              spids: [-1 46366]
                                                            )
                                                          ]
                                                          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: [46396]
                                                                )
                                                              ]
                                                              spids: [46396]
                                                            )
                                                            (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: [46385 46420]
                                                        )
                                                        (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: [46423]
                                                            )
                                                          ]
                                                          spids: [46423]
                                                        )
                                                        (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: [46444]
                                                            )
                                                          ]
                                                          spids: [46444]
                                                        )
                                                        (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: [46448]
                                                            )
                                                          ]
                                                          spids: [46448]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:objlist)
                                                              op: Equal
                                                              rhs: {(DQ (" ") ($ VSub_Name "$obj"))}
                                                              spids: [46460]
                                                            )
                                                          ]
                                                          spids: [46460]
                                                        )
                                                        (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: [46484]
                                                            )
                                                          ]
                                                          spids: [46484]
                                                        )
                                                      ]
                                                      spids: [46341 46488]
                                                    )
                                                  ]
                                                  spids: [46275 46491]
                                                )
                                              spids: [46271 -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: [46516]
                                                    )
                                                  ]
                                                  spids: [46516]
                                                )
                                              ]
                                              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: [46521]
                                                )
                                              ]
                                              spids: [46521]
                                            )
                                            (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 46552]
                                                )
                                              ]
                                              spids: [-1 46571]
                                            )
                                            (C {(func_append)} {(delfiles)} 
                                              {(DQ (" ") ($ VSub_Name "$output"))}
                                            )
                                          ]
                                          spids: [-1 46215]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [46588]
                                            )
                                          ]
                                          spids: [46588]
                                        )
                                      ]
                                      spids: [46585 46591]
                                    )
                                    (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: [46597 46601]
                                                    )
                                                  }
                                                )
                                              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: [46617]
                                                )
                                              ]
                                              spids: [46617]
                                            )
                                            (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: [46635]
                                                )
                                              ]
                                              spids: [46635]
                                            )
                                            (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: [46653]
                                                    )
                                                  ]
                                                  spids: [46653]
                                                )
                                              ]
                                              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 46679]
                                                )
                                              ]
                                              spids: [-1 46696]
                                            )
                                          ]
                                          spids: [-1 46604]
                                        )
                                      ]
                                      spids: [-1 46699]
                                    )
                                    (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: [46727]
                                            )
                                          ]
                                          spids: [46727]
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <"~">)}
                                          spids: [46733]
                                        )
                                      ]
                                      spids: [46733]
                                    )
                                    (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: [46751]
                                                )
                                              ]
                                              spids: [46751]
                                            )
                                            (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: [46761]
                                                )
                                              ]
                                              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: [46797]
                                                            )
                                                          ]
                                                          spids: [46797]
                                                        )
                                                        (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: [46822 46860]
                                                                )
                                                              ]
                                                              spids: [-1 46819]
                                                            )
                                                          ]
                                                          spids: [-1 46863]
                                                        )
                                                        (C {(exit)} {($ VSub_Name "$lt_exit")})
                                                      ]
                                                      spids: [46794]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [46748 46875]
                                        )
                                      spids: [46744 46746]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                          spids: [46878]
                                        )
                                      ]
                                      spids: [46878]
                                    )
                                    (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: [46897 46901]
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  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 46904]
                                        )
                                      ]
                                      spids: [-1 46921]
                                    )
                                  ]
                                  spids: [46201 46924]
                                )
                                (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: [46930 46934]
                                                )
                                              }
                                            )
                                          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: [46964]
                                                    )
                                                  ]
                                                  spids: [46964]
                                                )
                                                (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: [46980]
                                                        )
                                                      ]
                                                      spids: [46980]
                                                    )
                                                  ]
                                                  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 46961]
                                            )
                                          ]
                                          spids: [-1 46997]
                                        )
                                        (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: [47061]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: 
                                                            {($ VSub_Name "$output_objdir") (/) 
                                                              ($ VSub_Name "$libname") (.filter)
                                                            }
                                                          spids: [47065]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  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: [47088]
                                                    )
                                                  ]
                                                  spids: [47088]
                                                )
                                                (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: [47108]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$export_symbols")}
                                                          spids: [47112]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [-1 47012]
                                            )
                                          ]
                                          spids: [-1 47117]
                                        )
                                      ]
                                      spids: [-1 46937]
                                    )
                                  ]
                                  spids: [-1 47120]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {($ VSub_Name "$output")}
                                      spids: [47124]
                                    )
                                  ]
                                  spids: [47124]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output)
                                      op: Equal
                                      rhs: {($ VSub_Name "$save_output")}
                                      spids: [47132]
                                    )
                                  ]
                                  spids: [47132]
                                )
                                (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: [47187]
                                                )
                                              ]
                                              spids: [47187]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      ]
                                      spids: [-1 47158]
                                    )
                                  ]
                                  spids: [-1 47190]
                                )
                                (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: [47257]
                                                    )
                                                  ]
                                                  spids: [47257]
                                                )
                                              ]
                                              spids: [-1 47254]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$module_cmds")}
                                                  spids: [47264]
                                                )
                                              ]
                                              spids: [47264]
                                            )
                                          ]
                                          spids: [47261 47268]
                                        )
                                      ]
                                      spids: [-1 47230]
                                    )
                                  ]
                                  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: [47298]
                                                )
                                              ]
                                              spids: [47298]
                                            )
                                          ]
                                          spids: [-1 47295]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name "$archive_cmds")}
                                              spids: [47305]
                                            )
                                          ]
                                          spids: [47305]
                                        )
                                      ]
                                      spids: [47302 47309]
                                    )
                                  ]
                                  spids: [47271 47312]
                                )
                              ]
                              spids: [45778 47315]
                            )
                            (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 47330]
                                )
                              ]
                              spids: [-1 47351]
                            )
                            (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: [47373]
                                        )
                                      ]
                                      spids: [47373]
                                    )
                                    (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: [47427]
                                            )
                                          ]
                                          spids: [47427]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 47370]
                                )
                              ]
                              spids: [-1 47430]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$IFS"))}
                                      spids: [47434]
                                    )
                                  ]
                                  spids: [47434]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <"~">)}
                                  spids: [47440]
                                )
                              ]
                              spids: [47440]
                            )
                            (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: [47458]
                                        )
                                      ]
                                      spids: [47458]
                                    )
                                    (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: [47476]
                                        )
                                      ]
                                      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: [47512]
                                                    )
                                                  ]
                                                  spids: [47512]
                                                )
                                                (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: [47537 47575]
                                                        )
                                                      ]
                                                      spids: [-1 47534]
                                                    )
                                                  ]
                                                  spids: [-1 47578]
                                                )
                                                (C {(exit)} {($ VSub_Name "$lt_exit")})
                                              ]
                                              spids: [47509]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [47455 47590]
                                )
                              spids: [47451 47453]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                  spids: [47593]
                                )
                              ]
                              spids: [47593]
                            )
                            (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 47663]
                                                )
                                              ]
                                              spids: [-1 47673]
                                            )
                                          ]
                                          spids: [-1 47649]
                                        )
                                      ]
                                      spids: [-1 47676]
                                    )
                                    (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                                  ]
                                  spids: [-1 47617]
                                )
                              ]
                              spids: [-1 47685]
                            )
                            (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 47721]
                                        )
                                      ]
                                      spids: [-1 47735]
                                    )
                                  ]
                                  spids: [47702 47738]
                                )
                              spids: [47698 47700]
                            )
                            (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: [47778]
                                        )
                                      ]
                                      spids: [47778]
                                    )
                                  ]
                                  spids: [-1 47771]
                                )
                              ]
                              spids: [-1 47784]
                            )
                          ]
                          spids: [-1 43674]
                        )
                      ]
                      spids: [-1 47787]
                    )
                  ]
                  spids: [37950 37951 47790 -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 47823]
                        )
                      ]
                      spids: [-1 47834]
                    )
                    (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: [47848 47859 47871 -1]
                        )
                      ]
                      spids: [47838 47845 47874]
                    )
                    (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: [47998]
                                )
                              ]
                              spids: [47998]
                            )
                            (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: [48009]
                                )
                              ]
                              spids: [48009]
                            )
                          ]
                          spids: [47969 47971 48013 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [48020]
                                )
                              ]
                              spids: [48020]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:obj)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$output"))}
                                  spids: [48023]
                                )
                              ]
                              spids: [48023]
                            )
                          ]
                          spids: [48016 48017 48029 -1]
                        )
                      ]
                      spids: [47962 47966 48032]
                    )
                    (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: [48068]
                        )
                      ]
                      spids: [48068]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gentop)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [48071]
                        )
                      ]
                      spids: [48071]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:wl) op:Equal rhs:{(SQ )} spids:[48086])]
                      spids: [48086]
                    )
                    (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: [48129 48143]
                                              )
                                            }
                                          spids: [48126]
                                        )
                                      ]
                                      spids: [48126]
                                    )
                                  ]
                                  spids: [-1 48115]
                                )
                              ]
                              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: [48149]
                                    )
                                  ]
                                  spids: [48149]
                                )
                                (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: [48178]
                                    )
                                  ]
                                  spids: [48178]
                                )
                              ]
                              spids: [48146 48186]
                            )
                          ]
                          spids: [-1 48101]
                        )
                      ]
                      spids: [-1 48189]
                    )
                    (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: [48210]
                            )
                          ]
                          spids: [48210]
                        )
                      ]
                      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: [48227 48260]
                              ) (DQ (" ") ($ VSub_Name "$reload_conv_objs"))
                            }
                          spids: [48221]
                        )
                      ]
                      spids: [48221]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$obj"))}
                          spids: [48271]
                        )
                      ]
                      spids: [48271]
                    )
                    (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 48318]
                                )
                              ]
                              spids: [-1 48328]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [-1 48304]
                        )
                      ]
                      spids: [-1 48337]
                    )
                    (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 48369]
                                )
                              ]
                              spids: [-1 48379]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [-1 48355]
                        )
                      ]
                      spids: [-1 48404]
                    )
                    (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: [48439]
                                )
                              ]
                              spids: [48439]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$libobj"))}
                                  spids: [48447]
                                )
                              ]
                              spids: [48447]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$reload_cmds"))} 
                              {(SQ <"exit $?">)}
                            )
                          ]
                          spids: [-1 48432]
                        )
                      ]
                      spids: [-1 48464]
                    )
                    (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 48479]
                        )
                      ]
                      spids: [-1 48489]
                    )
                    (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                  ]
                  spids: [47794 47795 48498 -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: [48532]
                                )
                              ]
                              spids: [48532]
                            )
                          ]
                          spids: [48513 48516 48535 -1]
                        )
                      ]
                      spids: [48506 48510 48538]
                    )
                    (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: [48678 48693]
                                      )
                                    }
                                  spids: [48677]
                                )
                              ]
                              spids: [48677]
                            )
                            (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: [48697 48712]
                                      )
                                    }
                                  spids: [48696]
                                )
                              ]
                              spids: [48696]
                            )
                          ]
                          spids: [48655 48670 48715 -1]
                        )
                      ]
                      spids: [48648 48652 48718]
                    )
                    (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: [48764 48768]
                                          )
                                        }
                                      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: [48773 48777 48806 -1]
                                        )
                                      ]
                                      spids: [48762 48770 48809]
                                    )
                                  ]
                                  spids: [-1 48759]
                                )
                              ]
                              spids: [-1 48812]
                            )
                            (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: [48820 48835]
                                      )
                                    }
                                  spids: [48819]
                                )
                              ]
                              spids: [48819]
                            )
                            (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: [48839 48854]
                                      )
                                    }
                                  spids: [48838]
                                )
                              ]
                              spids: [48838]
                            )
                          ]
                          spids: [48729 48734 48857 -1]
                        )
                      ]
                      spids: [48722 48726 48860]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [48873]
                        )
                      ]
                      spids: [48873]
                    )
                    (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: [48899 48908 48910 -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: [48928 48937 48951 -1]
                                        )
                                      ]
                                      spids: [48917 48925 48954]
                                    )
                                  ]
                                  spids: [48913 48914 48957 -1]
                                )
                              ]
                              spids: [48888 48896 48960]
                            )
                          ]
                          spids: [48885 48963]
                        )
                      spids: [48881 48883]
                    )
                    (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: [49001 49008 49010 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                            )
                                          ]
                                          spids: [49013 49014 49025 -1]
                                        )
                                      ]
                                      spids: [48990 48998 49028]
                                    )
                                  ]
                                  spids: [48985 48987 49031 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(new_libs)} {(DQ (" ") ($ VSub_Name "$deplib"))})
                                  ]
                                  spids: [49034 49035 49046 -1]
                                )
                              ]
                              spids: [48978 48982 49049]
                            )
                          ]
                          spids: [48975 49052]
                        )
                      spids: [48971 48973]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$new_libs"))}
                          spids: [49055]
                        )
                      ]
                      spids: [49055]
                    )
                    (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: [49131 49138 49140 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(finalize_rpath)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [49143 49144 49155 -1]
                                        )
                                      ]
                                      spids: [49121 49128 49158]
                                    )
                                  ]
                                  spids: [49114 49161]
                                )
                              spids: [49108 49112]
                            )
                          ]
                          spids: [-1 49096]
                        )
                      ]
                      spids: [-1 49164]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [49172]
                        )
                      ]
                      spids: [49172]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [49175]
                        )
                      ]
                      spids: [49175]
                    )
                    (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: [49234]
                                                        )
                                                      ]
                                                      spids: [49234]
                                                    )
                                                  ]
                                                  spids: [-1 49231]
                                                )
                                              ]
                                              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: [49256 49263 49266 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} {(hardcode_libdirs)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
"$hardcode_libdir_separator"
                                                              ) ($ VSub_Name "$libdir")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [49269 49270 49283 -1]
                                                    )
                                                  ]
                                                  spids: [49247 49253 49286]
                                                )
                                              ]
                                              spids: [49240 49289]
                                            )
                                          ]
                                          spids: [-1 49217]
                                        )
                                      ]
                                      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: [49292 49313]
                                    )
                                  ]
                                  spids: [-1 49203]
                                )
                                (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: [49340 49347 49349 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(perm_rpath)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [49352 49353 49364 -1]
                                        )
                                      ]
                                      spids: [49330 49337 49367]
                                    )
                                  ]
                                  spids: [49316 49327]
                                )
                              ]
                              spids: [-1 49370]
                            )
                            (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: [49419 49439]
                                              )
                                            }
                                          spids: [49418]
                                        )
                                      ]
                                      spids: [49418]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (":") ($ VSub_Name "$libdir") (":")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [49451 49458 49460 -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: [49467]
                                                )
                                              ]
                                              spids: [49467]
                                            )
                                          ]
                                          spids: [49463 49465 49469 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (":") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [49472 49473 49483 -1]
                                        )
                                      ]
                                      spids: [49442 49448 49486]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") 
                                              (DQ (":") ($ VSub_Name "$testbindir") (":")) (Lit_Other "*")
                                            }
                                          ]
                                          spids: [49498 49505 49507 -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: [49514]
                                                )
                                              ]
                                              spids: [49514]
                                            )
                                          ]
                                          spids: [49510 49512 49516 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (":") ($ VSub_Name "$testbindir"))}
                                            )
                                          ]
                                          spids: [49519 49520 49530 -1]
                                        )
                                      ]
                                      spids: [49489 49495 49533]
                                    )
                                  ]
                                  spids: [49380 49415 49536 -1]
                                )
                              ]
                              spids: [49373 49377 49539]
                            )
                          ]
                          spids: [49189 49542]
                        )
                      spids: [49183 49187]
                    )
                    (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: [49574]
                                )
                              ]
                              spids: [49574]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "rpath=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                )
                              } {($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                            )
                          ]
                          spids: [-1 49571]
                        )
                      ]
                      spids: [-1 49589]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_rpath)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$rpath"))}
                          spids: [49592]
                        )
                      ]
                      spids: [49592]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [49599]
                        )
                      ]
                      spids: [49599]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [49602]
                        )
                      ]
                      spids: [49602]
                    )
                    (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: [49659]
                                                        )
                                                      ]
                                                      spids: [49659]
                                                    )
                                                  ]
                                                  spids: [-1 49656]
                                                )
                                              ]
                                              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: [49681 49688 49691 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} {(hardcode_libdirs)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
"$hardcode_libdir_separator"
                                                              ) ($ VSub_Name "$libdir")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [49694 49695 49708 -1]
                                                    )
                                                  ]
                                                  spids: [49672 49678 49711]
                                                )
                                              ]
                                              spids: [49665 49714]
                                            )
                                          ]
                                          spids: [-1 49642]
                                        )
                                      ]
                                      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: [49717 49738]
                                    )
                                  ]
                                  spids: [-1 49628]
                                )
                                (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: [49765 49772 49774 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(finalize_perm_rpath)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [49777 49778 49789 -1]
                                        )
                                      ]
                                      spids: [49755 49762 49792]
                                    )
                                  ]
                                  spids: [49741 49752]
                                )
                              ]
                              spids: [-1 49795]
                            )
                          ]
                          spids: [49614 49798]
                        )
                      spids: [49610 49612]
                    )
                    (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: [49830]
                                )
                              ]
                              spids: [49830]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "rpath=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                )
                              } {($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                            )
                          ]
                          spids: [-1 49827]
                        )
                      ]
                      spids: [-1 49845]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_rpath)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$rpath"))}
                          spids: [49848]
                        )
                      ]
                      spids: [49848]
                    )
                    (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: [49886 49908]
                                      )
                                    }
                                  spids: [49885]
                                )
                              ]
                              spids: [49885]
                            )
                            (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: [49912 49934]
                                      )
                                    }
                                  spids: [49911]
                                )
                              ]
                              spids: [49911]
                            )
                          ]
                          spids: [-1 49878]
                        )
                      ]
                      spids: [-1 49937]
                    )
                    (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 49972]
                        )
                      ]
                      spids: [-1 49986]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wrappers_required)
                          op: Equal
                          rhs: {(yes)}
                          spids: [49990]
                        )
                      ]
                      spids: [49990]
                    )
                    (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: [50017]
                                )
                              ]
                              spids: [50017]
                            )
                          ]
                          spids: [50001 50010 50021 -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: [50054]
                                        )
                                      ]
                                      spids: [50054]
                                    )
                                  ]
                                  spids: [-1 50051]
                                )
                              ]
                              spids: [-1 50058]
                            )
                          ]
                          spids: [50024 50034 50061 -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: [50097]
                                        )
                                      ]
                                      spids: [50097]
                                    )
                                  ]
                                  spids: [-1 50094]
                                )
                              ]
                              spids: [-1 50101]
                            )
                          ]
                          spids: [50064 50065 50104 -1]
                        )
                      ]
                      spids: [49994 49998 50107]
                    )
                    (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: [50131 50151]
                                      )
                                    }
                                  spids: [50130]
                                )
                              ]
                              spids: [50130]
                            )
                            (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: [50154]
                                )
                              ]
                              spids: [50154]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:exit_status)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [50166]
                                )
                              ]
                              spids: [50166]
                            )
                            (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: [50204 50238]
                                              )
                                            }
                                          spids: [50203]
                                        )
                                      ]
                                      spids: [50203]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$postlink_cmds"))} 
                                      {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 50193]
                                )
                              ]
                              spids: [-1 50252]
                            )
                            (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 50279]
                                )
                              ]
                              spids: [-1 50289]
                            )
                            (C {(exit)} {($ VSub_Name "$exit_status")})
                          ]
                          spids: [-1 50123]
                        )
                      ]
                      spids: [-1 50298]
                    )
                    (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: [50317]
                                )
                              ]
                              spids: [50317]
                            )
                          ]
                          spids: [-1 50314]
                        )
                      ]
                      spids: [-1 50332]
                    )
                    (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: [50349]
                                )
                              ]
                              spids: [50349]
                            )
                          ]
                          spids: [-1 50346]
                        )
                      ]
                      spids: [-1 50363]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_var)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [50367]
                        )
                      ]
                      spids: [50367]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_var)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [50370]
                        )
                      ]
                      spids: [50370]
                    )
                    (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: [50405]
                                        )
                                      ]
                                      spids: [50405]
                                    )
                                    (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: [50417 50430]
                                        )
                                      spids: [50413 50415]
                                    )
                                    (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: [50433]
                                        )
                                      ]
                                      spids: [50433]
                                    )
                                  ]
                                  spids: [-1 50398]
                                )
                              ]
                              spids: [-1 50446]
                            )
                            (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: [50467]
                                        )
                                      ]
                                      spids: [50467]
                                    )
                                    (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: [50479 50492]
                                        )
                                      spids: [50475 50477]
                                    )
                                    (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: [50495]
                                        )
                                      ]
                                      spids: [50495]
                                    )
                                  ]
                                  spids: [-1 50460]
                                )
                              ]
                              spids: [-1 50508]
                            )
                          ]
                          spids: [-1 50384]
                        )
                      ]
                      spids: [-1 50511]
                    )
                    (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: [50535]
                                )
                              ]
                              spids: [50535]
                            )
                            (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: [50548 50568]
                                      )
                                    }
                                  spids: [50547]
                                )
                              ]
                              spids: [50547]
                            )
                            (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: [50622 50656]
                                              )
                                            }
                                          spids: [50621]
                                        )
                                      ]
                                      spids: [50621]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$postlink_cmds"))} 
                                      {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 50611]
                                )
                              ]
                              spids: [-1 50670]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [-1 50528]
                        )
                      ]
                      spids: [-1 50679]
                    )
                    (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: [50703]
                                )
                              ]
                              spids: [50703]
                            )
                            (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: [50711]
                                )
                              ]
                              spids: [50711]
                            )
                            (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 50696]
                        )
                      ]
                      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: [50756]
                                    )
                                  ]
                                  spids: [50756]
                                )
                                (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: [50781 50797]
                                                  )
                                                }
                                              spids: [50780]
                                            )
                                          ]
                                          spids: [50780]
                                        )
                                      ]
                                      spids: [-1 50777]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [50807]
                                        )
                                      ]
                                      spids: [50807]
                                    )
                                  ]
                                  spids: [50800 50810]
                                )
                              ]
                              spids: [-1 50753]
                            )
                          ]
                          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: [50816]
                                )
                              ]
                              spids: [50816]
                            )
                            (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: [50824]
                                )
                              ]
                              spids: [50824]
                            )
                          ]
                          spids: [50813 50832]
                        )
                      ]
                      spids: [50736 50835]
                    )
                    (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: [50844 50866]
                              )
                            }
                          spids: [50843]
                        )
                      ]
                      spids: [50843]
                    )
                    (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: [50928 50964]
                                      )
                                    }
                                  spids: [50927]
                                )
                              ]
                              spids: [50927]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$postlink_cmds"))} 
                              {(SQ <"exit $?">)}
                            )
                          ]
                          spids: [-1 50915]
                        )
                      ]
                      spids: [-1 50978]
                    )
                    (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: [51050]
                                                )
                                              ]
                                              spids: [51050]
                                            )
                                          ]
                                          spids: [-1 51047]
                                        )
                                        (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: [51093]
                                                )
                                              ]
                                              spids: [51093]
                                            )
                                          ]
                                          spids: [51072 51090]
                                        )
                                      ]
                                      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: [51113]
                                            )
                                          ]
                                          spids: [51113]
                                        )
                                      ]
                                      spids: [51103 51125]
                                    )
                                  ]
                                  spids: [51026 51128]
                                )
                              spids: [51022 51024]
                            )
                            (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: [51134 51136]
                                        ) ("; ") ($ VSub_Name "$relink_command") (")")
                                      )
                                    }
                                  spids: [51131]
                                )
                              ]
                              spids: [51131]
                            )
                            (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: [51144 51158]
                                      )
                                    }
                                  spids: [51143]
                                )
                              ]
                              spids: [51143]
                            )
                          ]
                          spids: [-1 51010]
                        )
                      ]
                      spids: [-1 51161]
                    )
                    (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: [51209]
                                        )
                                      ]
                                      spids: [51209]
                                    )
                                  ]
                                  spids: [51191 51193 51212 -1]
                                )
                              ]
                              spids: [51184 51188 51215]
                            )
                            (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: [51235]
                                        )
                                      ]
                                      spids: [51235]
                                    )
                                    (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: [51253]
                                        )
                                      ]
                                      spids: [51253]
                                    )
                                  ]
                                  spids: [51229 51232 51256 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:exeext)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [51262]
                                        )
                                      ]
                                      spids: [51262]
                                    )
                                  ]
                                  spids: [51259 51260 51264 -1]
                                )
                              ]
                              spids: [51222 51226 51267]
                            )
                            (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: [51304]
                                        )
                                      ]
                                      spids: [51304]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output_path)
                                          op: Equal
                                          rhs: {($ VSub_Name "$func_dirname_result")}
                                          spids: [51308]
                                        )
                                      ]
                                      spids: [51308]
                                    )
                                    (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: [51312]
                                        )
                                      ]
                                      spids: [51312]
                                    )
                                    (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: [51323]
                                        )
                                      ]
                                      spids: [51323]
                                    )
                                    (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: [51361]
                                        )
                                      ]
                                    )
                                    (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: [51387]
                                        )
                                      ]
                                      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: [51477]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [-1 51470]
                                                )
                                              ]
                                              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: [51489]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [51482 51494]
                                            )
                                          ]
                                          spids: [51445]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [51277 51287 51500 -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: [51535]
                                        )
                                      ]
                                    )
                                    (C {(chmod)} {(Lit_Other "+") (x)} {($ VSub_Name "$output")})
                                  ]
                                  spids: [51503 51505 51548 -1]
                                )
                              ]
                              spids: [51270 51274 51551]
                            )
                          ]
                          spids: [51173]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                  ]
                  spids: [48502 48503 51562 -1]
                )
              ]
              spids: [37726 37730 51565]
            )
            (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: [51602]
                                )
                              ]
                              spids: [51602]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$convenience"))}
                                  spids: [51610]
                                )
                              ]
                              spids: [51610]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [51616]
                                )
                              ]
                              spids: [51616]
                            )
                          ]
                          spids: [-1 51599]
                        )
                      ]
                      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: [51639]
                                    )
                                  ]
                                  spids: [51639]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:build_libtool_libs)
                                      op: Equal
                                      rhs: {(no)}
                                      spids: [51645]
                                    )
                                  ]
                                  spids: [51645]
                                )
                              ]
                              spids: [-1 51636]
                            )
                          ]
                          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: [51652]
                                )
                              ]
                              spids: [51652]
                            )
                            (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 51683]
                                )
                              ]
                              spids: [-1 51696]
                            )
                          ]
                          spids: [51649 51699]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:addlibs)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$old_convenience"))}
                              spids: [51702]
                            )
                          ]
                          spids: [51702]
                        )
                      ]
                      spids: [51620 51708]
                    )
                    (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: [51726]
                                )
                              ]
                              spids: [51726]
                            )
                            (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 51723]
                        )
                      ]
                      spids: [-1 51765]
                    )
                    (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: [51799]
                                )
                              ]
                              spids: [51799]
                            )
                          ]
                          spids: [-1 51796]
                        )
                      ]
                      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: [51825]
                                    )
                                  ]
                                  spids: [51825]
                                )
                                (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 51822]
                            )
                          ]
                          spids: [-1 51864]
                        )
                        (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: [51904 51921]
                                                )
                                              spids: [51900 -1]
                                            )
                                            (C {(sort)})
                                            (SimpleCommand
                                              words: [{(sort)} {(-uc)}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                  spids: [51933]
                                                )
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: 2
                                                  arg_word: {(1)}
                                                  spids: [51936]
                                                )
                                              ]
                                            )
                                          ]
                                          negated: False
                                        )
                                      spids: [51894 51938]
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              action: [(C {(Lit_Other ":")})]
                              spids: [-1 51941]
                            )
                          ]
                          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: [51957]
                                )
                              ]
                              spids: [51957]
                            )
                            (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: [51985]
                                )
                              ]
                              spids: [51985]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [51989]
                                )
                              ]
                              spids: [51989]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:counter)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [51992]
                                )
                              ]
                              spids: [51992]
                            )
                            (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: [52015]
                                        )
                                      ]
                                      spids: [52015]
                                    )
                                    (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: [52037]
                                                )
                                              ]
                                              spids: [52037]
                                            )
                                          ]
                                          spids: [52033 52035 52040 -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: [52072]
                                                        )
                                                      ]
                                                      spids: [52072]
                                                    )
                                                    (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: [52088]
                                                        )
                                                      ]
                                                      spids: [52088]
                                                    )
                                                    (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: [52103 52113 52115 -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 52136]
                                                                )
                                                              ]
                                                              spids: [-1 52141]
                                                            )
                                                          ]
                                                          spids: [52118 52119 52143 -1]
                                                        )
                                                      ]
                                                      spids: [52092 52100 52146]
                                                    )
                                                  ]
                                                  spids: [52061 52149]
                                                )
                                            )
                                            (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: [52043 52053 52182 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(oldobjs)} 
                                              {(DQ (" ") ($ VSub_Name "$obj"))}
                                            )
                                          ]
                                          spids: [52185 52186 52197 -1]
                                        )
                                      ]
                                      spids: [52021 52029 52200]
                                    )
                                  ]
                                  spids: [52005 52203]
                                )
                              spids: [52001 -1]
                            )
                          ]
                          spids: [51947 52206]
                        )
                        (C {(func_to_tool_file)} {(DQ ($ VSub_Name "$oldlib"))} 
                          {(func_convert_file_msys_to_w32)}
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:tool_oldlib)
                              op: Equal
                              rhs: {($ VSub_Name "$func_to_tool_file_result")}
                              spids: [52218]
                            )
                          ]
                          spids: [52218]
                        )
                        (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: [52239]
                            )
                          ]
                          spids: [52239]
                        )
                        (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: [52273]
                                    )
                                  ]
                                  spids: [52273]
                                )
                              ]
                              spids: [-1 52270]
                            )
                            (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: [52307 52324]
                                    )
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: 
                                        {($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$libname") 
                                          (.libcmd)
                                        }
                                      spids: [52326]
                                    )
                                  ]
                                  spids: [52303 -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: [52344]
                                    )
                                  ]
                                  spids: [52344]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmds)
                                      op: Equal
                                      rhs: {($ VSub_Name "$old_archive_cmds")}
                                      spids: [52352]
                                    )
                                  ]
                                  spids: [52352]
                                )
                              ]
                              spids: [52277 52288]
                            )
                          ]
                          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: [52370]
                                )
                              ]
                              spids: [52370]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {(Lit_Other ":")}
                                  spids: [52374]
                                )
                              ]
                              spids: [52374]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objlist)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [52378]
                                )
                              ]
                              spids: [52378]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:concat_cmds)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [52381]
                                )
                              ]
                              spids: [52381]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$oldobjs")}
                                  spids: [52384]
                                )
                              ]
                              spids: [52384]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [52388]
                                )
                              ]
                              spids: [52388]
                            )
                            (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: [52407]
                                        )
                                      ]
                                      spids: [52407]
                                    )
                                  ]
                                  spids: [52404 52411]
                                )
                              spids: [52400 -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: [52430]
                                )
                              ]
                              spids: [52430]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:len)
                                  op: Equal
                                  rhs: {($ VSub_Name "$len0")}
                                  spids: [52434]
                                )
                              ]
                              spids: [52434]
                            )
                            (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: [52467]
                                        )
                                      ]
                                      spids: [52467]
                                    )
                                    (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 52496]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:oldobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name "$objlist")}
                                              spids: [52509]
                                            )
                                          ]
                                          spids: [52509]
                                        )
                                        (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: [52532]
                                                    )
                                                  ]
                                                  spids: [52532]
                                                )
                                              ]
                                              spids: [-1 52529]
                                            )
                                          ]
                                          spids: [-1 52536]
                                        )
                                        (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: [52549]
                                                )
                                              ]
                                              spids: [52549]
                                            )
                                          ]
                                          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: [52566]
                                            )
                                          ]
                                          spids: [52566]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:len)
                                              op: Equal
                                              rhs: {($ VSub_Name "$len0")}
                                              spids: [52569]
                                            )
                                          ]
                                          spids: [52569]
                                        )
                                      ]
                                      spids: [52502 52573]
                                    )
                                  ]
                                  spids: [52447 52576]
                                )
                              spids: [52443 -1]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {($ VSub_Name "$save_RANLIB")}
                                  spids: [52579]
                                )
                              ]
                              spids: [52579]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$objlist")}
                                  spids: [52583]
                                )
                              ]
                              spids: [52583]
                            )
                            (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 52604]
                                )
                              ]
                              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: [52616 52631]
                            )
                          ]
                          spids: [52356 52634]
                        )
                      ]
                      spids: [51803 52637]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$cmds"))} {(SQ <"exit $?">)})
                  ]
                  spids: [51582 52651]
                )
              spids: [51578 51580]
            )
            (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: [52695]
                        )
                      ]
                      spids: [52695]
                    )
                    (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: [52710]
                            )
                          ]
                          spids: [52710]
                        )
                      ]
                      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: [52764]
                                        )
                                      ]
                                      spids: [52764]
                                    )
                                  ]
                                  spids: [-1 52761]
                                )
                                (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: [52807]
                                        )
                                      ]
                                      spids: [52807]
                                    )
                                  ]
                                  spids: [52786 52804]
                                )
                              ]
                              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: [52827]
                                    )
                                  ]
                                  spids: [52827]
                                )
                              ]
                              spids: [52817 52839]
                            )
                          ]
                          spids: [52740 52842]
                        )
                      spids: [52736 52738]
                    )
                    (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: [52852 52854]
                                ) ("; ") ($ VSub_Name "$SHELL") (" ") ($ VSub_Name "$progpath") (" ") ($ VSub_Name "$preserve_args") 
                                (" --mode=relink ") ($ VSub_Name "$libtool_args") (" @inst_prefix_dir@)")
                              )
                            }
                          spids: [52849]
                        )
                      ]
                      spids: [52849]
                    )
                    (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: [52868 52882]
                              )
                            }
                          spids: [52867]
                        )
                      ]
                      spids: [52867]
                    )
                    (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: [52902]
                                )
                              ]
                              spids: [52902]
                            )
                          ]
                          spids: [-1 52899]
                        )
                      ]
                      spids: [-1 52905]
                    )
                    (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 52961]
                                                )
                                              ]
                                              spids: [-1 52967]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:output)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$outputname")
                                                      ) (i)
                                                    }
                                                  spids: [52970]
                                                )
                                              ]
                                              spids: [52970]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [52983]
                                                )
                                              ]
                                              spids: [52983]
                                            )
                                            (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: [53017]
                                                                )
                                                              ]
                                                              spids: [53017]
                                                            )
                                                            (C {(func_resolve_sysroot)} 
                                                              {(DQ ($ VSub_Name "$deplib"))}
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike "libdir=") 
                                                                (CommandSubPart
                                                                  command_list: 
                                                                    (CommandList
                                                                      children: [
                                                                        (C {(${ VSub_Name SED)} {(-n)} 
                                                                          {(-e)} {(SQ <"s/^libdir=\\(.*\\)$/\\1/p">)} {($ VSub_Name "$func_resolve_sysroot_result")}
                                                                        )
                                                                      ]
                                                                    )
                                                                  left_token: <Left_Backtick "`">
                                                                  spids: [53033 53047]
                                                                )
                                                              }
                                                            )
                                                            (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: [53077 53081]
                                                                  ) ($ VSub_Name "$libdir") (/) ($ VSub_Name "$name")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [53005 53007 53088 -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: [53091 53093 53125 -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: [53128 53130 53162 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(newdependency_libs)} 
                                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                            )
                                                          ]
                                                          spids: [53165 53166 53177 -1]
                                                        )
                                                      ]
                                                      spids: [52998 53002 53180]
                                                    )
                                                  ]
                                                  spids: [52995 53183]
                                                )
                                              spids: [52991 52993]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$newdependency_libs"))}
                                                  spids: [53186]
                                                )
                                              ]
                                              spids: [53186]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlfiles)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [53192]
                                                )
                                              ]
                                              spids: [53192]
                                            )
                                            (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: [53227]
                                                                )
                                                              ]
                                                              spids: [53227]
                                                            )
                                                            (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: [53236 53250]
                                                                )
                                                              }
                                                            )
                                                            (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: [53280 53284]
                                                                  ) ($ VSub_Name "$libdir") (/) ($ VSub_Name "$name")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [53215 53217 53291 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(newdlfiles)} 
                                                              {(DQ (" ") ($ VSub_Name "$lib"))}
                                                            )
                                                          ]
                                                          spids: [53294 53295 53306 -1]
                                                        )
                                                      ]
                                                      spids: [53208 53212 53309]
                                                    )
                                                  ]
                                                  spids: [53205 53312]
                                                )
                                              spids: [53201 53203]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlfiles)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$newdlfiles"))}
                                                  spids: [53315]
                                                )
                                              ]
                                              spids: [53315]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [53321]
                                                )
                                              ]
                                              spids: [53321]
                                            )
                                            (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: [53371]
                                                                )
                                                              ]
                                                              spids: [53371]
                                                            )
                                                            (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: [53380 53394]
                                                                )
                                                              }
                                                            )
                                                            (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: [53424 53428]
                                                                  ) ($ VSub_Name "$libdir") (/) ($ VSub_Name "$name")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [53343 53345 53435 -1]
                                                        )
                                                      ]
                                                      spids: [53336 53340 53438]
                                                    )
                                                  ]
                                                  spids: [53333 53441]
                                                )
                                              spids: [53329 53331]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlprefiles)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$newdlprefiles"))}
                                                  spids: [53444]
                                                )
                                              ]
                                              spids: [53444]
                                            )
                                          ]
                                          spids: [-1 52947]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [53453]
                                            )
                                          ]
                                          spids: [53453]
                                        )
                                        (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: [53494]
                                                            )
                                                          ]
                                                          spids: [53494]
                                                        )
                                                      ]
                                                      spids: [53475 53492 53499 -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: [53506 53508]
                                                                  ) (DQ (/) ($ VSub_Name "$lib"))
                                                                }
                                                              spids: [53505]
                                                            )
                                                          ]
                                                          spids: [53505]
                                                        )
                                                      ]
                                                      spids: [53502 53503 53514 -1]
                                                    )
                                                  ]
                                                  spids: [53468 53472 53517]
                                                )
                                                (C {(func_append)} {(newdlfiles)} 
                                                  {(DQ (" ") ($ VSub_Name "$abs"))}
                                                )
                                              ]
                                              spids: [53465 53530]
                                            )
                                          spids: [53461 53463]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlfiles)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$newdlfiles"))}
                                              spids: [53533]
                                            )
                                          ]
                                          spids: [53533]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlprefiles)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [53539]
                                            )
                                          ]
                                          spids: [53539]
                                        )
                                        (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: [53580]
                                                            )
                                                          ]
                                                          spids: [53580]
                                                        )
                                                      ]
                                                      spids: [53561 53578 53585 -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: [53592 53594]
                                                                  ) (DQ (/) ($ VSub_Name "$lib"))
                                                                }
                                                              spids: [53591]
                                                            )
                                                          ]
                                                          spids: [53591]
                                                        )
                                                      ]
                                                      spids: [53588 53589 53600 -1]
                                                    )
                                                  ]
                                                  spids: [53554 53558 53603]
                                                )
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {(DQ (" ") ($ VSub_Name "$abs"))}
                                                )
                                              ]
                                              spids: [53551 53616]
                                            )
                                          spids: [53547 53549]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlprefiles)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$newdlprefiles"))}
                                              spids: [53619]
                                            )
                                          ]
                                          spids: [53619]
                                        )
                                      ]
                                      spids: [53450 53625]
                                    )
                                    (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: [53669]
                                        )
                                      ]
                                      spids: [53669]
                                    )
                                    (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: [53771]
                                                        )
                                                      ]
                                                      spids: [53771]
                                                    )
                                                  ]
                                                  spids: [-1 53757]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:tdlname)
                                                      op: Equal
                                                      rhs: {(../bin/) ($ VSub_Name "$dlname")}
                                                      spids: [53783]
                                                    )
                                                  ]
                                                  spids: [53783]
                                                )
                                              ]
                                              spids: [53776 53788]
                                            )
                                          ]
                                          spids: [53688 53733 53791 -1]
                                        )
                                      ]
                                      spids: [53673 53685 53794]
                                    )
                                    (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: [53799]
                                        )
                                      ]
                                    )
                                    (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: [53918]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [-1 53913]
                                        )
                                      ]
                                      spids: [-1 53931]
                                    )
                                  ]
                                  spids: [52931 53934]
                                )
                              spids: [52925 52929]
                            )
                          ]
                          spids: [52917]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(func_show_eval)} 
                      {
                        (SQ 
                          <
"( cd \"$output_objdir\" && $RM \"$outputname\" && $LN_S \"../$outputname\" \"$outputname\" )"
                          >
                        )
                      } {(SQ <"exit $?">)}
                    )
                  ]
                  spids: [52690 52692 53960 -1]
                )
              ]
              spids: [52683 52687 53963]
            )
            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
          ]
          spids: [22900]
        )
      spids: [22895 22899]
    )
    (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: [53973]
        )
        (C {(func_mode_link)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
              spids: [54005 54011]
            )
          }
        )
      ]
      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: [54029]
                )
              ]
              spids: [54029]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(SQ )} spids:[54035])]
              spids: [54035]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rmforce) op:Equal rhs:{(SQ )} spids:[54038])]
              spids: [54038]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:exit_status) op:Equal rhs:{(0)} spids:[54041])]
              spids: [54041]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$magic"))}
                  spids: [54054]
                )
              ]
              spids: [54054]
            )
            (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: [54089]
                                )
                              ]
                              spids: [54089]
                            )
                          ]
                          spids: [54076 54077 54092 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other "*")}]
                          action: [(C {(func_append)} {(RM)} {(DQ (" ") ($ VSub_Name "$arg"))})]
                          spids: [54095 54097 54108 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [(C {(func_append)} {(files)} {(DQ (" ") ($ VSub_Name "$arg"))})]
                          spids: [54111 54112 54123 -1]
                        )
                      ]
                      spids: [54069 54073 54126]
                    )
                  ]
                  spids: [54066 54129]
                )
              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:[54153])]
              spids: [54153]
            )
            (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: [54183]
                        )
                      ]
                      spids: [54183]
                    )
                    (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: [54206]
                                )
                              ]
                              spids: [54206]
                            )
                          ]
                          spids: [-1 54203]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:odir)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$dir") (/) ($ VSub_Name "$objdir"))}
                              spids: [54215]
                            )
                          ]
                          spids: [54215]
                        )
                      ]
                      spids: [54212 54223]
                    )
                    (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: [54233]
                        )
                      ]
                      spids: [54233]
                    )
                    (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: [54251]
                            )
                          ]
                          spids: [54251]
                        )
                      ]
                      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: [54289 54296 54298 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(rmdirs)} {(DQ (" ") ($ VSub_Name "$odir"))})
                                  ]
                                  spids: [54301 54302 54313 -1]
                                )
                              ]
                              spids: [54278 54286 54316]
                            )
                          ]
                          spids: [-1 54275]
                        )
                      ]
                      spids: [-1 54319]
                    )
                    (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: [54342]
                                        )
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 2
                                          arg_word: {(1)}
                                          spids: [54345]
                                        )
                                      ]
                                      spids: [54329]
                                    )
                                    (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: [54364]
                                            )
                                            (Redir
                                              op_id: Redir_GreatAnd
                                              fd: 2
                                              arg_word: {(1)}
                                              spids: [54367]
                                            )
                                          ]
                                          spids: [54351]
                                        )
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name "$file"))})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(Lit_Other ":")})]
                          spids: [-1 54382]
                        )
                        (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: [54402]
                                )
                              ]
                              spids: [54402]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [54388 54399]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$rmforce"))} {(Lit_Other "=")} {(yes)})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [54409 54422]
                        )
                      ]
                      spids: [-1 54428]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rmfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$file"))}
                          spids: [54432]
                        )
                      ]
                      spids: [54432]
                    )
                    (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: [54488 54503]
                                        )
                                      spids: [54484 54486]
                                    )
                                    (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: [54553 54560 54562 -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: [54565 54566 54589 -1]
                                                )
                                              ]
                                              spids: [54542 54550 54592]
                                            )
                                            (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: [54538 54539 54624 -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 54642]
                                                )
                                              ]
                                              spids: [-1 54660]
                                            )
                                            (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 54675]
                                                )
                                              ]
                                              spids: [-1 54693]
                                            )
                                          ]
                                          spids: [54627 54628 54700 -1]
                                        )
                                      ]
                                      spids: [54529 54535 54703]
                                    )
                                  ]
                                  spids: [-1 54464]
                                )
                              ]
                              spids: [-1 54706]
                            )
                          ]
                          spids: [54446 54448 54709 -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 54776]
                                        )
                                      ]
                                      spids: [-1 54791]
                                    )
                                    (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 54824]
                                        )
                                      ]
                                      spids: [-1 54839]
                                    )
                                  ]
                                  spids: [-1 54731]
                                )
                              ]
                              spids: [-1 54842]
                            )
                          ]
                          spids: [54713 54715 54845 -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: [54870]
                                        )
                                      ]
                                      spids: [54870]
                                    )
                                    (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: [54900]
                                                )
                                              ]
                                              spids: [54900]
                                            )
                                            (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: [54918]
                                                )
                                              ]
                                              spids: [54918]
                                            )
                                            (C {(func_append)} {(rmfiles)} 
                                              {(DQ (" ") ($ VSub_Name "$file"))}
                                            )
                                          ]
                                          spids: [54881 54883 54940 -1]
                                        )
                                      ]
                                      spids: [54874 54878 54943]
                                    )
                                    (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: [54981]
                                                        )
                                                      ]
                                                      spids: [54981]
                                                    )
                                                    (C {(func_source)} 
                                                      {
                                                        ($ VSub_Name 
"$func_ltwrapper_scriptname_result"
                                                        )
                                                      }
                                                    )
                                                    (C {(func_append)} {(rmfiles)} 
                                                      {
                                                        (DQ (" ") 
                                                          ($ VSub_Name 
"$func_ltwrapper_scriptname_result"
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 54971]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:relink_command)
                                                      op: Equal
                                                      rhs: {(SQ )}
                                                      spids: [55002]
                                                    )
                                                  ]
                                                  spids: [55002]
                                                )
                                                (C {(func_source)} 
                                                  {($ VSub_Name "$dir") (/) 
                                                    ($ VSub_Name "$noexename")
                                                  }
                                                )
                                              ]
                                              spids: [54999 55012]
                                            )
                                            (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 55069]
                                                )
                                              ]
                                              spids: [-1 55084]
                                            )
                                            (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 55106]
                                                )
                                              ]
                                              spids: [-1 55124]
                                            )
                                          ]
                                          spids: [-1 54959]
                                        )
                                      ]
                                      spids: [-1 55127]
                                    )
                                  ]
                                  spids: [-1 54867]
                                )
                              ]
                              spids: [-1 55130]
                            )
                          ]
                          spids: [54849 54850 55133 -1]
                        )
                      ]
                      spids: [54439 54443 55136]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name "$RM") (" ") ($ VSub_Name "$rmfiles"))} 
                      {(SQ <"exit_status=1">)}
                    )
                  ]
                  spids: [54166 55152]
                )
              spids: [54162 54164]
            )
            (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 55183]
                        )
                      ]
                      spids: [-1 55195]
                    )
                  ]
                  spids: [55169 55198]
                )
              spids: [55165 55167]
            )
            (C {(exit)} {($ VSub_Name "$exit_status")})
          ]
          spids: [54023]
        )
      spids: [54018 54022]
    )
    (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: [55209]
        )
        (C {(func_mode_uninstall)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
              spids: [55241 55247]
            )
          }
        )
      ]
      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: [55263]
                )
              ]
              spids: [55263]
            )
            (C {(func_fatal_help)} {(DQ ("you must specify a MODE"))})
          ]
          spids: [55260]
        )
      ]
      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 55311]
        )
      ]
      spids: [-1 55327]
    )
    (C {(exit)} {($ VSub_Name "$exit_status")})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_libtool_libs) op:Equal rhs:{(no)} spids:[55370])]
      spids: [55370]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_old_libs) op:Equal rhs:{(yes)} spids:[55373])]
      spids: [55373]
    )
    (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: [55391 55392 55397 -1]
                          )
                          (case_arm
                            pat_list: [{(Lit_Other "*")}]
                            action: [(C {(echo)} {(yes)})]
                            spids: [55399 55400 55405 -1]
                          )
                        ]
                        spids: [55385 55389 55407]
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [55384 55408]
              )
            }
          spids: [55383]
        )
      ]
      spids: [55383]
    )
  ]
)