(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PROGRAM) op:Equal rhs:{(ltmain.sh)} spids:[209])]
      spids: [209]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PACKAGE) op:Equal rhs:{(libtool)} spids:[212])]
      spids: [212]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:VERSION)
          op: Equal
          rhs: {(DQ ("2.2.6b Debian-2.2.6b-2"))}
          spids: [215]
        )
      ]
      spids: [215]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TIMESTAMP) op:Equal rhs:{(DQ )} spids:[220])]
      spids: [220]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:package_revision) op:Equal rhs:{(1.3017)} spids:[224])]
      spids: [224]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(test)} {(-n)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name ZSH_VERSION>
                            suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                            spids: [238 242]
                          )
                        )
                      }
                    )
                    (Subshell
                      child: (C {(emulate)} {(sh)})
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [253]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [256]
                        )
                      ]
                      spids: [247 251]
                    )
                  ]
                  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: [268]
                )
              ]
              spids: [268]
            )
            (C {(alias)} {(-g)} {(SQ <"${1+\"$@\"}">) (Lit_Other "=") (SQ <"\"$@\"">)})
            (C {(setopt)} {(NO_GLOB_SUBST)})
          ]
          spids: [-1 260]
        )
      ]
      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:[309])]
                        spids: [303 307]
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [302 311]
              )
            }
          arms: [
            (case_arm
              pat_list: [{(Lit_Other "*") (posix) (Lit_Other "*")}]
              action: [(C {(set)} {(-o)} {(posix)})]
              spids: [315 318 325 -1]
            )
          ]
          spids: [300 313 327]
        )
      ]
      spids: [297 329]
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:BIN_SH) op:Equal rhs:{(xpg4)} spids:[331])]
          spids: [331]
        )
      terminator: <Op_Semi ";">
    )
    (C {(export)} {(BIN_SH)})
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:DUALCASE) op:Equal rhs:{(1)} spids:[342])]
          spids: [342]
        )
      terminator: <Op_Semi ";">
    )
    (C {(export)} {(DUALCASE)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_user_locale) op:Equal rhs:{(SQ )} spids:[366])]
      spids: [366]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_safe_locale) op:Equal rhs:{(SQ )} spids:[368])]
      spids: [368]
    )
    (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: [388 438]
        )
      spids: [375 -1]
    )
    (C {($ VSub_Name "$lt_unset")} {(CDPATH)})
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name CP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("cp -f"))})
          spids: [452 458]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name ECHO>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (echo))})
          spids: [462 468]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name EGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("/bin/grep -E"))})
          spids: [472 478]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name FGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("/bin/grep -F"))})
          spids: [482 488]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name GREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (/bin/grep))})
          spids: [492 498]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name LN_S>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("ln -s"))})
          spids: [502 508]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name MAKE>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (make))})
          spids: [512 518]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name MKDIR>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (mkdir))})
          spids: [522 528]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name MV>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("mv -f"))})
          spids: [532 538]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name RM>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ("rm -f"))})
          spids: [542 548]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name SED>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (/bin/sed))})
          spids: [552 558]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name SHELL>
          suffix_op: 
            (StringUnary
              op_id: VTest_Equals
              arg_word: 
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name CONFIG_SHELL>
                      suffix_op: 
                        (StringUnary
                          op_id: VTest_Hyphen
                          arg_word: {(Lit_Slash /) (bin) (Lit_Slash /) (sh)}
                        )
                      spids: [566 573]
                    )
                  )
                }
            )
          spids: [562 575]
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name Xsed>
          suffix_op: 
            (StringUnary
              op_id: VTest_Equals
              arg_word: {(DQ ($ VSub_Name "$SED") (" -e 1s/^X//"))}
            )
          spids: [579 586]
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SUCCESS) op:Equal rhs:{(0)} spids:[592])]
      spids: [592]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_FAILURE) op:Equal rhs:{(1)} spids:[595])]
      spids: [595]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_MISMATCH) op:Equal rhs:{(63)} spids:[598])]
      spids: [598]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SKIP) op:Equal rhs:{(77)} spids:[604])]
      spids: [604]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:exit_status)
          op: Equal
          rhs: {($ VSub_Name "$EXIT_SUCCESS")}
          spids: [611]
        )
      ]
      spids: [611]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:lt_nl) op:Equal rhs:{(SQ <"\n">)} spids:[618])]
      spids: [618]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:IFS)
          op: Equal
          rhs: {(DQ (" \t") ($ VSub_Name "$lt_nl"))}
          spids: [623]
        )
      ]
      spids: [623]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:dirname)
          op: Equal
          rhs: {(DQ ("s,/[^/]*") (Lit_Other "$") (",,"))}
          spids: [630]
        )
      ]
      spids: [630]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:basename) op:Equal rhs:{(DQ ("s,^.*/,,"))} spids:[637])]
      spids: [637]
    )
    (FuncDef
      name: func_dirname_and_basename
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_dirname_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name "$ECHO")} {(DQ (X) (${ VSub_Number 1))})
                                  (C {($ VSub_Name "$Xsed")} {(-e)} {(DQ ($ VSub_Name "$dirname"))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [692 711]
                      )
                    }
                  spids: [691]
                )
              ]
              spids: [691]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ (X) ($ VSub_Name "$func_dirname_result"))} {(Lit_Other "=")} 
                          {(DQ (X) (${ VSub_Number 1))}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_dirname_result)
                          op: Equal
                          rhs: {(DQ (${ VSub_Number 3))}
                          spids: [736]
                        )
                      ]
                      spids: [736]
                    )
                  ]
                  spids: [-1 733]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_dirname_result)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name "$func_dirname_result") (${ VSub_Number 2))}
                      spids: [747]
                    )
                  ]
                  spids: [747]
                )
              ]
              spids: [744 756]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_basename_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name "$ECHO")} {(DQ (X) (${ VSub_Number 1))})
                                  (C {($ VSub_Name "$Xsed")} {(-e)} {(DQ ($ VSub_Name "$basename"))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [760 779]
                      )
                    }
                  spids: [759]
                )
              ]
              spids: [759]
            )
          ]
          spids: [684]
        )
      spids: [679 683]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:progpath)
          op: Equal
          rhs: {(DQ ($ VSub_Number "$0"))}
          spids: [803]
        )
      ]
      spids: [803]
    )
    (C {(func_dirname_and_basename)} {(DQ ($ VSub_Name "$progpath"))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:progname)
          op: Equal
          rhs: {($ VSub_Name "$func_basename_result")}
          spids: [824]
        )
      ]
      spids: [824]
    )
    (Case
      to_match: {($ VSub_Name "$progname")}
      arms: [
        (case_arm
          pat_list: [{(-) (Lit_Other "*")}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progname)
                  op: Equal
                  rhs: {(./) ($ VSub_Name "$progname")}
                  spids: [838]
                )
              ]
              spids: [838]
            )
          ]
          spids: [834 836 842 -1]
        )
      ]
      spids: [827 831 844]
    )
    (Case
      to_match: {($ VSub_Name "$progpath")}
      arms: [
        (case_arm
          pat_list: [
            {(Lit_Other "[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (/) (Lit_Other "]") 
              (Lit_Other "*")
            }
            {(Lit_Other "[") (A-Za-z) (Lit_Other "]") (Lit_Other ":") 
              (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (Lit_Other "*")
            }
          ]
          spids: [857 869 871 -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: [883]
                )
              ]
              spids: [883]
            )
            (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: [888 898]
                      )
                    }
                  spids: [887]
                )
              ]
              spids: [887]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$progdir") (/) ($ VSub_Name "$progname"))}
                  spids: [901]
                )
              ]
              spids: [901]
            )
          ]
          spids: [874 880 909 -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: [916]
                )
              ]
              spids: [916]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(Lit_Other ":")} spids:[922])]
              spids: [922]
            )
            (ForEach
              iter_name: progdir
              iter_words: [{($ VSub_Name "$PATH")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$save_IFS"))}
                          spids: [938]
                        )
                      ]
                      spids: [938]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-x)} {(DQ ($ VSub_Name "$progdir") (/) ($ VSub_Name "$progname"))})
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [935 959]
                )
              spids: [931 933]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$save_IFS"))}
                  spids: [962]
                )
              ]
              spids: [962]
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$progdir"))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:progdir)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(pwd)})])
                            left_token: <Left_Backtick "`">
                            spids: [979 981]
                          )
                        }
                      spids: [978]
                    )
                  ]
                  spids: [978]
                )
              ]
              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: [984]
                )
              ]
              spids: [984]
            )
          ]
          spids: [912 913 992 -1]
        )
      ]
      spids: [850 854 994]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:Xsed)
          op: Equal
          rhs: {(DQ (${ VSub_Name SED)) (SQ <" -e 1s/^X//">)}
          spids: [1003]
        )
      ]
      spids: [1003]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_quote_subst)
          op: Equal
          rhs: {(SQ <"s/\\([`\"$\\\\]\\)/\\\\\\1/g">)}
          spids: [1013]
        )
      ]
      spids: [1013]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:double_quote_subst)
          op: Equal
          rhs: {(SQ <"s/\\([\"`\\\\]\\)/\\\\\\1/g">)}
          spids: [1022]
        )
      ]
      spids: [1022]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:bs) op:Equal rhs:{(SQ <"\\\\">)} spids:[1043])]
      spids: [1043]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:bs2) op:Equal rhs:{(SQ <"\\\\\\\\">)} spids:[1048])]
      spids: [1048]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:bs4)
          op: Equal
          rhs: {(SQ <"\\\\\\\\\\\\\\\\">)}
          spids: [1053]
        )
      ]
      spids: [1053]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:dollar) op:Equal rhs:{(SQ <"\\$">)} spids:[1058])]
      spids: [1058]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_double_backslash)
          op: Equal
          rhs: 
            {
              (DQ ("  s/") ($ VSub_Name "$bs4") ("/&") 
                (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("\n") ("/g\n") ("  s/^") ($ VSub_Name "$bs2") ($ VSub_Name "$dollar") (/) ($ VSub_Name "$bs") ("&/\n") 
                ("  s/") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("([^") ($ VSub_Name "$bs") ("]") 
                (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (")") ($ VSub_Name "$bs2") ($ VSub_Name "$dollar") (/) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                (1) ($ VSub_Name "$bs2") ($ VSub_Name "$bs") ($ VSub_Name "$dollar") ("/g\n") ("  s/") 
                (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) (//g)
              )
            }
          spids: [1063]
        )
      ]
      spids: [1063]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[1103])]
      spids: [1103]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_help) op:Equal rhs:{(false)} spids:[1106])]
      spids: [1106]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_quiet) op:Equal rhs:{(false)} spids:[1109])]
      spids: [1109]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_verbose) op:Equal rhs:{(false)} spids:[1112])]
      spids: [1112]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:opt_warning)
          op: Equal
          rhs: {(Lit_Other ":")}
          spids: [1115]
        )
      ]
      spids: [1115]
    )
    (FuncDef
      name: func_echo
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ($ VSub_Name "$progname") 
                  (BracedVarSub
                    token: <VSub_Name mode>
                    suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(": ")})
                    spids: [1140 1144]
                  ) ($ VSub_Name "$mode") (": ") ($ VSub_Star "$*")
                )
              }
            )
          ]
          spids: [1133]
        )
      spids: [1128 1132]
    )
    (FuncDef
      name: func_verbose
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {($ VSub_Name "$opt_verbose")})
                (C {(func_echo)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                      spids: [1173 1179]
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
            (C {(Lit_Other ":")})
          ]
          spids: [1164]
        )
      spids: [1159 1163]
    )
    (FuncDef
      name: func_error
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name "$ECHO")}
                {
                  (DQ ($ VSub_Name "$progname") 
                    (BracedVarSub
                      token: <VSub_Name mode>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(": ")})
                      spids: [1218 1222]
                    ) ($ VSub_Name "$mode") (": ")
                  ) 
                  (BracedVarSub
                    token: <VSub_Number 1>
                    suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                    spids: [1226 1232]
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1234])]
            )
          ]
          spids: [1211]
        )
      spids: [1206 1210]
    )
    (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 mode>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(": ")})
                          spids: [1262 1266]
                        ) ($ VSub_Name "$mode") (": warning: ")
                      ) 
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                        spids: [1270 1276]
                      )
                    }
                  ]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1278])]
                )
              ]
              op_id: Op_DAmp
            )
            (C {(Lit_Other ":")})
          ]
          spids: [1251]
        )
      spids: [1246 1250]
    )
    (FuncDef
      name: func_fatal_error
      body: 
        (BraceGroup
          children: [
            (C {(func_error)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                  spids: [1308 1314]
                )
              }
            )
            (C {(exit)} {($ VSub_Name "$EXIT_FAILURE")})
          ]
          spids: [1303]
        )
      spids: [1298 1302]
    )
    (FuncDef
      name: func_fatal_help
      body: 
        (BraceGroup
          children: [
            (C {(func_error)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                  spids: [1343 1349]
                )
              }
            )
            (C {(func_fatal_error)} {(DQ ($ VSub_Name "$help"))})
          ]
          spids: [1338]
        )
      spids: [1333 1337]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:help)
          op: Equal
          rhs: 
            {
              (DQ ("Try ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ($ VSub_Name "$progname") 
                (" --help' for more information.")
              )
            }
          spids: [1360]
        )
      ]
      spids: [1360]
    )
    (FuncDef
      name: func_grep
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{($ VSub_Name "$GREP")} {(DQ ($ VSub_Number "$1"))} {(DQ ($ VSub_Number "$2"))}]
              redirects: [
                (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[1397])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1400])
              ]
            )
          ]
          spids: [1384]
        )
      spids: [1379 1383]
    )
    (FuncDef
      name: func_mkdir_p
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_directory_path)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [1421]
                )
              ]
              spids: [1421]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_dir_list) op:Equal rhs:{(SQ )} spids:[1427])]
              spids: [1427]
            )
            (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: [1476]
                                )
                              ]
                              spids: [1476]
                            )
                          ]
                          spids: [1472 1474 1482 -1]
                        )
                      ]
                      spids: [1465 1469 1485]
                    )
                    (While
                      cond: [
                        (Sentence
                          child: 
                            (C {(test)} {(KW_Bang "!")} {(-d)} {(DQ ($ VSub_Name "$my_directory_path"))})
                          terminator: <Op_Semi ";">
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_dir_list)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$my_directory_path") (":") 
                                        ($ VSub_Name "$my_dir_list")
                                      )
                                    }
                                  spids: [1517]
                                )
                              ]
                              spids: [1517]
                            )
                            (Case
                              to_match: {($ VSub_Name "$my_directory_path")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (/) (Lit_Other "*")}]
                                  spids: [1536 1539 1541 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [1543 1544 1548 -1]
                                )
                              ]
                              spids: [1530 1534 1550]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_directory_path)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (X) ($ VSub_Name "$my_directory_path"))}
                                                  )
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {(DQ ($ VSub_Name "$dirname"))}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [1559 1576]
                                      )
                                    }
                                  spids: [1558]
                                )
                              ]
                              spids: [1558]
                            )
                          ]
                          spids: [1506 1579]
                        )
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_dir_list)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name "$ECHO")} 
                                            {(DQ (X) ($ VSub_Name "$my_dir_list"))}
                                          )
                                          (C {($ VSub_Name "$Xsed")} {(-e)} {(SQ <"s,:*$,,">)})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [1583 1600]
                              )
                            }
                          spids: [1582]
                        )
                      ]
                      spids: [1582]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:save_mkdir_p_IFS)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$IFS"))}
                              spids: [1604]
                            )
                          ]
                          spids: [1604]
                        )
                      terminator: <Op_Semi ";">
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(SQ <":">)}
                          spids: [1610]
                        )
                      ]
                      spids: [1610]
                    )
                    (ForEach
                      iter_name: my_dir
                      iter_words: [{($ VSub_Name "$my_dir_list")}]
                      do_arg_iter: 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: [1628]
                                )
                              ]
                              spids: [1628]
                            )
                            (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: [1652]
                                    )
                                  ]
                                )
                                (C {(Lit_Other ":")})
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [1625 1660]
                        )
                      spids: [1621 1623]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$save_mkdir_p_IFS"))}
                          spids: [1663]
                        )
                      ]
                      spids: [1663]
                    )
                    (AndOr
                      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 1457]
                )
              ]
              spids: [-1 1696]
            )
          ]
          spids: [1418]
        )
      spids: [1413 1417]
    )
    (FuncDef
      name: func_mktempdir
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_template)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name TMPDIR>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(Lit_Slash /) (tmp)})
                          spids: [1724 1729]
                        ) (/) 
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_Hyphen
                              arg_word: {($ VSub_Name "$progname")}
                            )
                          spids: [1731 1735]
                        )
                      )
                    }
                  spids: [1722]
                )
              ]
              spids: [1722]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name "$opt_dry_run"))} {(Lit_Other "=")} {(DQ (":"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_tmpdir)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name my_template) (-) ($ VSub_Dollar "$$"))}
                          spids: [1762]
                        )
                      ]
                      spids: [1762]
                    )
                  ]
                  spids: [-1 1755]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:my_tmpdir)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(mktemp)}
                                      {(-d)}
                                      {(DQ (${ VSub_Name my_template) (-XXXXXXXX))}
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [1793]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_Backtick "`">
                            spids: [1781 1795]
                          )
                        }
                      spids: [1780]
                    )
                  ]
                  spids: [1780]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(test)} {(KW_Bang "!")} {(-d)} {(DQ ($ VSub_Name "$my_tmpdir"))})
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:my_tmpdir)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (${ VSub_Name my_template) (-) 
                                    (BracedVarSub
                                      token: <VSub_Name RANDOM>
                                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(0)})
                                      spids: [1825 1829]
                                    ) ($ VSub_Dollar "$$")
                                  )
                                }
                              spids: [1819]
                            )
                          ]
                          spids: [1819]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:save_mktempdir_umask)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: (CommandList children:[(C {(umask)})])
                                    left_token: <Left_Backtick "`">
                                    spids: [1836 1838]
                                  )
                                }
                              spids: [1835]
                            )
                          ]
                          spids: [1835]
                        )
                        (C {(umask)} {(0077)})
                        (C {($ VSub_Name "$MKDIR")} {(DQ ($ VSub_Name "$my_tmpdir"))})
                        (C {(umask)} {($ VSub_Name "$save_mktempdir_umask")})
                      ]
                      spids: [-1 1812]
                    )
                  ]
                  spids: [-1 1858]
                )
                (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: [1772 1888]
            )
            (Pipeline
              children: [
                (C {($ VSub_Name "$ECHO")} {(DQ (X) ($ VSub_Name "$my_tmpdir"))})
                (C {($ VSub_Name "$Xsed")})
              ]
              negated: False
            )
          ]
          spids: [1719]
        )
      spids: [1714 1718]
    )
    (FuncDef
      name: func_quote_for_eval
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other "*") (Lit_Other "[") 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (Lit_Other "]") (Lit_Other "*")
                    }
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_quote_for_eval_unquoted_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name "$ECHO")} {(DQ (X) ($ VSub_Number "$1"))})
                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                            {(DQ ($ VSub_Name "$sed_quote_subst"))}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [1952 1969]
                              )
                            }
                          spids: [1951]
                        )
                      ]
                      spids: [1951]
                    )
                  ]
                  spids: [1940 1948 1971 -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: [1978]
                        )
                      ]
                      spids: [1978]
                    )
                  ]
                  spids: [1974 1975 1983 -1]
                )
              ]
              spids: [1933 1937 1986]
            )
            (Case
              to_match: {($ VSub_Name "$func_quote_for_eval_unquoted_result")}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other "*") (Lit_Other "[") 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) (EscapedLiteralPart token:<Lit_EscapedChar "\\~">) (EscapedLiteralPart token:<Lit_EscapedChar "\\#">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\^">) (EscapedLiteralPart token:<Lit_EscapedChar "\\&">) (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\}">) (EscapedLiteralPart token:<Lit_EscapedChar "\\|">) (EscapedLiteralPart token:<Lit_EscapedChar "\\;">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\<">) (EscapedLiteralPart token:<Lit_EscapedChar "\\>">) (EscapedLiteralPart token:<Lit_EscapedChar "\\?">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (EscapedLiteralPart token:<Lit_EscapedChar "\\ ">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\t">) 
                      (Lit_Other "]") (Lit_Other "*")
                    }
                    {(Lit_Other "*") (Lit_Other "]") (Lit_Other "*")}
                    {(DQ )}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_quote_for_eval_result)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                ($ VSub_Name "$func_quote_for_eval_unquoted_result") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                              )
                            }
                          spids: [2049]
                        )
                      ]
                      spids: [2049]
                    )
                  ]
                  spids: [2017 2046 2057 -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: [2064]
                        )
                      ]
                      spids: [2064]
                    )
                  ]
                  spids: [2060 2061 -1 2070]
                )
              ]
              spids: [1990 1994 2070]
            )
          ]
          spids: [1930]
        )
      spids: [1925 1929]
    )
    (FuncDef
      name: func_quote_for_expand
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other "*") (Lit_Other "[") 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                      (Lit_Other "]") (Lit_Other "*")
                    }
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_arg)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name "$ECHO")} {(DQ (X) ($ VSub_Number "$1"))})
                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                            {(DQ ($ VSub_Name "$double_quote_subst"))} {(-e)} {(DQ ($ VSub_Name "$sed_double_backslash"))}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [2111 2136]
                              )
                            }
                          spids: [2110]
                        )
                      ]
                      spids: [2110]
                    )
                  ]
                  spids: [2100 2107 2138 -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: [2145]
                        )
                      ]
                      spids: [2145]
                    )
                  ]
                  spids: [2141 2142 2150 -1]
                )
              ]
              spids: [2093 2097 2153]
            )
            (Case
              to_match: {($ VSub_Name "$my_arg")}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other "*") (Lit_Other "[") 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) (EscapedLiteralPart token:<Lit_EscapedChar "\\~">) (EscapedLiteralPart token:<Lit_EscapedChar "\\#">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\^">) (EscapedLiteralPart token:<Lit_EscapedChar "\\&">) (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\}">) (EscapedLiteralPart token:<Lit_EscapedChar "\\|">) (EscapedLiteralPart token:<Lit_EscapedChar "\\;">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\<">) (EscapedLiteralPart token:<Lit_EscapedChar "\\>">) (EscapedLiteralPart token:<Lit_EscapedChar "\\?">) 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (EscapedLiteralPart token:<Lit_EscapedChar "\\ ">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\t">) 
                      (Lit_Other "]") (Lit_Other "*")
                    }
                    {(Lit_Other "*") (Lit_Other "]") (Lit_Other "*")}
                    {(DQ )}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_arg)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                ($ VSub_Name "$my_arg") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                              )
                            }
                          spids: [2212]
                        )
                      ]
                      spids: [2212]
                    )
                  ]
                  spids: [2180 2209 2220 -1]
                )
              ]
              spids: [2157 2161 2223]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_quote_for_expand_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$my_arg"))}
                  spids: [2227]
                )
              ]
              spids: [2227]
            )
          ]
          spids: [2090]
        )
      spids: [2085 2089]
    )
    (FuncDef
      name: func_show_eval
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_cmd)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [2256]
                )
              ]
              spids: [2256]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_fail_exp)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 2>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(":")})
                          spids: [2264 2268]
                        )
                      )
                    }
                  spids: [2262]
                )
              ]
              spids: [2262]
            )
            (AndOr
              children: [
                (C 
                  {
                    (BracedVarSub
                      token: <VSub_Name opt_silent>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                      spids: [2273 2277]
                    )
                  }
                )
                (BraceGroup
                  children: [
                    (C {(func_quote_for_expand)} {(DQ ($ VSub_Name "$my_cmd"))})
                    (C {(eval)} {(DQ ("func_echo ") ($ VSub_Name "$func_quote_for_expand_result"))})
                  ]
                  spids: [2281]
                )
              ]
              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: [2305 2309]
                            )
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(Sentence child:(C {(Lit_Other ":")}) terminator:<Op_Semi ";">)]
                  spids: [-1 2312]
                )
              ]
              else_action: [
                (C {(eval)} {(DQ ($ VSub_Name "$my_cmd"))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:my_status)
                      op: Equal
                      rhs: {($ VSub_QMark "$?")}
                      spids: [2327]
                    )
                  ]
                  spids: [2327]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(test)} {(DQ ($ VSub_Name "$my_status"))} {(-eq)} {(0)})
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [(Sentence child:(C {(Lit_Other ":")}) terminator:<Op_Semi ";">)]
                      spids: [-1 2344]
                    )
                  ]
                  else_action: [
                    (C {(eval)} 
                      {
                        (DQ ("(exit ") ($ VSub_Name "$my_status") ("); ") ($ VSub_Name "$my_fail_exp"))
                      }
                    )
                  ]
                  spids: [2349 2362]
                )
              ]
              spids: [2317 2365]
            )
          ]
          spids: [2253]
        )
      spids: [2248 2252]
    )
    (FuncDef
      name: func_show_eval_locale
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_cmd)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [2391]
                )
              ]
              spids: [2391]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_fail_exp)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 2>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(":")})
                          spids: [2399 2403]
                        )
                      )
                    }
                  spids: [2397]
                )
              ]
              spids: [2397]
            )
            (AndOr
              children: [
                (C 
                  {
                    (BracedVarSub
                      token: <VSub_Name opt_silent>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                      spids: [2408 2412]
                    )
                  }
                )
                (BraceGroup
                  children: [
                    (C {(func_quote_for_expand)} {(DQ ($ VSub_Name "$my_cmd"))})
                    (C {(eval)} {(DQ ("func_echo ") ($ VSub_Name "$func_quote_for_expand_result"))})
                  ]
                  spids: [2416]
                )
              ]
              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: [2440 2444]
                            )
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(Sentence child:(C {(Lit_Other ":")}) terminator:<Op_Semi ";">)]
                  spids: [-1 2447]
                )
              ]
              else_action: [
                (C {(eval)} 
                  {(DQ ($ VSub_Name "$lt_user_locale") ("\n") ("\t    ") ($ VSub_Name "$my_cmd"))}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:my_status)
                      op: Equal
                      rhs: {($ VSub_QMark "$?")}
                      spids: [2465]
                    )
                  ]
                  spids: [2465]
                )
                (C {(eval)} {(DQ ($ VSub_Name "$lt_safe_locale"))})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(test)} {(DQ ($ VSub_Name "$my_status"))} {(-eq)} {(0)})
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [(Sentence child:(C {(Lit_Other ":")}) terminator:<Op_Semi ";">)]
                      spids: [-1 2489]
                    )
                  ]
                  else_action: [
                    (C {(eval)} 
                      {
                        (DQ ("(exit ") ($ VSub_Name "$my_status") ("); ") ($ VSub_Name "$my_fail_exp"))
                      }
                    )
                  ]
                  spids: [2494 2507]
                )
              ]
              spids: [2452 2510]
            )
          ]
          spids: [2388]
        )
      spids: [2383 2387]
    )
    (FuncDef
      name: func_version
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name "$SED")}
                {(-n)}
                {(SQ <"/^# ">) ($ VSub_Name "$PROGRAM") 
                  (SQ <" (GNU /,/# warranty; / {\n"> <"        s/^# //\n"> <"\ts/^# *$//\n"> 
                    <"        s/\\((C)\\)[ 0-9,-]*\\( [1-9][0-9]*\\)/\\1\\2/\n"> <"        p\n"> <"     }">
                  )
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name "$progpath"))}
                  spids: [2550]
                )
              ]
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [2530]
        )
      spids: [2525 2529]
    )
    (FuncDef
      name: func_usage
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name "$SED")}
                {(-n)}
                {
                  (SQ <"/^# Usage:/,/# -h/ {\n"> <"        s/^# //\n"> <"\ts/^# *$//\n"> 
                    <"\ts/\\$progname/">
                  ) ($ VSub_Name "$progname") (SQ <"/\n"> <"\tp\n"> <"    }">)
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name "$progpath"))}
                  spids: [2595]
                )
              ]
            )
            (C {($ VSub_Name "$ECHO")})
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("run ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  ($ VSub_Name "$progname") (" --help | more' for full usage")
                )
              }
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [2575]
        )
      spids: [2570 2574]
    )
    (FuncDef
      name: func_help
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {($ VSub_Name "$SED")}
                {(-n)}
                {
                  (SQ <"/^# Usage:/,/# Report bugs to/ {\n"> <"        s/^# //\n"> <"\ts/^# *$//\n"> 
                    <"\ts*\\$progname*">
                  ) ($ VSub_Name "$progname") (SQ <"*\n"> <"\ts*\\$host*">) (DQ ($ VSub_Name "$host")) 
                  (SQ <"*\n"> <"\ts*\\$SHELL*">) (DQ ($ VSub_Name "$SHELL")) (SQ <"*\n"> <"\ts*\\$LTCC*">) (DQ ($ VSub_Name "$LTCC")) 
                  (SQ <"*\n"> <"\ts*\\$LTCFLAGS*">) (DQ ($ VSub_Name "$LTCFLAGS")) (SQ <"*\n"> <"\ts*\\$LD*">) (DQ ($ VSub_Name "$LD")) 
                  (SQ <"*\n"> <"\ts/\\$with_gnu_ld/">) (DQ ($ VSub_Name "$with_gnu_ld")) (SQ <"/\n"> <"\ts/\\$automake_version/">) 
                  (DQ 
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (Subshell
                                  child: (C {(automake)} {(--version)})
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [2701]
                                    )
                                  ]
                                  spids: [2695 2699]
                                )
                                (C {($ VSub_Name "$SED")} {(1q)})
                              ]
                              negated: False
                            )
                          ]
                        )
                      left_token: <Left_Backtick "`">
                      spids: [2694 2708]
                    )
                  ) (SQ <"/\n"> <"\ts/\\$autoconf_version/">) 
                  (DQ 
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (Subshell
                                  child: (C {(autoconf)} {(--version)})
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [2722]
                                    )
                                  ]
                                  spids: [2716 2720]
                                )
                                (C {($ VSub_Name "$SED")} {(1q)})
                              ]
                              negated: False
                            )
                          ]
                        )
                      left_token: <Left_Backtick "`">
                      spids: [2715 2729]
                    )
                  ) (SQ <"/\n"> <"\tp\n"> <"     }">)
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name "$progpath"))}
                  spids: [2737]
                )
              ]
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [2633]
        )
      spids: [2628 2632]
    )
    (FuncDef
      name: func_missing_arg
      body: 
        (BraceGroup
          children: [
            (C {(func_error)} {(DQ ("missing argument for ") ($ VSub_Number "$1"))})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:exit_cmd) op:Equal rhs:{(exit)} spids:[2776])]
              spids: [2776]
            )
          ]
          spids: [2765]
        )
      spids: [2760 2764]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exit_cmd) op:Equal rhs:{(Lit_Other ":")} spids:[2782])]
      spids: [2782]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(DQ (X) ($ VSub_Number "$1"))} {(Lit_Other "=")} {(X--no-reexec)})
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(shift)})]
          spids: [-1 2807]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} {(DQ (X) ($ VSub_Number "$1"))} {(Lit_Other "=")} {(X--fallback-echo)})
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(Lit_Other ":")})]
          spids: [2816 2830]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (DQ (X) 
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (BraceGroup
                                children: [
                                  (Sentence
                                    child: (C {($ VSub_Name "$ECHO")} {(SQ <"\\t">)})
                                    terminator: <Op_Semi ";">
                                  )
                                ]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [2857]
                                  )
                                ]
                                spids: [2846]
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [2845 2859]
                      )
                    )
                  } {(Lit_Other "=")} {(SQ <"X\\t">)}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(Lit_Other ":")})]
          spids: [2839 2869]
        )
      ]
      else_action: [
        (C {(exec)} {($ VSub_Name "$SHELL")} {(DQ ($ VSub_Name "$progpath"))} {(--no-reexec)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
              spids: [2895 2901]
            )
          }
        )
      ]
      spids: [2878 2903]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} {(DQ (X) ($ VSub_Number "$1"))} {(Lit_Other "=")} {(X--fallback-echo)})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(shift)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ($ VSub_Star "$*") ("\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [2932]
                )
              ]
            )
            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
          ]
          spids: [-1 2920]
        )
      ]
      spids: [-1 2942]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic)
          op: Equal
          rhs: {(DQ ("%%%MAGIC variable%%%"))}
          spids: [2945]
        )
      ]
      spids: [2945]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic_exe)
          op: Equal
          rhs: {(DQ ("%%%MAGIC EXE variable%%%"))}
          spids: [2950]
        )
      ]
      spids: [2950]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:nonopt) op:Equal rhs:{(SQ )} spids:[2962])]
      spids: [2962]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:execute_dlfiles) op:Equal rhs:{(SQ )} spids:[2964])]
      spids: [2964]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:preserve_args) op:Equal rhs:{(SQ )} spids:[2966])]
      spids: [2966]
    )
    (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: [2968]
        )
      ]
      spids: [2968]
    )
    (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: [2981]
        )
      ]
      spids: [2981]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_archives) op:Equal rhs:{(SQ )} spids:[2993])]
      spids: [2993]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_serial) op:Equal rhs:{(0)} spids:[2995])]
      spids: [2995]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[2999])]
      spids: [2999]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_duplicate_deps) op:Equal rhs:{(false)} spids:[3002])]
      spids: [3002]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_silent) op:Equal rhs:{(false)} spids:[3005])]
      spids: [3005]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_debug) op:Equal rhs:{(Lit_Other ":")} spids:[3008])]
      spids: [3008]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exec_cmd) op:Equal rhs:{(SQ )} spids:[3021])]
      spids: [3021]
    )
    (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: [3043 3049]
                )
              }
            )
            (C {(func_error)} 
              {(DQ ("See the ") ($ VSub_Name "$PACKAGE") (" documentation for more information."))}
            )
            (C {(func_fatal_error)} {(DQ ("Fatal configuration error."))})
          ]
          spids: [3038]
        )
      spids: [3033 3037]
    )
    (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: [3085]
                )
              ]
              spids: [3085]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:re_endcf)
                  op: Equal
                  rhs: {(SQ <"^# ### END LIBTOOL">)}
                  spids: [3091]
                )
              ]
              spids: [3091]
            )
            (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: [3114]
                )
              ]
            )
            (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: [3156]
                        )
                      ]
                    )
                  ]
                  spids: [3135 3163]
                )
              spids: [3131 3133]
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [3082]
        )
      spids: [3077 3081]
    )
    (FuncDef
      name: func_features
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name "$ECHO")} {(DQ ("host: ") ($ VSub_Name "$host"))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name "$build_libtool_libs"))} {(Lit_Other "=")} {(yes)})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {($ VSub_Name "$ECHO")} {(DQ ("enable shared libraries"))})]
                  spids: [-1 3209]
                )
              ]
              else_action: [(C {($ VSub_Name "$ECHO")} {(DQ ("disable shared libraries"))})]
              spids: [3219 3229]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name "$build_old_libs"))} {(Lit_Other "=")} {(yes)})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {($ VSub_Name "$ECHO")} {(DQ ("enable static libraries"))})]
                  spids: [-1 3245]
                )
              ]
              else_action: [(C {($ VSub_Name "$ECHO")} {(DQ ("disable static libraries"))})]
              spids: [3255 3265]
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [3185]
        )
      spids: [3180 3184]
    )
    (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: [3300]
                )
              ]
              spids: [3300]
            )
            (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: [3307]
                )
              ]
              spids: [3307]
            )
            (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: [3315]
                )
              ]
              spids: [3315]
            )
            (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: [3323]
                )
              ]
              spids: [3323]
            )
            (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: [3345 3353 3364 -1]
                )
              ]
              spids: [3338 3342 3367]
            )
            (Case
              to_match: {($ VSub_Name "$tagname")}
              arms: [
                (case_arm pat_list:[{(CC)}] spids:[338633873389-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: [3408]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [3411]
                                    )
                                  ]
                                )
                              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: [3418]
                                )
                              ]
                              spids: [3418]
                            )
                            (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: [3455]
                                                  )
                                                ]
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [3444 3460]
                                      )
                                    }
                                  spids: [3443]
                                )
                              ]
                              spids: [3443]
                            )
                            (C {(eval)} {(DQ ($ VSub_Name "$extractedcf"))})
                          ]
                          spids: [-1 3415]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} {(DQ ("ignoring unknown tag ") ($ VSub_Name "$tagname"))})
                      ]
                      spids: [3470 3481]
                    )
                  ]
                  spids: [3392 3393 3484 -1]
                )
              ]
              spids: [3379 3383 3487]
            )
          ]
          spids: [3293]
        )
      spids: [3288 3292]
    )
    (BraceGroup
      children: [
        (Case
          to_match: {($ VSub_Number "$1")}
          arms: [
            (case_arm
              pat_list: [{(clean)} {(clea)} {(cle)} {(cl)}]
              action: [
                (Sentence child:(C {(shift)}) terminator:<Op_Semi ";">)
                (Sentence
                  child: 
                    (C {(set)} {(dummy)} {(--mode)} {(clean)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                          spids: [3534 3540]
                        )
                      }
                    )
                  terminator: <Op_Semi ";">
                )
                (C {(shift)})
              ]
              spids: [3513 3520 3546 -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: [3576 3582]
                        )
                      }
                    )
                  terminator: <Op_Semi ";">
                )
                (C {(shift)})
              ]
              spids: [3549 3562 3588 -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: [3618 3624]
                        )
                      }
                    )
                  terminator: <Op_Semi ";">
                )
                (C {(shift)})
              ]
              spids: [3591 3604 3630 -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: [3658 3664]
                        )
                      }
                    )
                  terminator: <Op_Semi ";">
                )
                (C {(shift)})
              ]
              spids: [3633 3644 3670 -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: [3700 3706]
                        )
                      }
                    )
                  terminator: <Op_Semi ";">
                )
                (C {(shift)})
              ]
              spids: [3673 3686 3712 -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: [3736 3742]
                        )
                      }
                    )
                  terminator: <Op_Semi ";">
                )
                (C {(shift)})
              ]
              spids: [3715 3722 3748 -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: [3782 3788]
                        )
                      }
                    )
                  terminator: <Op_Semi ";">
                )
                (C {(shift)})
              ]
              spids: [3751 3768 3794 -1]
            )
          ]
          spids: [3506 3510 3797]
        )
        (While
          cond: [
            (Sentence
              child: (C {(test)} {(DQ ($ VSub_Pound "$#"))} {(-gt)} {(0)})
              terminator: <Op_Semi ";">
            )
          ]
          body: 
            (DoGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:opt)
                      op: Equal
                      rhs: {(DQ ($ VSub_Number "$1"))}
                      spids: [3821]
                    )
                  ]
                  spids: [3821]
                )
                (C {(shift)})
                (Case
                  to_match: {($ VSub_Name "$opt")}
                  arms: [
                    (case_arm
                      pat_list: [{(--config)}]
                      action: [(C {(func_config)})]
                      spids: [3838 3839 3843 -1]
                    )
                    (case_arm
                      pat_list: [{(--debug)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:preserve_args)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$preserve_args") (" ") ($ VSub_Name "$opt"))}
                              spids: [3850]
                            )
                          ]
                          spids: [3850]
                        )
                        (C {(func_echo)} {(DQ ("enabling shell trace mode"))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_debug)
                              op: Equal
                              rhs: {(SQ <"set -x">)}
                              spids: [3865]
                            )
                          ]
                          spids: [3865]
                        )
                        (C {($ VSub_Name "$opt_debug")})
                      ]
                      spids: [3847 3848 3874 -1]
                    )
                    (case_arm
                      pat_list: [{(-dlopen)}]
                      action: [
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Pound "$#"))} {(-eq)} {(0)})
                            (AndOr
                              children: [
                                (C {(func_missing_arg)} {(DQ ($ 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:execute_dlfiles)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$execute_dlfiles") (" ") ($ VSub_Number "$1"))}
                              spids: [3904]
                            )
                          ]
                          spids: [3904]
                        )
                        (C {(shift)})
                      ]
                      spids: [3878 3879 3915 -1]
                    )
                    (case_arm
                      pat_list: [{(--dry-run)} {(-n)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_dry_run)
                              op: Equal
                              rhs: {(Lit_Other ":")}
                              spids: [3926]
                            )
                          ]
                          spids: [3926]
                        )
                      ]
                      spids: [3919 3924 3929 -1]
                    )
                    (case_arm
                      pat_list: [{(--features)}]
                      action: [(C {(func_features)})]
                      spids: [3932 3933 3937 -1]
                    )
                    (case_arm
                      pat_list: [{(--finish)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mode)
                              op: Equal
                              rhs: {(DQ (finish))}
                              spids: [3943]
                            )
                          ]
                          spids: [3943]
                        )
                      ]
                      spids: [3940 3941 3948 -1]
                    )
                    (case_arm
                      pat_list: [{(--mode)}]
                      action: [
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Pound "$#"))} {(-eq)} {(0)})
                            (AndOr
                              children: [
                                (C {(func_missing_arg)} {(DQ ($ VSub_Name "$opt"))})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                        (Case
                          to_match: {($ VSub_Number "$1")}
                          arms: [
                            (case_arm
                              pat_list: [{(clean)}]
                              spids: [3989 3990 3992 -1]
                            )
                            (case_arm
                              pat_list: [{(compile)}]
                              spids: [3995 3996 3998 -1]
                            )
                            (case_arm
                              pat_list: [{(execute)}]
                              spids: [4001 4002 4004 -1]
                            )
                            (case_arm
                              pat_list: [{(finish)}]
                              spids: [4007 4008 4010 -1]
                            )
                            (case_arm
                              pat_list: [{(install)}]
                              spids: [4013 4014 4016 -1]
                            )
                            (case_arm
                              pat_list: [{(link)}]
                              spids: [4019 4020 4022 -1]
                            )
                            (case_arm
                              pat_list: [{(relink)}]
                              spids: [4025 4026 4028 -1]
                            )
                            (case_arm
                              pat_list: [{(uninstall)}]
                              spids: [4031 4032 4034 -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: [4053]
                                    )
                                  ]
                                  spids: [4053]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              spids: [4042 4043 4060 -1]
                            )
                          ]
                          spids: [3978 3982 4063]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mode)
                              op: Equal
                              rhs: {(DQ ($ VSub_Number "$1"))}
                              spids: [4067]
                            )
                          ]
                          spids: [4067]
                        )
                        (C {(shift)})
                      ]
                      spids: [3952 3953 4076 -1]
                    )
                    (case_arm
                      pat_list: [{(--preserve-dup-deps)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_duplicate_deps)
                              op: Equal
                              rhs: {(Lit_Other ":")}
                              spids: [4084]
                            )
                          ]
                          spids: [4084]
                        )
                      ]
                      spids: [4080 4081 4087 -1]
                    )
                    (case_arm
                      pat_list: [{(--quiet)} {(--silent)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:preserve_args)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$preserve_args") (" ") ($ VSub_Name "$opt"))}
                              spids: [4096]
                            )
                          ]
                          spids: [4096]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_silent)
                              op: Equal
                              rhs: {(Lit_Other ":")}
                              spids: [4104]
                            )
                          ]
                          spids: [4104]
                        )
                      ]
                      spids: [4091 4094 4108 -1]
                    )
                    (case_arm
                      pat_list: [{(--verbose)} {(-v)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:preserve_args)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$preserve_args") (" ") ($ VSub_Name "$opt"))}
                              spids: [4118]
                            )
                          ]
                          spids: [4118]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt_silent)
                              op: Equal
                              rhs: {(false)}
                              spids: [4126]
                            )
                          ]
                          spids: [4126]
                        )
                      ]
                      spids: [4112 4116 4130 -1]
                    )
                    (case_arm
                      pat_list: [{(--tag)}]
                      action: [
                        (AndOr
                          children: [
                            (C {(test)} {(DQ ($ VSub_Pound "$#"))} {(-eq)} {(0)})
                            (AndOr
                              children: [
                                (C {(func_missing_arg)} {(DQ ($ 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:preserve_args)
                              op: Equal
                              rhs: 
                                {
                                  (DQ ($ VSub_Name "$preserve_args") (" ") ($ VSub_Name "$opt") (" ") 
                                    ($ VSub_Number "$1")
                                  )
                                }
                              spids: [4160]
                            )
                          ]
                          spids: [4160]
                        )
                        (C {(func_enable_tag)} {(DQ ($ VSub_Number "$1"))})
                        (C {(shift)})
                      ]
                      spids: [4134 4135 4183 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(-dlopen) (Lit_Other "=") (Lit_Other "*")}
                        {(--mode) (Lit_Other "=") (Lit_Other "*")}
                        {(--tag) (Lit_Other "=") (Lit_Other "*")}
                      ]
                      action: [
                        (C {(func_opt_split)} {(DQ ($ VSub_Name "$opt"))})
                        (C {(set)} {(dummy)} {(DQ ($ VSub_Name "$func_opt_split_opt"))} 
                          {(DQ ($ VSub_Name "$func_opt_split_arg"))} 
                          {
                            (BracedVarSub
                              token: <VSub_Number 1>
                              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                              spids: [4224 4230]
                            )
                          }
                        )
                        (C {(shift)})
                      ]
                      spids: [4191 4202 4236 -1]
                    )
                    (case_arm
                      pat_list: [{(-) (EscapedLiteralPart token:<Lit_EscapedChar "\\?">)} {(-h)}]
                      action: [(C {(func_usage)})]
                      spids: [4240 4244 4248 -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: [4254]
                            )
                          ]
                          spids: [4254]
                        )
                      ]
                      spids: [4251 4252 4257 -1]
                    )
                    (case_arm
                      pat_list: [{(--version)}]
                      action: [(C {(func_version)})]
                      spids: [4260 4261 4265 -1]
                    )
                    (case_arm
                      pat_list: [{(-) (Lit_Other "*")}]
                      action: [
                        (C {(func_fatal_help)} 
                          {
                            (DQ ("unrecognized option ") 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\`">
                              ) ($ VSub_Name "$opt") ("'")
                            )
                          }
                        )
                      ]
                      spids: [4269 4271 4282 -1]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other "*")}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:nonopt)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$opt"))}
                              spids: [4289]
                            )
                          ]
                          spids: [4289]
                        )
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      spids: [4286 4287 4298 -1]
                    )
                  ]
                  spids: [3831 3835 4301]
                )
              ]
              spids: [3818 4304]
            )
        )
        (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: [4344]
                    )
                  ]
                  spids: [4344]
                )
              ]
              spids: [4316 4337 4348 -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_duplicate_deps")}
                      spids: [4355]
                    )
                  ]
                  spids: [4355]
                )
              ]
              spids: [4351 4352 4359 -1]
            )
          ]
          spids: [4309 4313 4362]
        )
        (C {($ VSub_Name "$exit_cmd")} {($ VSub_Name "$EXIT_FAILURE")})
      ]
      spids: [3498]
    )
    (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: [4452]
                                        )
                                        (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: [4455]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [-1 4447]
                                )
                              ]
                              else_action: [
                                (SimpleCommand
                                  words: [{(cat)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: -1
                                      arg_word: {(2)}
                                      spids: [4480]
                                    )
                                    (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: [4483]
                                    )
                                  ]
                                )
                              ]
                              spids: [4475 4507]
                            )
                          ]
                          spids: [-1 4433]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [{(cat)}]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: -1
                              arg_word: {(2)}
                              spids: [4515]
                            )
                            (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: [4518]
                            )
                          ]
                        )
                      ]
                      spids: [4510 4544]
                    )
                    (C {(exit)} {($ VSub_Name "$EXIT_MISMATCH")})
                  ]
                  spids: [-1 4414]
                )
              ]
              spids: [-1 4553]
            )
          ]
          spids: [4395]
        )
      spids: [4390 4394]
    )
    (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 4611]
                )
              ]
              spids: [-1 4621]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$mode"))})
                (C {(func_fatal_error)} {(DQ ("error: you must specify a MODE."))})
              ]
              op_id: Op_DAmp
            )
            (C {(eval)} 
              {(Lit_VarLike "std_shrext=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                ($ VSub_Name "$shrext_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$execute_dlfiles"))})
                            (C {(test)} {(DQ ($ VSub_Name "$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:[4704])]
                    )
                    (C {(exit)} {($ VSub_Name "$EXIT_FAILURE")})
                  ]
                  spids: [-1 4686]
                )
              ]
              spids: [-1 4713]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:generic_help)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$help"))}
                  spids: [4721]
                )
              ]
              spids: [4721]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:help)
                  op: Equal
                  rhs: 
                    {
                      (DQ ("Try ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                        ($ VSub_Name "$progname") (" --help --mode=") ($ VSub_Name "$mode") ("' for more information.")
                      )
                    }
                  spids: [4727]
                )
              ]
              spids: [4727]
            )
          ]
          spids: [4573]
        )
      ]
      op_id: Op_DPipe
    )
    (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:[4782])]
                    )
                    (SimpleCommand
                      words: [
                        {($ VSub_Name "$GREP")}
                        {(DQ ("^# Generated by .*") ($ VSub_Name "$PACKAGE"))}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/dev/null)}
                          spids: [4796]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [4800]
                        )
                      ]
                    )
                  ]
                  negated: False
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [4758]
        )
      spids: [4753 4757]
    )
    (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:[4835])]
              spids: [4835]
            )
            (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: [4863]
                                    )
                                    (Redir
                                      op_id: Redir_Less
                                      fd: -1
                                      arg_word: {(DQ ($ VSub_Number "$1"))}
                                      spids: [4866]
                                    )
                                  ]
                                )
                              ]
                              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: [4919]
                                            )
                                          ]
                                          spids: [4919]
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [4907 4917 4924 -1]
                                )
                              ]
                              spids: [4898 4904 4927]
                            )
                          ]
                          spids: [4890 4930]
                        )
                      spids: [4880 -1]
                    )
                    (SimpleCommand
                      words: [{(exec)}]
                      redirects: [
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 0
                          arg_word: {(5)}
                          spids: [4935]
                        )
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 5
                          arg_word: {(-)}
                          spids: [4938]
                        )
                      ]
                    )
                  ]
                  spids: [-1 4872]
                )
              ]
              spids: [-1 4942]
            )
            (C {(test)} {(DQ ($ VSub_Name "$lalib_p"))} {(Lit_Other "=")} {(yes)})
          ]
          spids: [4832]
        )
      spids: [4827 4831]
    )
    (FuncDef
      name: func_ltwrapper_script_p
      body: (BraceGroup children:[(C {(func_lalib_p)} {(DQ ($ VSub_Number "$1"))})] spids:[4975])
      spids: [4970 4974]
    )
    (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: [5007]
                )
              ]
              spids: [5007]
            )
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm pat_list:[{(Lit_Other "*") (.exe)}] spids:[501750195021-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: [5027]
                        )
                      ]
                      spids: [5027]
                    )
                  ]
                  spids: [5024 5025 5030 -1]
                )
              ]
              spids: [5010 5014 5033]
            )
            (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:[5047])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[5050])
              ]
            )
          ]
          spids: [5004]
        )
      spids: [4999 5003]
    )
    (FuncDef
      name: func_ltwrapper_scriptname
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_ltwrapper_scriptname_result)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [5076]
                )
              ]
              spids: [5076]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(func_ltwrapper_executable_p)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_dirname_and_basename)} {(DQ ($ VSub_Number "$1"))} {(DQ )} {(DQ (.))})
                    (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                      {(DQ ($ VSub_Name "$func_basename_result"))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_ltwrapper_scriptname_result)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$func_dirname_result") (/) ($ VSub_Name "$objdir") (/) 
                                (${ VSub_Name func_stripname_result) (_ltshwrapper)
                              )
                            }
                          spids: [5121]
                        )
                      ]
                      spids: [5121]
                    )
                  ]
                  spids: [-1 5090]
                )
              ]
              spids: [-1 5134]
            )
          ]
          spids: [5073]
        )
      spids: [5068 5072]
    )
    (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: [5156]
        )
      spids: [5151 5155]
    )
    (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: [5200]
                    )
                  ]
                  spids: [5200]
                )
              terminator: <Op_Semi ";">
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <"~">)} spids:[5204])]
              spids: [5204]
            )
            (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: [5222]
                        )
                      ]
                      spids: [5222]
                    )
                    (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: [5241 5245]
                          )
                        )
                      }
                    )
                  ]
                  spids: [5219 5249]
                )
              spids: [5215 5217]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name "$save_ifs")}
                  spids: [5252]
                )
              ]
              spids: [5252]
            )
          ]
          spids: [5194]
        )
      spids: [5189 5193]
    )
    (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: [5295 5304 5312 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [(C {(.)} {(DQ (./) ($ VSub_Number "$1"))})]
                  spids: [5315 5316 5325 -1]
                )
              ]
              spids: [5288 5292 5328]
            )
          ]
          spids: [5282]
        )
      spids: [5277 5281]
    )
    (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: [5387]
                        )
                      ]
                      spids: [5387]
                    )
                    (ForEach
                      iter_name: arg
                      iter_words: [{($ VSub_Name "$CC")}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$arg"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:CC_quoted)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$CC_quoted") (" ") 
                                        ($ VSub_Name "$func_quote_for_eval_result")
                                      )
                                    }
                                  spids: [5409]
                                )
                              ]
                              spids: [5409]
                            )
                          ]
                          spids: [5399 5417]
                        )
                      spids: [5395 5397]
                    )
                    (Case
                      to_match: {($ VSub_At "$@")}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(DQ (" ") ($ VSub_Name "$CC") (" ")) (Lit_Other "*")}
                            {(DQ ($ VSub_Name "$CC") (" ")) (Lit_Other "*")}
                            {
                              (DQ (" ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {($ VSub_Name "$ECHO")} {($ VSub_Name "$CC")})]
                                    )
                                  left_token: <Left_Backtick "`">
                                  spids: [5454 5458]
                                ) (" ")
                              ) (Lit_Other "*")
                            }
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {($ VSub_Name "$ECHO")} {($ VSub_Name "$CC")})]
                                    )
                                  left_token: <Left_Backtick "`">
                                  spids: [5466 5470]
                                ) (" ")
                              ) (Lit_Other "*")
                            }
                            {(DQ (" ") ($ VSub_Name "$CC_quoted")) (Lit_Other "*")}
                            {(DQ ($ VSub_Name "$CC_quoted") (" ")) (Lit_Other "*")}
                            {
                              (DQ (" ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {($ VSub_Name "$ECHO")} {($ VSub_Name "$CC_quoted")})
                                      ]
                                    )
                                  left_token: <Left_Backtick "`">
                                  spids: [5495 5499]
                                ) (" ")
                              ) (Lit_Other "*")
                            }
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {($ VSub_Name "$ECHO")} {($ VSub_Name "$CC_quoted")})
                                      ]
                                    )
                                  left_token: <Left_Backtick "`">
                                  spids: [5507 5511]
                                ) (" ")
                              ) (Lit_Other "*")
                            }
                          ]
                          spids: [5436 5515 5517 -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: [5554]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: -1
                                                      arg_word: {(/dev/null)}
                                                      spids: [5560]
                                                    )
                                                  ]
                                                )
                                              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: [5596]
                                                              )
                                                            ]
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [5575 5599]
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_quoted)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [5603]
                                                )
                                              ]
                                              spids: [5603]
                                            )
                                            (ForEach
                                              iter_name: arg
                                              iter_words: [{($ VSub_Name "$CC")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_quote_for_eval)} 
                                                      {(DQ ($ VSub_Name "$arg"))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:CC_quoted)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$CC_quoted") (" ") 
                                                                ($ VSub_Name 
"$func_quote_for_eval_result"
                                                                )
                                                              )
                                                            }
                                                          spids: [5629]
                                                        )
                                                      ]
                                                      spids: [5629]
                                                    )
                                                  ]
                                                  spids: [5615 5637]
                                                )
                                              spids: [5611 5613]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_At "$@") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(DQ (" ") ($ VSub_Name "$CC") (" ")) 
                                                      (Lit_Other "*")
                                                    }
                                                    {(DQ ($ VSub_Name "$CC") (" ")) (Lit_Other "*")}
                                                    {
                                                      (DQ (" ") 
                                                        (CommandSubPart
                                                          command_list: 
                                                            (CommandList
                                                              children: [
                                                                (C {($ VSub_Name "$ECHO")} 
                                                                  {($ VSub_Name "$CC")}
                                                                )
                                                              ]
                                                            )
                                                          left_token: <Left_Backtick "`">
                                                          spids: [5669 5673]
                                                        ) (" ")
                                                      ) (Lit_Other "*")
                                                    }
                                                    {
                                                      (DQ 
                                                        (CommandSubPart
                                                          command_list: 
                                                            (CommandList
                                                              children: [
                                                                (C {($ VSub_Name "$ECHO")} 
                                                                  {($ VSub_Name "$CC")}
                                                                )
                                                              ]
                                                            )
                                                          left_token: <Left_Backtick "`">
                                                          spids: [5681 5685]
                                                        ) (" ")
                                                      ) (Lit_Other "*")
                                                    }
                                                    {(DQ (" ") ($ VSub_Name "$CC_quoted")) 
                                                      (Lit_Other "*")
                                                    }
                                                    {(DQ ($ VSub_Name "$CC_quoted") (" ")) 
                                                      (Lit_Other "*")
                                                    }
                                                    {
                                                      (DQ (" ") 
                                                        (CommandSubPart
                                                          command_list: 
                                                            (CommandList
                                                              children: [
                                                                (C {($ VSub_Name "$ECHO")} 
                                                                  {($ VSub_Name "$CC_quoted")}
                                                                )
                                                              ]
                                                            )
                                                          left_token: <Left_Backtick "`">
                                                          spids: [5710 5714]
                                                        ) (" ")
                                                      ) (Lit_Other "*")
                                                    }
                                                    {
                                                      (DQ 
                                                        (CommandSubPart
                                                          command_list: 
                                                            (CommandList
                                                              children: [
                                                                (C {($ VSub_Name "$ECHO")} 
                                                                  {($ VSub_Name "$CC_quoted")}
                                                                )
                                                              ]
                                                            )
                                                          left_token: <Left_Backtick "`">
                                                          spids: [5722 5726]
                                                        ) (" ")
                                                      ) (Lit_Other "*")
                                                    }
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tagname)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$z")}
                                                          spids: [5745]
                                                        )
                                                      ]
                                                      spids: [5745]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [5651 5730 5752 -1]
                                                )
                                              ]
                                              spids: [5640 5647 5755]
                                            )
                                          ]
                                          spids: [-1 5565]
                                        )
                                      ]
                                      spids: [-1 5758]
                                    )
                                  ]
                                  spids: [5541 5761]
                                )
                              spids: [5537 5539]
                            )
                            (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 5787]
                                )
                              ]
                              spids: [-1 5812]
                            )
                          ]
                          spids: [5528 5529 5815 -1]
                        )
                      ]
                      spids: [5420 5424 5818]
                    )
                  ]
                  spids: [-1 5384]
                )
              ]
              spids: [-1 5821]
            )
          ]
          spids: [5357]
        )
      spids: [5352 5356]
    )
    (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: [5845]
                )
              ]
              spids: [5845]
            )
            (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: [5867]
                        )
                      ]
                      spids: [5867]
                    )
                  ]
                  spids: [-1 5864]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_lobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [5878]
                    )
                  ]
                  spids: [5878]
                )
              ]
              spids: [5875 5882]
            )
            (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: [5902]
                        )
                      ]
                      spids: [5902]
                    )
                  ]
                  spids: [-1 5899]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_oldobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [5913]
                    )
                  ]
                  spids: [5913]
                )
              ]
              spids: [5910 5917]
            )
            (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: [5930]
                        )
                        (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: [5936]
                        )
                      ]
                    )
                    (C {($ VSub_Name "$MV")} {(DQ (${ VSub_Name write_libobj) (T))} 
                      {(DQ (${ VSub_Name write_libobj))}
                    )
                  ]
                  spids: [5925]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [5842]
        )
      spids: [5837 5841]
    )
    (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:[6004])]
              spids: [6004]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:srcfile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$nonopt"))}
                  spids: [6007]
                )
              ]
              spids: [6007]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:suppress_opt) op:Equal rhs:{(yes)} spids:[6016])]
              spids: [6016]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_output)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [6020]
                )
              ]
              spids: [6020]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:arg_mode) op:Equal rhs:{(normal)} spids:[6023])]
              spids: [6023]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobj) op:Equal rhs:{(SQ )} spids:[6027])]
              spids: [6027]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:later) op:Equal rhs:{(SQ )} spids:[6030])]
              spids: [6030]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:pie_flag) op:Equal rhs:{(SQ )} spids:[6033])]
              spids: [6033]
            )
            (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: [6061]
                                )
                              ]
                              spids: [6061]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [6067]
                                )
                              ]
                              spids: [6067]
                            )
                          ]
                          spids: [6052 6054 6071 -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: [6080]
                                )
                              ]
                              spids: [6080]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [6086]
                                )
                              ]
                              spids: [6086]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [6075 6077 6093 -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: [6138]
                                        )
                                      ]
                                      spids: [6138]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6113 6114 6145 -1]
                                )
                                (case_arm
                                  pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:pie_flag)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$pie_flag") (" ") ($ VSub_Name "$arg"))
                                            }
                                          spids: [6161]
                                        )
                                      ]
                                      spids: [6161]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6149 6158 6172 -1]
                                )
                                (case_arm
                                  pat_list: [{(-shared)} {(-static)} {(-prefer-pic)} {(-prefer-non-pic)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:later)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$later") (" ") ($ VSub_Name "$arg"))}
                                          spids: [6192]
                                        )
                                      ]
                                      spids: [6192]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6176 6189 6203 -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: [6211]
                                        )
                                      ]
                                      spids: [6211]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6207 6208 6218 -1]
                                )
                                (case_arm
                                  pat_list: [{(-Xcompiler)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(arg)}
                                          spids: [6226]
                                        )
                                      ]
                                      spids: [6226]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6222 6223 6239 -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: [6266]
                                        )
                                      ]
                                      spids: [6266]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [6270]
                                        )
                                      ]
                                      spids: [6270]
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$IFS"))}
                                              spids: [6273]
                                            )
                                          ]
                                          spids: [6273]
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <",">)}
                                          spids: [6279]
                                        )
                                      ]
                                      spids: [6279]
                                    )
                                    (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: [6297]
                                                )
                                              ]
                                              spids: [6297]
                                            )
                                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$arg"))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lastarg)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$lastarg") (" ") 
                                                        ($ VSub_Name "$func_quote_for_eval_result")
                                                      )
                                                    }
                                                  spids: [6310]
                                                )
                                              ]
                                              spids: [6310]
                                            )
                                          ]
                                          spids: [6294 6318]
                                        )
                                      spids: [6290 6292]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                          spids: [6321]
                                        )
                                      ]
                                      spids: [6321]
                                    )
                                    (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: [6341]
                                        )
                                      ]
                                      spids: [6341]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:base_compile)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$base_compile") (" ") 
                                                ($ VSub_Name "$lastarg")
                                              )
                                            }
                                          spids: [6350]
                                        )
                                      ]
                                      spids: [6350]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [6246 6249 6361 -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: [6381]
                                        )
                                      ]
                                      spids: [6381]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcfile)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$arg"))}
                                          spids: [6387]
                                        )
                                      ]
                                      spids: [6387]
                                    )
                                  ]
                                  spids: [6365 6366 6393 -1]
                                )
                              ]
                              spids: [6106 6110 6396]
                            )
                          ]
                          spids: [6097 6099 6402 -1]
                        )
                      ]
                      spids: [6045 6049 6405]
                    )
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$lastarg"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:base_compile)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$base_compile") (" ") 
                                ($ VSub_Name "$func_quote_for_eval_result")
                              )
                            }
                          spids: [6423]
                        )
                      ]
                      spids: [6423]
                    )
                  ]
                  spids: [6042 6431]
                )
              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: [6445 6446 6456 -1]
                )
                (case_arm
                  pat_list: [{(target)}]
                  action: [
                    (C {(func_fatal_error)} 
                      {
                        (DQ ("you must specify a target with ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("-o'")
                        )
                      }
                    )
                  ]
                  spids: [6459 6460 6472 -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: [6503]
                                )
                              ]
                              spids: [6503]
                            )
                          ]
                          spids: [6493]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [6475 6476 6512 -1]
                )
              ]
              spids: [6438 6442 6515]
            )
            (Case
              to_match: {($ VSub_Name "$libobj")}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other "*") (.) (Lit_Other "[") (cCFSifmso) (Lit_Other "]")}
                    {(Lit_Other "*") (.ada)}
                    {(Lit_Other "*") (.adb)}
                    {(Lit_Other "*") (.ads)}
                    {(Lit_Other "*") (.asm)}
                    {(Lit_Other "*") (.c) (Lit_Other "+") (Lit_Other "+")}
                    {(Lit_Other "*") (.cc)}
                    {(Lit_Other "*") (.ii)}
                    {(Lit_Other "*") (.class)}
                    {(Lit_Other "*") (.cpp)}
                    {(Lit_Other "*") (.cxx)}
                    {(Lit_Other "*") (.) (Lit_Other "[") (fF) (Lit_Other "]") (Lit_Other "[") (09) 
                      (Lit_Other "]") (Lit_Other "?")
                    }
                    {(Lit_Other "*") (.for)}
                    {(Lit_Other "*") (.java)}
                    {(Lit_Other "*") (.obj)}
                    {(Lit_Other "*") (.sx)}
                  ]
                  action: [
                    (C {(func_xform)} {(DQ ($ VSub_Name "$libobj"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libobj)
                          op: Equal
                          rhs: {($ VSub_Name "$func_xform_result")}
                          spids: [6639]
                        )
                      ]
                      spids: [6639]
                    )
                  ]
                  spids: [6534 6629 6643 -1]
                )
              ]
              spids: [6527 6531 6646]
            )
            (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: [6668]
                        )
                      ]
                      spids: [6668]
                    )
                  ]
                  spids: [6657 6659 6671 -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: [6674 6675 6688 -1]
                )
              ]
              spids: [6650 6654 6691]
            )
            (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: [6746]
                                )
                              ]
                              spids: [6746]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [6720 6721 6753 -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: [6761]
                                )
                              ]
                              spids: [6761]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [6765]
                                )
                              ]
                              spids: [6765]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [6757 6758 6772 -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: [6780]
                                )
                              ]
                              spids: [6780]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [6776 6777 6787 -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: [6795]
                                )
                              ]
                              spids: [6795]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [6791 6792 6802 -1]
                        )
                      ]
                      spids: [6713 6717 6805]
                    )
                  ]
                  spids: [6710 6808]
                )
              spids: [6706 6708]
            )
            (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: [6887]
                )
              ]
              spids: [6887]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$func_dirname_result"))}
                  spids: [6893]
                )
              ]
              spids: [6893]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lobj)
                  op: Equal
                  rhs: {(${ VSub_Name xdir) ($ VSub_Name "$objdir") (/) ($ VSub_Name "$objname")}
                  spids: [6899]
                )
              ]
              spids: [6899]
            )
            (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: [6949]
                        )
                      ]
                      spids: [6949]
                    )
                  ]
                  spids: [-1 6946]
                )
              ]
              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: [6967]
                    )
                  ]
                  spids: [6967]
                )
              ]
              spids: [6964 6980]
            )
            (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: [7020]
                        )
                      ]
                      spids: [7020]
                    )
                  ]
                  spids: [6995 7017 7024 -1]
                )
              ]
              spids: [6988 6992 7027]
            )
            (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: [7063]
                        )
                      ]
                      spids: [7063]
                    )
                  ]
                  spids: [-1 7056]
                )
              ]
              spids: [-1 7067]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name "$compiler_c_o"))} {(Lit_Other "=")} {(no)})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output_obj)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name "$ECHO")} {(DQ (X) ($ VSub_Name "$srcfile"))})
                                          (C {($ VSub_Name "$Xsed")} {(-e)} {(SQ <"s%^.*/%%">)} {(-e)} 
                                            {(SQ <"s%\\.[^.]*$%%">)}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [7096 7119]
                              ) (.) (${ VSub_Name objext)
                            }
                          spids: [7095]
                        )
                      ]
                      spids: [7095]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lockfile)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$output_obj") (.lock))}
                          spids: [7126]
                        )
                      ]
                      spids: [7126]
                    )
                  ]
                  spids: [-1 7092]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:output_obj)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [7136]
                    )
                  ]
                  spids: [7136]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:need_locks)
                      op: Equal
                      rhs: {(no)}
                      spids: [7139]
                    )
                  ]
                  spids: [7139]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:lockfile) op:Equal rhs:{(SQ )} spids:[7143])]
                  spids: [7143]
                )
              ]
              spids: [7133 7146]
            )
            (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: [7190]
                                    )
                                  ]
                                )
                              ]
                              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: [7194 7211]
                        )
                    )
                  ]
                  spids: [-1 7171]
                )
                (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: [7256]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [7251 7258]
                                  ) ("\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 7241]
                        )
                      ]
                      spids: [-1 7289]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:removelist)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$removelist") (" ") ($ VSub_Name "$output_obj"))}
                          spids: [7292]
                        )
                      ]
                      spids: [7292]
                    )
                    (SimpleCommand
                      words: [{($ VSub_Name "$ECHO")} {(DQ ($ VSub_Name "$srcfile"))}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(DQ ($ VSub_Name "$lockfile"))}
                          spids: [7306]
                        )
                      ]
                    )
                  ]
                  spids: [7214 7227]
                )
              ]
              spids: [-1 7313]
            )
            (AndOr
              children: [
                (C {($ VSub_Name "$opt_dry_run")})
                (C {($ VSub_Name "$RM")} {($ VSub_Name "$removelist")})
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:removelist)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$removelist") (" ") ($ VSub_Name "$lockfile"))}
                  spids: [7326]
                )
              ]
              spids: [7326]
            )
            (C {(trap)} {(SQ <"$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE">)} {(1)} {(2)} {(15)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$fix_srcfile_path"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(eval)} 
                      {(Lit_VarLike "srcfile=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                        ($ VSub_Name "$fix_srcfile_path") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                      }
                    )
                  ]
                  spids: [-1 7359]
                )
              ]
              spids: [-1 7370]
            )
            (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: [7380]
                )
              ]
              spids: [7380]
            )
            (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: [7409]
                        )
                      ]
                      spids: [7409]
                    )
                    (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: [7431]
                                )
                              ]
                              spids: [7431]
                            )
                          ]
                          spids: [-1 7428]
                        )
                      ]
                      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: [7448]
                            )
                          ]
                          spids: [7448]
                        )
                      ]
                      spids: [7441 7456]
                    )
                    (C {(func_mkdir_p)} {(DQ ($ VSub_Name "$xdir") ($ VSub_Name "$objdir"))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name "$output_obj"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:command)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$command") (" -o ") ($ VSub_Name "$lobj"))}
                                  spids: [7487]
                                )
                              ]
                              spids: [7487]
                            )
                          ]
                          spids: [-1 7480]
                        )
                      ]
                      spids: [-1 7495]
                    )
                    (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: [7537]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [7532 7539]
                                          )
                                        )
                                      } {(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: [7566]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [7561 7568]
                                  ) ("\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 7551]
                        )
                      ]
                      spids: [-1 7603]
                    )
                    (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 7639]
                        )
                      ]
                      spids: [-1 7655]
                    )
                    (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: [7679]
                                )
                              ]
                              spids: [7679]
                            )
                          ]
                          spids: [-1 7676]
                        )
                      ]
                      spids: [-1 7685]
                    )
                  ]
                  spids: [-1 7402]
                )
              ]
              spids: [-1 7688]
            )
            (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: [7733]
                                )
                              ]
                              spids: [7733]
                            )
                          ]
                          spids: [-1 7726]
                        )
                      ]
                      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: [7745]
                            )
                          ]
                          spids: [7745]
                        )
                      ]
                      spids: [7742 7755]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$compiler_c_o"))} {(Lit_Other "=")} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:command)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$command") (" -o ") ($ VSub_Name "$obj"))}
                                  spids: [7774]
                                )
                              ]
                              spids: [7774]
                            )
                          ]
                          spids: [-1 7771]
                        )
                      ]
                      spids: [-1 7782]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:command)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$command") ($ VSub_Name "$suppress_output"))}
                          spids: [7790]
                        )
                      ]
                      spids: [7790]
                    )
                    (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: [7835]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [7830 7837]
                                          )
                                        )
                                      } {(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: [7864]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [7859 7866]
                                  ) ("\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 7849]
                        )
                      ]
                      spids: [-1 7901]
                    )
                    (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 7937]
                        )
                      ]
                      spids: [-1 7953]
                    )
                  ]
                  spids: [-1 7709]
                )
              ]
              spids: [-1 7956]
            )
            (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: [8006]
                                )
                              ]
                              spids: [8006]
                            )
                            (C {($ VSub_Name "$RM")} {(DQ ($ VSub_Name "$lockfile"))})
                          ]
                          spids: [-1 8003]
                        )
                      ]
                      spids: [-1 8017]
                    )
                  ]
                  spids: [7964]
                )
              ]
              op_id: Op_DPipe
            )
            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
          ]
          spids: [5994]
        )
      spids: [5989 5993]
    )
    (AndOr
      children: [
        (C {($ VSub_Name "$opt_help")})
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(test)} {(DQ ($ VSub_Name "$mode"))} {(Lit_Other "=")} {(compile)})
                (C {(func_mode_compile)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                      spids: [8051 8057]
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [8035]
        )
      ]
      op_id: Op_DPipe
    )
    (FuncDef
      name: func_mode_help
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Name "$mode")}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [(C {(func_help)})]
                  spids: [-1 8083 8097 -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: [8101 8102 8128 -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 building PIC objects only\n") 
                          ("  -prefer-non-pic   try to building non-PIC objects only\n") ("  -shared           do not build a ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                          (".o' file suitable for static linking\n") ("  -static           only build a ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                          (".o' file suitable for static linking\n") ("\n") ("COMPILE-COMMAND is a command to be used in creating a ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("standard' object file\n") ("from the given SOURCEFILE.\n") ("\n") 
                          (
"The output file name is determined by removing the directory component from\n"
                          ) ("SOURCEFILE, then substituting the C source code suffix ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (".c' with the\n") ("library object suffix, ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                          (".lo'.")
                        )
                      }
                    )
                  ]
                  spids: [8132 8133 8174 -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: [8178 8179 8209 -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: [8213 8214 8236 -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 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: [8240 8241 8270 -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") ("  -dlopen FILE      ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("-dlpreopen' FILE if it cannot be dlopened at runtime\n") 
                          (
"  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols\n"
                          ) ("  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)\n") 
                          ("  -export-symbols SYMFILE\n") ("                    try to export only the symbols listed in SYMFILE\n") 
                          ("  -export-symbols-regex REGEX\n") ("                    try to export only the symbols matching REGEX\n") 
                          ("  -LLIBDIR          search LIBDIR for required installed libraries\n") ("  -lNAME            OUTPUT-FILE requires the installed library libNAME\n") 
                          ("  -module           build a library that can dlopened\n") ("  -no-fast-install  disable the fast-install mode\n") 
                          ("  -no-install       link a not-installable executable\n") ("  -no-undefined     declare that a library does not refer to external symbols\n") 
                          ("  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects\n") ("  -objectlist FILE  Use a list of object files found in FILE to specify objects\n") 
                          ("  -precious-files-regex REGEX\n") ("                    don't remove output files matching REGEX\n") 
                          ("  -release RELEASE  specify package release information\n") ("  -rpath LIBDIR     the created library will eventually be installed in LIBDIR\n") 
                          (
"  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries\n"
                          ) ("  -shared           only do dynamic linking of libtool libraries\n") 
                          (
"  -shrext SUFFIX    override the standard shared library file extension\n"
                          ) ("  -static           do not do any dynamic linking of uninstalled libtool libraries\n") 
                          ("  -static-libtool-libs\n") ("                    do not do any dynamic linking of libtool libraries\n") 
                          ("  -version-info CURRENT[:REVISION[:AGE]]\n") ("                    specify library version info [each variable defaults to 0]\n") 
                          (
"  -weak LIBNAME     declare that the target provides the LIBNAME interface\n"
                          ) ("\n") ("All other options (arguments beginning with ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("-') are ignored.\n") ("\n") ("Every other argument is treated as a filename.  Files ending in ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (".la' are\n") ("treated as uninstalled libtool libraries, other files are standard or library\n") 
                          ("object files.\n") ("\n") ("If the OUTPUT-FILE ends in ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                          (".la', then a libtool library is created,\n") ("only library objects (") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                          (".lo' files) may be specified, and ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("-rpath' is\n") 
                          ("required, except when creating a convenience library.\n") ("\n") ("If OUTPUT-FILE ends in ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (".a' or ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (".lib', then a standard library is created\n") ("using ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("ar' and ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("ranlib', or on Windows using ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("lib'.\n") ("\n") ("If OUTPUT-FILE ends in ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                          (".lo' or ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (.) (${ VSub_Name objext) 
                          ("', then a reloadable object file\n") ("is created, otherwise an executable program is created.")
                        )
                      }
                    )
                  ]
                  spids: [8274 8275 8373 -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: [8377 8378 8404 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (C {(func_fatal_help)} 
                      {
                        (DQ ("invalid operation mode ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ($ VSub_Name "$mode") ("'")
                        )
                      }
                    )
                  ]
                  spids: [8408 8409 8422 -1]
                )
              ]
              spids: [8074 8078 8425]
            )
            (C {($ VSub_Name "$ECHO")})
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("Try ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  ($ VSub_Name "$progname") (" --help' for more information about other modes.")
                )
              }
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [8067]
        )
      spids: [8062 8066]
    )
    (AndOr children:[(C {($ VSub_Name "$opt_help")})(C {(func_mode_help)})] op_id:Op_DAmp)
    (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: [8481]
                )
              ]
              spids: [8481]
            )
            (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 "$execute_dlfiles")}]
              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:[8545])]
                      spids: [8545]
                    )
                    (Case
                      to_match: {($ VSub_Name "$file")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.la)}]
                          action: [
                            (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: [8588]
                                )
                              ]
                              spids: [8588]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [8591]
                                )
                              ]
                              spids: [8591]
                            )
                            (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 8617]
                                )
                              ]
                              spids: [-1 8650]
                            )
                            (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: [8668]
                                )
                              ]
                              spids: [8668]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-f)} 
                                          {
                                            (DQ ($ VSub_Name "$dir") (/) ($ VSub_Name "$objdir") (/) 
                                              ($ VSub_Name "$dlname")
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$dir") (/) ($ VSub_Name "$objdir"))}
                                          spids: [8693]
                                        )
                                      ]
                                      spids: [8693]
                                    )
                                  ]
                                  spids: [-1 8690]
                                )
                              ]
                              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 8719]
                                    )
                                  ]
                                  spids: [-1 8740]
                                )
                              ]
                              spids: [8701 8743]
                            )
                          ]
                          spids: [8555 8557 8746 -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: [8773]
                                )
                              ]
                              spids: [8773]
                            )
                          ]
                          spids: [8750 8752 8779 -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: [8783 8784 8798 -1]
                        )
                      ]
                      spids: [8548 8552 8801]
                    )
                    (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: [8810 8820]
                              )
                            }
                          spids: [8809]
                        )
                      ]
                      spids: [8809]
                    )
                    (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: [8833]
                            )
                          ]
                          spids: [8833]
                        )
                      ]
                      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 8857]
                        )
                      ]
                      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: [8872 8889]
                    )
                  ]
                  spids: [8520 8892]
                )
              spids: [8516 8518]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_execute_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$magic"))}
                  spids: [8904]
                )
              ]
              spids: [8904]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(SQ )} spids:[8915])]
              spids: [8915]
            )
            (ForEach
              iter_name: file
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$file")}
                      arms: [
                        (case_arm
                          pat_list: [{(-) (Lit_Other "*")}]
                          spids: [8933 8935 8937 -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: [8971]
                                        )
                                      ]
                                      spids: [8971]
                                    )
                                  ]
                                  spids: [-1 8957]
                                )
                                (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: [9009]
                                        )
                                      ]
                                      spids: [9009]
                                    )
                                  ]
                                  spids: [8979 8988]
                                )
                              ]
                              spids: [-1 9017]
                            )
                          ]
                          spids: [8940 8941 9020 -1]
                        )
                      ]
                      spids: [8926 8930 9023]
                    )
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$file"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:args)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$args") (" ") 
                                ($ VSub_Name "$func_quote_for_eval_result")
                              )
                            }
                          spids: [9037]
                        )
                      ]
                      spids: [9037]
                    )
                  ]
                  spids: [8923 9045]
                )
              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 9077]
                        )
                      ]
                      spids: [-1 9092]
                    )
                    (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: [9119 9152]
                        )
                      spids: [9105 -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: [9160]
                        )
                      ]
                      spids: [9160]
                    )
                  ]
                  spids: [-1 9063]
                )
              ]
              else_action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$shlibpath_var"))})
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (C {(eval)} 
                          {
                            (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\\"">
                              ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("shlibpath_var=") 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar "\\$">
                              ) ($ VSub_Name "$shlibpath_var") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                            )
                          }
                        )
                        (C {($ VSub_Name "$ECHO")} {(DQ ("export ") ($ VSub_Name "$shlibpath_var"))})
                      ]
                      spids: [-1 9186]
                    )
                  ]
                  spids: [-1 9211]
                )
                (C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Name "$cmd") ($ VSub_Name "$args"))})
                (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
              ]
              spids: [9168 9227]
            )
          ]
          spids: [8471]
        )
      spids: [8466 8470]
    )
    (AndOr
      children: [
        (C {(test)} {(DQ ($ VSub_Name "$mode"))} {(Lit_Other "=")} {(execute)})
        (C {(func_mode_execute)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
              spids: [9246 9252]
            )
          }
        )
      ]
      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:libdirs)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$nonopt"))}
                  spids: [9270]
                )
              ]
              spids: [9270]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:admincmds) op:Equal rhs:{(SQ )} spids:[9276])]
              spids: [9276]
            )
            (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: dir
                      do_arg_iter: True
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdirs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$libdirs") (" ") ($ VSub_Name "$dir"))}
                                  spids: [9313]
                                )
                              ]
                              spids: [9313]
                            )
                          ]
                          spids: [9310 9321]
                        )
                      spids: [-1 -1]
                    )
                    (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 9348]
                                )
                              ]
                              spids: [-1 9372]
                            )
                            (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"))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:admincmds)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$admincmds") ("\n") ("       ") 
                                                        ($ VSub_Name "$cmds")
                                                      )
                                                    }
                                                  spids: [9413]
                                                )
                                              ]
                                              spids: [9413]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 9386]
                                )
                              ]
                              spids: [-1 9422]
                            )
                          ]
                          spids: [9334 9425]
                        )
                      spids: [9330 9332]
                    )
                  ]
                  spids: [-1 9302]
                )
              ]
              spids: [-1 9428]
            )
            (AndOr
              children: [(C {($ VSub_Name "$opt_silent")}) (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})]
              op_id: Op_DAmp
            )
            (Pipeline
              children: [
                (C {($ VSub_Name "$ECHO")} 
                  {(DQ (X----------------------------------------------------------------------))}
                )
                (C {($ VSub_Name "$Xsed")})
              ]
              negated: False
            )
            (C {($ VSub_Name "$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: [9473 9484]
                )
              spids: [9469 9471]
            )
            (C {($ VSub_Name "$ECHO")})
            (C {($ VSub_Name "$ECHO")} 
              {(DQ ("If you ever happen to want to link against installed libraries"))}
            )
            (C {($ VSub_Name "$ECHO")} 
              {(DQ ("in a given directory, LIBDIR, you must either use libtool, and"))}
            )
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("specify the full pathname of the library, or use the ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("-LLIBDIR'")
                )
              }
            )
            (C {($ VSub_Name "$ECHO")} 
              {(DQ ("flag during linking and do at least one of the following:"))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$shlibpath_var"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("   - add LIBDIR to the ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ($ VSub_Name "$shlibpath_var") ("' environment variable")
                        )
                      }
                    )
                    (C {($ VSub_Name "$ECHO")} {(DQ ("     during execution"))})
                  ]
                  spids: [-1 9531]
                )
              ]
              spids: [-1 9551]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$runpath_var"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("   - add LIBDIR to the ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ($ VSub_Name "$runpath_var") ("' environment variable")
                        )
                      }
                    )
                    (C {($ VSub_Name "$ECHO")} {(DQ ("     during linking"))})
                  ]
                  spids: [-1 9565]
                )
              ]
              spids: [-1 9585]
            )
            (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: [9602]
                        )
                      ]
                      spids: [9602]
                    )
                    (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 9599]
                )
              ]
              spids: [-1 9625]
            )
            (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 9639]
                )
              ]
              spids: [-1 9650]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-f)} {(/etc/ld.so.conf)})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("   - have your system administrator add LIBDIR to ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("/etc/ld.so.conf'")
                        )
                      }
                    )
                  ]
                  spids: [-1 9662]
                )
              ]
              spids: [-1 9674]
            )
            (C {($ VSub_Name "$ECHO")})
            (C {($ VSub_Name "$ECHO")} 
              {(DQ ("See any operating system documentation about shared libraries for"))}
            )
            (Case
              to_match: {($ VSub_Name "$host")}
              arms: [
                (case_arm
                  pat_list: [
                    {(solaris2.) (Lit_Other "[") (6789) (Lit_Other "]")}
                    {(solaris2.1) (Lit_Other "[") (0-9) (Lit_Other "]")}
                  ]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {(DQ ("more information, such as the ld(1), crle(1) and ld.so(8) manual"))}
                    )
                    (C {($ VSub_Name "$ECHO")} {(DQ (pages.))})
                  ]
                  spids: [9695 9704 9721 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {(DQ ("more information, such as the ld(1) and ld.so(8) manual pages."))}
                    )
                  ]
                  spids: [9724 9725 9735 -1]
                )
              ]
              spids: [9688 9692 9738]
            )
            (Pipeline
              children: [
                (C {($ VSub_Name "$ECHO")} 
                  {(DQ (X----------------------------------------------------------------------))}
                )
                (C {($ VSub_Name "$Xsed")})
              ]
              negated: False
            )
            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
          ]
          spids: [9264]
        )
      spids: [9259 9263]
    )
    (AndOr
      children: [
        (C {(test)} {(DQ ($ VSub_Name "$mode"))} {(Lit_Other "=")} {(finish)})
        (C {(func_mode_finish)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
              spids: [9773 9779]
            )
          }
        )
      ]
      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)})
                                (Pipeline
                                  children: [
                                    (C {($ VSub_Name "$ECHO")} {(DQ (X) ($ VSub_Name "$nonopt"))})
                                    (SimpleCommand
                                      words: [{($ VSub_Name "$GREP")} {(shtool)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                          spids: [9851]
                                        )
                                      ]
                                    )
                                  ]
                                  negated: False
                                )
                              ]
                              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: [9869]
                        )
                      ]
                      spids: [9869]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [9876]
                        )
                      ]
                      spids: [9876]
                    )
                    (C {(shift)})
                  ]
                  spids: [-1 9855]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:install_prog)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [9886]
                    )
                  ]
                  spids: [9886]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:arg)
                      op: Equal
                      rhs: {($ VSub_Name "$nonopt")}
                      spids: [9889]
                    )
                  ]
                  spids: [9889]
                )
              ]
              spids: [9883 9893]
            )
            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$arg"))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_prog)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$install_prog") ($ VSub_Name "$func_quote_for_eval_result"))}
                  spids: [9912]
                )
              ]
              spids: [9912]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal rhs:{(SQ )} spids:[9924])]
              spids: [9924]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(SQ )} spids:[9927])]
              spids: [9927]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opts) op:Equal rhs:{(SQ )} spids:[9930])]
              spids: [9930]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(SQ )} spids:[9933])]
              spids: [9933]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:install_type) op:Equal rhs:{(SQ )} spids:[9936])]
              spids: [9936]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:isdir) op:Equal rhs:{(no)} spids:[9939])]
              spids: [9939]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:stripme) op:Equal rhs:{(SQ )} spids:[9943])]
              spids: [9943]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dest"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:files)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$files") (" ") ($ VSub_Name "$dest"))}
                                  spids: [9968]
                                )
                              ]
                              spids: [9968]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dest)
                                  op: Equal
                                  rhs: {($ VSub_Name "$arg")}
                                  spids: [9976]
                                )
                              ]
                              spids: [9976]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [-1 9965]
                        )
                      ]
                      spids: [-1 9983]
                    )
                    (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: [9997]
                                )
                              ]
                              spids: [9997]
                            )
                          ]
                          spids: [9994 9995 10000 -1]
                        )
                        (case_arm
                          pat_list: [{(-f)}]
                          action: [
                            (Case
                              to_match: {(DQ (" ") ($ VSub_Name "$install_prog") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (Lit_Other "[") 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\\\">
                                      ) (EscapedLiteralPart token:<Lit_EscapedChar "\\ ">) (/) (Lit_Other "]") (cp) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\ ">
                                      ) (Lit_Other "*")
                                    }
                                  ]
                                  spids: [10018 10027 10029 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {($ VSub_Name "$arg")}
                                          spids: [10035]
                                        )
                                      ]
                                      spids: [10035]
                                    )
                                  ]
                                  spids: [10032 10033 10038 -1]
                                )
                              ]
                              spids: [10007 10015 10041]
                            )
                          ]
                          spids: [10003 10004 10044 -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: [10059]
                                )
                              ]
                              spids: [10059]
                            )
                          ]
                          spids: [10047 10056 10063 -1]
                        )
                        (case_arm
                          pat_list: [{(-s)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripme)
                                  op: Equal
                                  rhs: {(DQ (" -s"))}
                                  spids: [10070]
                                )
                              ]
                              spids: [10070]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [10066 10067 10079 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other "*")}]
                          spids: [10082 10084 10087 -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: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [10112]
                                        )
                                      ]
                                      spids: [10112]
                                    )
                                  ]
                                  spids: [-1 10109]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:dest)
                                      op: Equal
                                      rhs: {($ VSub_Name "$arg")}
                                      spids: [10118]
                                    )
                                  ]
                                  spids: [10118]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Continue continue>
                                )
                              ]
                              spids: [10115 10125]
                            )
                          ]
                          spids: [10090 10091 10128 -1]
                        )
                      ]
                      spids: [9987 9991 10131]
                    )
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$arg"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_prog)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$install_prog") (" ") 
                                ($ VSub_Name "$func_quote_for_eval_result")
                              )
                            }
                          spids: [10146]
                        )
                      ]
                      spids: [10146]
                    )
                  ]
                  spids: [9951 10154]
                )
              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: (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 10226]
                        )
                      ]
                      else_action: [(C {(func_fatal_help)} {(DQ ("you must specify a destination"))})]
                      spids: [10236 10246]
                    )
                  ]
                  spids: [-1 10212]
                )
              ]
              spids: [-1 10249]
            )
            (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: [10271]
                )
              ]
              spids: [10271]
            )
            (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:[10290])]
                  spids: [10290]
                )
              ]
              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: [10310]
                        )
                      ]
                      spids: [10310]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:destname)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [10316]
                        )
                      ]
                      spids: [10316]
                    )
                  ]
                  spids: [-1 10307]
                )
              ]
              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: [10336]
                    )
                  ]
                  spids: [10336]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:destname)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name "$func_basename_result"))}
                      spids: [10342]
                    )
                  ]
                  spids: [10342]
                )
                (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: [10319 10386]
            )
            (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: [10396 10413 10415 -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: [10441 10443 10445 -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: [10448 10449 10461 -1]
                                )
                              ]
                              spids: [10434 10438 10464]
                            )
                          ]
                          spids: [10431 10467]
                        )
                      spids: [10427 10429]
                    )
                  ]
                  spids: [10418 10419 10470 -1]
                )
              ]
              spids: [10389 10393 10473]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$magic"))}
                  spids: [10485]
                )
              ]
              spids: [10485]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:staticlibs) op:Equal rhs:{(SQ )} spids:[10492])]
              spids: [10492]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:future_libdirs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [10495]
                )
              ]
              spids: [10495]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_libdirs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [10498]
                )
              ]
              spids: [10498]
            )
            (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: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:staticlibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$staticlibs") (" ") ($ VSub_Name "$file"))}
                                  spids: [10535]
                                )
                              ]
                              spids: [10535]
                            )
                          ]
                          spids: [10525 10528 10543 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.la)}]
                          action: [
                            (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: [10576]
                                )
                              ]
                              spids: [10576]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [10579]
                                )
                              ]
                              spids: [10579]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [10582]
                                )
                              ]
                              spids: [10582]
                            )
                            (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: [10627 10634 10636 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:current_libdirs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$current_libdirs") (" ") 
                                                        ($ VSub_Name "$libdir")
                                                      )
                                                    }
                                                  spids: [10642]
                                                )
                                              ]
                                              spids: [10642]
                                            )
                                          ]
                                          spids: [10639 10640 10649 -1]
                                        )
                                      ]
                                      spids: [10617 10624 10652]
                                    )
                                  ]
                                  spids: [-1 10614]
                                )
                              ]
                              else_action: [
                                (Case
                                  to_match: {(DQ ($ VSub_Name "$future_libdirs") (" "))}
                                  arms: [
                                    (case_arm
                                      pat_list: [
                                        {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$libdir") (" ")) 
                                          (Lit_Other "*")
                                        }
                                      ]
                                      spids: [10672 10679 10681 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other "*")}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:future_libdirs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$future_libdirs") (" ") 
                                                    ($ VSub_Name "$libdir")
                                                  )
                                                }
                                              spids: [10687]
                                            )
                                          ]
                                          spids: [10687]
                                        )
                                      ]
                                      spids: [10684 10685 10694 -1]
                                    )
                                  ]
                                  spids: [10662 10669 10697]
                                )
                              ]
                              spids: [10655 10700]
                            )
                            (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: [10718]
                                )
                              ]
                              spids: [10718]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$dir") ($ VSub_Name "$objdir"))}
                                  spids: [10724]
                                )
                              ]
                              spids: [10724]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$relink_command"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:inst_prefix_dir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {(DQ (X) ($ VSub_Name "$destdir"))}
                                                          )
                                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                            {
                                                              (DQ ("s%") ($ VSub_Name "$libdir") 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar "\\$">
                                                                ) ("%%")
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [10751 10771]
                                              )
                                            }
                                          spids: [10750]
                                        )
                                      ]
                                      spids: [10750]
                                    )
                                    (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 (X) 
                                                                        ($ VSub_Name 
"$relink_command"
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                                    {
                                                                      (DQ 
                                                                        (
"s%@inst_prefix_dir@%-inst-prefix-dir "
                                                                        ) ($ VSub_Name "$inst_prefix_dir") ("%")
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [10846 10865]
                                                      )
                                                    }
                                                  spids: [10845]
                                                )
                                              ]
                                              spids: [10845]
                                            )
                                          ]
                                          spids: [-1 10838]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:relink_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name "$ECHO")} 
                                                                {
                                                                  (DQ (X) 
                                                                    ($ VSub_Name "$relink_command")
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                                {(DQ ("s%@inst_prefix_dir@%%"))}
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [10872 10889]
                                                  )
                                                }
                                              spids: [10871]
                                            )
                                          ]
                                          spids: [10871]
                                        )
                                      ]
                                      spids: [10868 10892]
                                    )
                                    (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 10743]
                                )
                              ]
                              spids: [-1 10923]
                            )
                            (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: [10955]
                                        )
                                      ]
                                      spids: [10955]
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcname)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$realname"))}
                                          spids: [10965]
                                        )
                                      ]
                                      spids: [10965]
                                    )
                                    (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: [10981]
                                            )
                                          ]
                                          spids: [10981]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name "$install_prog") (" ") ($ VSub_Name "$dir") (/) 
                                          ($ VSub_Name "$srcname") (" ") ($ VSub_Name "$destdir") (/) ($ VSub_Name "$realname")
                                        )
                                      } {(SQ <"exit $?">)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tstripme)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$stripme"))}
                                          spids: [11014]
                                        )
                                      ]
                                      spids: [11014]
                                    )
                                    (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: [11059]
                                                        )
                                                      ]
                                                      spids: [11059]
                                                    )
                                                  ]
                                                  spids: [11054 11056 11064 -1]
                                                )
                                              ]
                                              spids: [11047 11051 11067]
                                            )
                                          ]
                                          spids: [11027 11044 11070 -1]
                                        )
                                      ]
                                      spids: [11020 11024 11073]
                                    )
                                    (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 11097]
                                        )
                                      ]
                                      spids: [-1 11115]
                                    )
                                    (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: [11156 11201]
                                                )
                                              spids: [-1 -1]
                                            )
                                          ]
                                          spids: [-1 11132]
                                        )
                                      ]
                                      spids: [-1 11204]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$destdir") (/) 
                                                ($ VSub_Name "$realname")
                                              )
                                            }
                                          spids: [11212]
                                        )
                                      ]
                                      spids: [11212]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$postinstall_cmds"))} 
                                      {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 10952]
                                )
                              ]
                              spids: [-1 11231]
                            )
                            (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: [11246]
                                )
                              ]
                              spids: [11246]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:instname)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$dir") (/) ($ VSub_Name "$name")) (i)}
                                  spids: [11252]
                                )
                              ]
                              spids: [11252]
                            )
                            (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"))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:staticlibs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name "$staticlibs") (" ") ($ VSub_Name "$dir") (/) 
                                            ($ VSub_Name "$old_library")
                                          )
                                        }
                                      spids: [11293]
                                    )
                                  ]
                                  spids: [11293]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          spids: [10547 10549 11303 -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: [11335]
                                        )
                                      ]
                                      spids: [11335]
                                    )
                                  ]
                                  spids: [-1 11332]
                                )
                              ]
                              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: [11353]
                                    )
                                  ]
                                  spids: [11353]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name "$destdir") (/) ($ VSub_Name "$destfile"))}
                                      spids: [11359]
                                    )
                                  ]
                                  spids: [11359]
                                )
                              ]
                              spids: [11343 11367]
                            )
                            (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: [11394]
                                        )
                                      ]
                                      spids: [11394]
                                    )
                                  ]
                                  spids: [11382 11384 11398 -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: [11407]
                                        )
                                      ]
                                      spids: [11407]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11413]
                                        )
                                      ]
                                      spids: [11413]
                                    )
                                  ]
                                  spids: [11401 11404 11416 -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: [11419 11420 11433 -1]
                                )
                              ]
                              spids: [11375 11379 11436]
                            )
                            (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: [11503]
                                        )
                                      ]
                                      spids: [11503]
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name "$install_prog") (" ") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\$">
                                          ) ("staticobj ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (staticdest)
                                        )
                                      } {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 11489]
                                )
                              ]
                              spids: [-1 11523]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [11307 11309 11531 -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: [11557]
                                        )
                                      ]
                                      spids: [11557]
                                    )
                                  ]
                                  spids: [-1 11554]
                                )
                              ]
                              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: [11575]
                                    )
                                  ]
                                  spids: [11575]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name "$destdir") (/) ($ VSub_Name "$destfile"))}
                                      spids: [11581]
                                    )
                                  ]
                                  spids: [11581]
                                )
                              ]
                              spids: [11565 11589]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripped_ext)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [11605]
                                )
                              ]
                              spids: [11605]
                            )
                            (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: [11652]
                                                )
                                              ]
                                              spids: [11652]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:stripped_ext)
                                                  op: Equal
                                                  rhs: {(DQ (.exe))}
                                                  spids: [11656]
                                                )
                                              ]
                                              spids: [11656]
                                            )
                                          ]
                                          spids: [-1 11635]
                                        )
                                      ]
                                      spids: [-1 11662]
                                    )
                                  ]
                                  spids: [11617 11619 11665 -1]
                                )
                              ]
                              spids: [11610 11614 11668]
                            )
                            (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: [11714]
                                                )
                                              ]
                                              spids: [11714]
                                            )
                                          ]
                                          spids: [-1 11704]
                                        )
                                      ]
                                      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: [11735]
                                            )
                                          ]
                                          spids: [11735]
                                        )
                                      ]
                                      spids: [11718 11739]
                                    )
                                  ]
                                  spids: [11683 11692 11742 -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: [11749]
                                        )
                                      ]
                                      spids: [11749]
                                    )
                                  ]
                                  spids: [11745 11746 11753 -1]
                                )
                              ]
                              spids: [11676 11680 11756]
                            )
                            (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: [11771]
                                        )
                                      ]
                                      spids: [11771]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11774]
                                        )
                                      ]
                                      spids: [11774]
                                    )
                                    (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: [11813]
                                        )
                                      ]
                                      spids: [11813]
                                    )
                                    (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: [11833]
                                                )
                                              ]
                                              spids: [11833]
                                            )
                                            (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 11847]
                                                )
                                              ]
                                              spids: [-1 11857]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libfile)
                                                  op: Equal
                                                  rhs: 
                                                    {(DQ ($ VSub_Name "$libdir") (/)) 
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name "$ECHO")} 
                                                                    {(DQ (X) ($ VSub_Name "$lib"))}
                                                                  )
                                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                                    {(SQ <"s%^.*/%%g">)}
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [11865 11882]
                                                      )
                                                    }
                                                  spids: [11860]
                                                )
                                              ]
                                              spids: [11860]
                                            )
                                            (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: [11926]
                                                        )
                                                      ]
                                                      spids: [11926]
                                                    )
                                                  ]
                                                  spids: [-1 11911]
                                                )
                                              ]
                                              spids: [-1 11930]
                                            )
                                          ]
                                          spids: [11826 11933]
                                        )
                                      spids: [11822 11824]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11937]
                                        )
                                      ]
                                      spids: [11937]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name "$wrapper"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:outputname)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [11948]
                                        )
                                      ]
                                      spids: [11948]
                                    )
                                    (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: [12001 12003]
                                                                      )
                                                                    }
                                                                  spids: [12000]
                                                                )
                                                              ]
                                                              spids: [12000]
                                                            )
                                                            (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: [12014]
                                                                )
                                                              ]
                                                              spids: [12014]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:outputname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$tmpdir") (/) 
                                                                        ($ VSub_Name "$file")
                                                                      )
                                                                    }
                                                                  spids: [12020]
                                                                )
                                                              ]
                                                              spids: [12020]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:relink_command)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C 
                                                                                    {
                                                                                      ($ VSub_Name 
"$ECHO"
                                                                                      )
                                                                                    } {(DQ (X) ($ VSub_Name "$relink_command"))}
                                                                                  )
                                                                                  (C 
                                                                                    {
                                                                                      ($ VSub_Name 
"$Xsed"
                                                                                      )
                                                                                    } {(-e)} {(SQ <"s%@OUTPUT@%">) (DQ ($ VSub_Name "$outputname")) (SQ <"%g">)}
                                                                                  )
                                                                                ]
                                                                                negated: False
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick "`">
                                                                        spids: [12033 12056]
                                                                      )
                                                                    }
                                                                  spids: [12032]
                                                                )
                                                              ]
                                                              spids: [12032]
                                                            )
                                                            (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: [12064]
                                                                )
                                                              ]
                                                              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 12094]
                                                                )
                                                              ]
                                                              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: [12099 12129]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:file)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$outputname"))
                                                                    }
                                                                  spids: [12132]
                                                                )
                                                              ]
                                                              spids: [12132]
                                                            )
                                                          ]
                                                          spids: [-1 11997]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(func_warning)} 
                                                          {
                                                            (DQ ("cannot relink ") 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar "\\`">
                                                              ) ($ VSub_Name "$file") ("'")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [12138 12151]
                                                    )
                                                  ]
                                                  spids: [11981]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 11974]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:file)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name "$ECHO")} 
                                                                {
                                                                  (DQ (X) ($ VSub_Name "$file") 
                                                                    ($ VSub_Name "$stripped_ext")
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                                {
                                                                  (DQ ("s%") 
                                                                    (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: [12165 12192]
                                                  )
                                                }
                                              spids: [12164]
                                            )
                                          ]
                                          spids: [12164]
                                        )
                                      ]
                                      spids: [12157 12195]
                                    )
                                  ]
                                  spids: [-1 11768]
                                )
                              ]
                              spids: [-1 12198]
                            )
                            (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: [12238 12243 12250 -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: [12260]
                                                )
                                              ]
                                              spids: [12260]
                                            )
                                          ]
                                          spids: [12253 12257 12265 -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: [12289]
                                                )
                                              ]
                                              spids: [12289]
                                            )
                                          ]
                                          spids: [12268 12272 12293 -1]
                                        )
                                      ]
                                      spids: [12229 12235 12296]
                                    )
                                  ]
                                  spids: [12219 12226 12299 -1]
                                )
                              ]
                              spids: [12210 12216 12302]
                            )
                            (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 12337]
                                    )
                                  ]
                                  spids: [-1 12350]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [11535 11536 12353 -1]
                        )
                      ]
                      spids: [10518 10522 12356]
                    )
                  ]
                  spids: [10510 12359]
                )
              spids: [10506 10508]
            )
            (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: [12382]
                        )
                      ]
                      spids: [12382]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlib)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$destdir") (/) ($ VSub_Name "$name"))}
                          spids: [12393]
                        )
                      ]
                      spids: [12393]
                    )
                    (C {(func_show_eval)} 
                      {
                        (DQ ($ VSub_Name "$install_prog") (" ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("file ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (oldlib)
                        )
                      } {(SQ <"exit $?">)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$stripme"))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name "$old_striplib"))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} 
                              {(DQ ($ VSub_Name "$old_striplib") (" ") ($ VSub_Name "$oldlib"))} {(SQ <"exit $?">)}
                            )
                          ]
                          spids: [-1 12440]
                        )
                      ]
                      spids: [-1 12456]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$old_postinstall_cmds"))} 
                      {(SQ <"exit $?">)}
                    )
                  ]
                  spids: [12372 12475]
                )
              spids: [12368 12370]
            )
            (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: [12526]
                            )
                          ]
                          spids: [12526]
                        )
                      ]
                      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: [12533]
                        )
                      ]
                      spids: [12533]
                    )
                  ]
                  spids: [-1 12515]
                )
              ]
              else_action: [(C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})]
              spids: [12539 12547]
            )
          ]
          spids: [9791]
        )
      spids: [9786 9790]
    )
    (AndOr
      children: [
        (C {(test)} {(DQ ($ VSub_Name "$mode"))} {(Lit_Other "=")} {(install)})
        (C {(func_mode_install)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
              spids: [12566 12572]
            )
          }
        )
      ]
      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: [12596]
                )
              ]
              spids: [12596]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_originator)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$2"))}
                  spids: [12602]
                )
              ]
              spids: [12602]
            )
            (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: [12610 12614]
                        )
                      )
                    }
                  spids: [12608]
                )
              ]
              spids: [12608]
            )
            (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: [12619 12633]
                      )
                    }
                  spids: [12618]
                )
              ]
              spids: [12618]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_dlsyms) op:Equal rhs:{(SQ )} spids:[12636])]
              spids: [12636]
            )
            (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: [12692]
                                )
                              ]
                              spids: [12692]
                            )
                          ]
                          spids: [-1 12689]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} 
                          {(DQ ("not configured to extract global symbols from dlpreopened files"))}
                        )
                      ]
                      spids: [12701 12711]
                    )
                  ]
                  spids: [-1 12665]
                )
              ]
              spids: [-1 12714]
            )
            (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:[-11274112743-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: [12755]
                                )
                              ]
                              spids: [12755]
                            )
                            (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") 
                                        ("/* 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: [12807]
                                    )
                                  ]
                                )
                              ]
                              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: [12883]
                                            )
                                          ]
                                        )
                                      ]
                                      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 (X) ($ VSub_Name "$objs") 
                                                                ($ VSub_Name "$old_deplibs")
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name "$SP2NL")})
                                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                            {(DQ ($ VSub_Name "$lo2o"))}
                                                          )
                                                          (C {($ VSub_Name "$NL2SP")})
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [12896 12922]
                                              )
                                            }
                                          spids: [12895]
                                        )
                                      ]
                                      spids: [12895]
                                    )
                                    (ForEach
                                      iter_name: progfile
                                      iter_words: [{($ VSub_Name "$progfiles")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ("extracting global C symbols from ") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\`">
                                                  ) ($ VSub_Name "$progfile") ("'")
                                                )
                                              }
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name "$opt_dry_run")})
                                                (C {(eval)} 
                                                  {
                                                    (DQ ($ VSub_Name "$NM") (" ") 
                                                      ($ VSub_Name "$progfile") (" | ") ($ VSub_Name "$global_symbol_pipe") (" >> '") ($ VSub_Name "$nlist") ("'")
                                                    )
                                                  }
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [12934 12965]
                                        )
                                      spids: [12930 12932]
                                    )
                                    (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: [12987]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 12980]
                                        )
                                      ]
                                      spids: [-1 13007]
                                    )
                                    (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: [13029]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 13022]
                                        )
                                      ]
                                      spids: [-1 13049]
                                    )
                                    (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: [13071]
                                                )
                                              ]
                                              spids: [13071]
                                            )
                                            (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: [13121 13137 13157 -1]
                                                        )
                                                      ]
                                                      spids: [13114 13118 13160]
                                                    )
                                                  ]
                                                  spids: [13084]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 13068]
                                        )
                                      ]
                                      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 "*") (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: [13224 13239 13259 -1]
                                                    )
                                                  ]
                                                  spids: [13217 13221 13262]
                                                )
                                              ]
                                              spids: [13173]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      spids: [13166 13268]
                                    )
                                  ]
                                  spids: [-1 12859]
                                )
                              ]
                              spids: [-1 13271]
                            )
                            (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: [13304]
                                        )
                                      ]
                                      spids: [13304]
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (BraceGroup
                                          children: [
                                            (C {(eval)} {(SQ <"$ECHO \": $name \" >> \"$nlist\"">)})
                                            (C {(eval)} 
                                              {
                                                (DQ ($ VSub_Name "$NM") (" ") 
                                                  ($ VSub_Name "$dlprefile") (" 2>/dev/null | ") ($ VSub_Name "$global_symbol_pipe") (" >> '") ($ VSub_Name "$nlist") ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [13314]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [13284 13341]
                                )
                              spids: [13280 13282]
                            )
                            (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: [13368]
                                            )
                                          ]
                                        )
                                      ]
                                      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: [13405]
                                                )
                                              ]
                                            )
                                            (C {($ VSub_Name "$MV")} {(DQ ($ VSub_Name "$nlist")) (T)} 
                                              {(DQ ($ VSub_Name "$nlist"))}
                                            )
                                          ]
                                          spids: [-1 13387]
                                        )
                                      ]
                                      spids: [-1 13425]
                                    )
                                    (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: [13443]
                                                        )
                                                      ]
                                                    )
                                                    (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: [13460]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_Great
                                                                      fd: -1
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [13463]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [13466]
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [(C {(sort)} {(-k)} {(3)})]
                                                          spids: [-1 13470]
                                                        )
                                                      ]
                                                      else_action: [(C {(sort)} {(Lit_Other "+") (2)})]
                                                      spids: [13480 13489]
                                                    )
                                                    (SimpleCommand
                                                      words: [{(uniq)}]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {(DQ ($ VSub_Name "$nlist")) (S)}
                                                          spids: [13496]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: False
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [(C {(Lit_Other ":")})]
                                          spids: [-1 13504]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{($ VSub_Name "$GREP")} {(-v)} {(DQ ("^: "))}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name "$nlist"))}
                                              spids: [13521]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name "$nlist")) (S)}
                                              spids: [13527]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [13510 13535]
                                    )
                                    (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 13551]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{($ VSub_Name "$ECHO")} {(SQ <"/* NONE */">)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: -1
                                              arg_word: 
                                                {
                                                  (DQ ($ VSub_Name "$output_objdir") (/) 
                                                    ($ VSub_Name "$my_dlsyms")
                                                  )
                                                }
                                              spids: [13573]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [13564 13582]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name "$ECHO")}
                                        {
                                          (DQ ("\n") 
                                            (
"/* The mapping between symbol names and symbols.  */\n"
                                            ) ("typedef struct {\n") ("  const char *name;\n") ("  void *address;\n") ("} lt_dlsymlist;\n")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: -1
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name "$output_objdir") (/) 
                                                ($ VSub_Name "$my_dlsyms")
                                              )
                                            }
                                          spids: [13588]
                                        )
                                      ]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$host")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (cygwin) (Lit_Other "*")}
                                            {(Lit_Other "*") (mingw) (Lit_Other "*")}
                                            {(Lit_Other "*") (cegcc) (Lit_Other "*")}
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name "$ECHO")}
                                                {
                                                  (DQ 
                                                    (
"/* DATA imports from DLLs on WIN32 con't be const, because\n"
                                                    ) ("   runtime relocations are performed -- see ld's documentation\n") ("   on pseudo-relocs.  */")
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$my_dlsyms")
                                                      )
                                                    }
                                                  spids: [13635]
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lt_dlsym_const)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [13651]
                                                )
                                              ]
                                              spids: [13651]
                                            )
                                          ]
                                          spids: [13614 13630 13653 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*") (osf5) (Lit_Other "*")}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(echo)}
                                                {
                                                  (DQ 
                                                    (
"/* This system does not cope well with relocations in const data */"
                                                    )
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$my_dlsyms")
                                                      )
                                                    }
                                                  spids: [13664]
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lt_dlsym_const)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [13678]
                                                )
                                              ]
                                              spids: [13678]
                                            )
                                          ]
                                          spids: [13656 13659 13680 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lt_dlsym_const)
                                                  op: Equal
                                                  rhs: {(const)}
                                                  spids: [13687]
                                                )
                                              ]
                                              spids: [13687]
                                            )
                                          ]
                                          spids: [13683 13684 13690 -1]
                                        )
                                      ]
                                      spids: [13607 13611 13693]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name "$ECHO")}
                                        {
                                          (DQ ("extern ") ($ VSub_Name "$lt_dlsym_const") 
                                            (" lt_dlsymlist\n") (lt_) (${ VSub_Name my_prefix) ("_LTX_preloaded_symbols[];\n") ($ VSub_Name "$lt_dlsym_const") 
                                            (" lt_dlsymlist\n") (lt_) (${ VSub_Name my_prefix) ("_LTX_preloaded_symbols[] =\n") ("{") ("  { ") 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar "\\\"">
                                            ) ($ VSub_Name "$my_originator") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (", (void *) 0 },")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: -1
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name "$output_objdir") (/) 
                                                ($ VSub_Name "$my_dlsyms")
                                              )
                                            }
                                          spids: [13699]
                                        )
                                      ]
                                    )
                                    (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: [13752]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$my_dlsyms")
                                                      )
                                                    }
                                                  spids: [13758]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [13742 13743 13767 -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: [13780]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$my_dlsyms")
                                                      )
                                                    }
                                                  spids: [13786]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [13770 13771 13795 -1]
                                        )
                                      ]
                                      spids: [13735 13739 13798]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name "$ECHO")}
                                        {
                                          (DQ ("  {0, (void *) 0}\n") ("};\n") ("\n") 
                                            (
"/* This works around a problem in FreeBSD linker */\n"
                                            ) ("#ifdef FREEBSD_WORKAROUND\n") ("static const void *lt_preloaded_setup() {\n") ("  return lt_") 
                                            (${ VSub_Name my_prefix) ("_LTX_preloaded_symbols;\n") ("}\n") ("#endif\n") ("\n") ("#ifdef __cplusplus\n") ("}\n") ("#endif")
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: -1
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name "$output_objdir") (/) 
                                                ($ VSub_Name "$my_dlsyms")
                                              )
                                            }
                                          spids: [13803]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [13349]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_flag_for_symtable)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [13841]
                                )
                              ]
                              spids: [13841]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name "$compile_command") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (DQ (" -static ")) (Lit_Other "*")}]
                                  spids: [13854 13859 13861 -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: [13915]
                                                )
                                              ]
                                              spids: [13915]
                                            )
                                          ]
                                          spids: [13895 13912 13922 -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: [13933]
                                                )
                                              ]
                                              spids: [13933]
                                            )
                                          ]
                                          spids: [13925 13930 13939 -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: [13964]
                                                        )
                                                      ]
                                                      spids: [13964]
                                                    )
                                                  ]
                                                  spids: [-1 13961]
                                                )
                                              ]
                                              spids: [-1 13971]
                                            )
                                          ]
                                          spids: [13942 13943 13974 -1]
                                        )
                                      ]
                                      spids: [13868 13872 13977]
                                    )
                                  ]
                                  spids: [13864 13865 13980 -1]
                                )
                              ]
                              spids: [13844 13851 13983]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:symtab_cflags)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [13986]
                                )
                              ]
                              spids: [13986]
                            )
                            (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: [14008 14017 14019 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:symtab_cflags)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$symtab_cflags") (" ") 
                                                        ($ VSub_Name "$arg")
                                                      )
                                                    }
                                                  spids: [14025]
                                                )
                                              ]
                                              spids: [14025]
                                            )
                                          ]
                                          spids: [14022 14023 14032 -1]
                                        )
                                      ]
                                      spids: [14001 14005 14035]
                                    )
                                  ]
                                  spids: [13998 14038]
                                )
                              spids: [13994 13996]
                            )
                            (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: [14074]
                                )
                              ]
                              spids: [14074]
                            )
                            (Case
                              to_match: {($ VSub_Name "$host")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (cygwin) (Lit_Other "*")}
                                    {(Lit_Other "*") (mingw) (Lit_Other "*")}
                                    {(Lit_Other "*") (cegcc) (Lit_Other "*")}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-f)} 
                                                  {
                                                    (DQ ($ VSub_Name "$output_objdir") (/) 
                                                      ($ VSub_Name "$my_outputname") (.def)
                                                    )
                                                  }
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name "$ECHO")} 
                                                                    {
                                                                      (DQ (X) 
                                                                        ($ VSub_Name 
"$compile_command"
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                                    {
                                                                      (DQ ("s%@SYMFILE@%") 
                                                                        ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$my_outputname") (".def ") ($ VSub_Name "$symfileobj") ("%")
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [14130 14153]
                                                      )
                                                    }
                                                  spids: [14129]
                                                )
                                              ]
                                              spids: [14129]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name "$ECHO")} 
                                                                    {
                                                                      (DQ (X) 
                                                                        ($ VSub_Name 
"$finalize_command"
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                                    {
                                                                      (DQ ("s%@SYMFILE@%") 
                                                                        ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$my_outputname") (".def ") ($ VSub_Name "$symfileobj") ("%")
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [14157 14180]
                                                      )
                                                    }
                                                  spids: [14156]
                                                )
                                              ]
                                              spids: [14156]
                                            )
                                          ]
                                          spids: [-1 14126]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:compile_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name "$ECHO")} 
                                                                {
                                                                  (DQ (X) 
                                                                    ($ VSub_Name "$compile_command")
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                                {
                                                                  (DQ ("s%@SYMFILE@%") 
                                                                    ($ VSub_Name "$symfileobj") ("%")
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [14187 14206]
                                                  )
                                                }
                                              spids: [14186]
                                            )
                                          ]
                                          spids: [14186]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:finalize_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name "$ECHO")} 
                                                                {
                                                                  (DQ (X) 
                                                                    ($ VSub_Name "$finalize_command")
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                                {
                                                                  (DQ ("s%@SYMFILE@%") 
                                                                    ($ VSub_Name "$symfileobj") ("%")
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [14210 14229]
                                                  )
                                                }
                                              spids: [14209]
                                            )
                                          ]
                                          spids: [14209]
                                        )
                                      ]
                                      spids: [14183 14232]
                                    )
                                  ]
                                  spids: [14093 14109 14235 -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 (X) ($ VSub_Name "$compile_command"))
                                                            }
                                                          )
                                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                            {
                                                              (DQ ("s%@SYMFILE@%") 
                                                                ($ VSub_Name "$symfileobj") ("%")
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [14243 14262]
                                              )
                                            }
                                          spids: [14242]
                                        )
                                      ]
                                      spids: [14242]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:finalize_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {
                                                              (DQ (X) 
                                                                ($ VSub_Name "$finalize_command")
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                            {
                                                              (DQ ("s%@SYMFILE@%") 
                                                                ($ VSub_Name "$symfileobj") ("%")
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [14266 14285]
                                              )
                                            }
                                          spids: [14265]
                                        )
                                      ]
                                      spids: [14265]
                                    )
                                  ]
                                  spids: [14238 14239 14288 -1]
                                )
                              ]
                              spids: [14086 14090 14291]
                            )
                          ]
                          spids: [12746 12748 14294 -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: [14297 14298 14311 -1]
                        )
                      ]
                      spids: [12732 12736 14314]
                    )
                  ]
                  spids: [-1 12729]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:compile_command)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {($ VSub_Name "$ECHO")} 
                                        {(DQ (X) ($ VSub_Name "$compile_command"))}
                                      )
                                      (C {($ VSub_Name "$Xsed")} {(-e)} {(DQ ("s% @SYMFILE@%%"))})
                                    ]
                                    negated: False
                                  )
                                ]
                              )
                            left_token: <Left_Backtick "`">
                            spids: [14338 14355]
                          )
                        }
                      spids: [14337]
                    )
                  ]
                  spids: [14337]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:finalize_command)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {($ VSub_Name "$ECHO")} 
                                        {(DQ (X) ($ VSub_Name "$finalize_command"))}
                                      )
                                      (C {($ VSub_Name "$Xsed")} {(-e)} {(DQ ("s% @SYMFILE@%%"))})
                                    ]
                                    negated: False
                                  )
                                ]
                              )
                            left_token: <Left_Backtick "`">
                            spids: [14359 14376]
                          )
                        }
                      spids: [14358]
                    )
                  ]
                  spids: [14358]
                )
              ]
              spids: [14317 14379]
            )
          ]
          spids: [12590]
        )
      spids: [12585 12589]
    )
    (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: [14413]
                )
              ]
              spids: [14413]
            )
            (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: [14427]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [14420 14429]
                      )
                    }
                  spids: [14419]
                )
              ]
              spids: [14419]
            )
            (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: [14454]
                        )
                      ]
                      spids: [14454]
                    )
                  ]
                  spids: [14439 14448 14460 -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: [14494]
                                        )
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name "$EGREP")}
                                        {(SQ <"file format pe-i386(.*architecture: i386)?">)}
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                          spids: [14506]
                                        )
                                      ]
                                    )
                                  ]
                                  negated: False
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:win32_nmres)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(eval)} {($ VSub_Name "$NM")} {(-f)} {(posix)} 
                                                    {(-A)} {($ VSub_Number "$1")}
                                                  )
                                                  (C {($ VSub_Name "$SED")} {(-n)} {(-e)} 
                                                    {
                                                      (SQ <"\n"> <"\t    1,100{\n"> <"\t\t/ I /{\n"> 
                                                        <"\t\t    s,.*,import,\n"> <"\t\t    p\n"> <"\t\t    q\n"> <"\t\t}\n"> <"\t    }">
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [14515 14547]
                                      )
                                    }
                                  spids: [14514]
                                )
                              ]
                              spids: [14514]
                            )
                            (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: [14561]
                                        )
                                      ]
                                      spids: [14561]
                                    )
                                  ]
                                  spids: [14557 14559 14565 -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: [14571]
                                        )
                                      ]
                                      spids: [14571]
                                    )
                                  ]
                                  spids: [14568 14569 14575 -1]
                                )
                              ]
                              spids: [14550 14554 14578]
                            )
                          ]
                          spids: [-1 14511]
                        )
                      ]
                      spids: [-1 14581]
                    )
                  ]
                  spids: [14463 14468 14584 -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: [14593]
                        )
                      ]
                      spids: [14593]
                    )
                  ]
                  spids: [14587 14590 14599 -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: [14630]
                                )
                              ]
                              spids: [14630]
                            )
                          ]
                          spids: [14618 14627 14636 -1]
                        )
                      ]
                      spids: [14611 14615 14639]
                    )
                  ]
                  spids: [14602 14605 14642 -1]
                )
              ]
              spids: [14432 14436 14645]
            )
            (C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Name "$win32_libid_type"))})
          ]
          spids: [14407]
        )
      spids: [14402 14406]
    )
    (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: [14673]
                    )
                  ]
                  spids: [14673]
                )
              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: [14682]
                )
              ]
              spids: [14682]
            )
            (C {(func_show_eval)} 
              {
                (DQ ("(cd ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("f_ex_an_ar_dir && ") 
                  ($ VSub_Name "$AR") (" x ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (f_ex_an_ar_oldlib) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (")")
                )
              } {(SQ <"exit $?">)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Subshell
                          child: 
                            (Pipeline
                              children: [
                                (C {($ VSub_Name "$AR")} {(t)} {(DQ ($ VSub_Name "$f_ex_an_ar_oldlib"))})
                                (C {(sort)})
                                (SimpleCommand
                                  words: [{(sort)} {(-uc)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                      spids: [14729]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [14732]
                                    )
                                  ]
                                )
                              ]
                              negated: False
                            )
                          spids: [14710 14734]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(Lit_Other ":")})]
                  spids: [-1 14737]
                )
              ]
              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: [14743 14756]
            )
          ]
          spids: [14667]
        )
      spids: [14662 14666]
    )
    (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: [14776]
                    )
                  ]
                  spids: [14776]
                )
              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: [14786 14792]
                      )
                    }
                  spids: [14785]
                )
              ]
              spids: [14785]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_oldobjs) op:Equal rhs:{(DQ )} spids:[14795])]
              spids: [14795]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xlib) op:Equal rhs:{(DQ )} spids:[14800])]
              spids: [14800]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xabs) op:Equal rhs:{(DQ )} spids:[14805])]
              spids: [14805]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xdir) op:Equal rhs:{(DQ )} spids:[14810])]
              spids: [14810]
            )
            (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: [14858]
                                )
                              ]
                              spids: [14858]
                            )
                          ]
                          spids: [14839 14856 14863 -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: [14870 14872]
                                      ) (DQ (/) ($ VSub_Name "$my_xlib"))
                                    }
                                  spids: [14869]
                                )
                              ]
                              spids: [14869]
                            )
                          ]
                          spids: [14866 14867 14878 -1]
                        )
                      ]
                      spids: [14832 14836 14881]
                    )
                    (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: [14891]
                        )
                      ]
                      spids: [14891]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xlib_u)
                          op: Equal
                          rhs: {($ VSub_Name "$my_xlib")}
                          spids: [14897]
                        )
                      ]
                      spids: [14897]
                    )
                    (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: [14939]
                                        )
                                      ]
                                      spids: [14939]
                                    )
                                    (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: [14943]
                                        )
                                      ]
                                      spids: [14943]
                                    )
                                  ]
                                  spids: [14920 14927 14949 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [14952 14953 14957 -1]
                                )
                              ]
                              spids: [14909 14917 14960]
                            )
                          ]
                          spids: [14906 14963]
                        )
                    )
                    (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: [14966]
                        )
                      ]
                      spids: [14966]
                    )
                    (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: [14974]
                        )
                      ]
                      spids: [14974]
                    )
                    (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: [15024 15026]
                                              )
                                            }
                                          spids: [15023]
                                        )
                                      ]
                                      spids: [15023]
                                    )
                                    (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: [15040]
                                        )
                                      ]
                                      spids: [15040]
                                    )
                                    (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: [15045 15047]
                                              )
                                            }
                                          spids: [15044]
                                        )
                                      ]
                                      spids: [15044]
                                    )
                                    (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: [15051 15057]
                                              )
                                            }
                                          spids: [15050]
                                        )
                                      ]
                                      spids: [15050]
                                    )
                                    (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: [15070]
                                                                  )
                                                                ]
                                                              )
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name "$GREP")}
                                                                  {(Architectures)}
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op_id: Redir_Great
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                    spids: [15079]
                                                                  )
                                                                ]
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                          (C {(true)})
                                                        ]
                                                        op_id: Op_DPipe
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [15061 15085]
                                              )
                                            }
                                          spids: [15060]
                                        )
                                      ]
                                      spids: [15060]
                                    )
                                    (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: [15103 15119]
                                                      )
                                                    }
                                                  spids: [15102]
                                                )
                                              ]
                                              spids: [15102]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arch)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [15122]
                                                )
                                              ]
                                              spids: [15122]
                                            )
                                            (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: [15214 15216]
                                                          )
                                                        )
                                                      } {(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: [15144 15253]
                                                )
                                              spids: [15139 15142]
                                            )
                                            (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: [15264 15305]
                                                      )
                                                    }
                                                  spids: [15263]
                                                )
                                              ]
                                              spids: [15263]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_file)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [15308]
                                                )
                                              ]
                                              spids: [15308]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_files)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [15311]
                                                )
                                              ]
                                              spids: [15311]
                                            )
                                            (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 {($ VSub_Name "$NL2SP")})
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick "`">
                                                                spids: [15327 15342]
                                                              )
                                                            }
                                                          spids: [15326]
                                                        )
                                                      ]
                                                      spids: [15326]
                                                    )
                                                    (C {($ VSub_Name "$LIPO")} {(-create)} {(-output)} 
                                                      {(DQ ($ VSub_Name "$darwin_file"))} {($ VSub_Name "$darwin_files")}
                                                    )
                                                  ]
                                                  spids: [15323 15358]
                                                )
                                              spids: [15319 15321]
                                            )
                                            (C {($ VSub_Name "$RM")} {(-rf)} 
                                              {(unfat-) ($ VSub_Dollar "$$")}
                                            )
                                            (C {(cd)} {(DQ ($ VSub_Name "$darwin_orig_dir"))})
                                          ]
                                          spids: [-1 15099]
                                        )
                                      ]
                                      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: [15379 15398]
                                    )
                                  ]
                                  spids: [15020]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [14998 15001 15410 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (C {(func_extract_an_archive)} {(DQ ($ VSub_Name "$my_xdir"))} 
                              {(DQ ($ VSub_Name "$my_xabs"))}
                            )
                          ]
                          spids: [15413 15414 15428 -1]
                        )
                      ]
                      spids: [14991 14995 15431]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_oldobjs)
                          op: Equal
                          rhs: 
                            {(DQ ($ VSub_Name "$my_oldobjs") (" ")) 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(find)} {($ VSub_Name "$my_xdir")} {(-name)} 
                                            {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.) 
                                              ($ VSub_Name "$objext")
                                            } {(-print)} {(-o)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.lo)} {(-print)}
                                          )
                                          (C {($ VSub_Name "$NL2SP")})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [15439 15464]
                              )
                            }
                          spids: [15434]
                        )
                      ]
                      spids: [15434]
                    )
                  ]
                  spids: [14825 15467]
                )
              spids: [14821 14823]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_extract_archives_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$my_oldobjs"))}
                  spids: [15471]
                )
              ]
              spids: [15471]
            )
          ]
          spids: [14770]
        )
      spids: [14765 14769]
    )
    (FuncDef
      name: func_emit_wrapper_part1
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_emit_wrapper_part1_arg1)
                  op: Equal
                  rhs: {(no)}
                  spids: [15504]
                )
              ]
              spids: [15504]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_emit_wrapper_part1_arg1)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [15523]
                        )
                      ]
                      spids: [15523]
                    )
                  ]
                  spids: [-1 15520]
                )
              ]
              spids: [-1 15527]
            )
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("#! ") ($ VSub_Name "$SHELL") ("\n") ("\n") ("# ") ($ VSub_Name "$output") 
                  (" - temporary wrapper script for ") ($ VSub_Name "$objdir") (/) ($ VSub_Name "$outputname") ("\n") ("# Generated by ") 
                  ($ VSub_Name "$PROGRAM") (" (GNU ") ($ VSub_Name "$PACKAGE") ($ VSub_Name "$TIMESTAMP") (") ") ($ VSub_Name "$VERSION") ("\n") 
                  ("#\n") ("# The ") ($ VSub_Name "$output") (" program cannot be directly executed until all the libtool\n") 
                  ("# libraries that it depends on are installed.\n") ("#\n") ("# This wrapper script should never be moved out of the build directory.\n") 
                  ("# If it is, it will not operate correctly.\n") ("\n") ("# Sed substitution that helps us do robust quoting.  It backslashifies\n") 
                  ("# metacharacters that are still active within double-quoted strings.\n") ("Xsed='") (${ VSub_Name SED) (" -e 1s/^X//'\n") ("sed_quote_subst='") ($ VSub_Name "$sed_quote_subst") 
                  ("'\n") ("\n") ("# Be Bourne compatible\n") ("if test -n ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{ZSH_VERSION+set}") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (" && (emulate sh) >/dev/null 2>&1; then\n") ("  emulate sh\n") ("  NULLCMD=:\n") ("  # Zsh 3.x and 4.x performs word splitting on ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("}, which\n") 
                  ("  # is contrary to our usage.  Disable this feature.\n") ("  alias -g '") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("}'='") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("'\n") ("  setopt NO_GLOB_SUBST\n") ("else\n") 
                  ("  case ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("(set -o) 2>/dev/null") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (" in *posix*) set -o posix;; esac\n") ("fi\n") ("BIN_SH=xpg4; export BIN_SH # for Tru64\n") 
                  ("DUALCASE=1; export DUALCASE # for MKS sh\n") ("\n") ("# The HP-UX ksh and POSIX shell print the target directory to stdout\n") 
                  ("# if CDPATH is set.\n") ("(unset CDPATH) >/dev/null 2>&1 && unset CDPATH\n") ("\n") ("relink_command=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$relink_command") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("\n") ("\n") 
                  ("# This environment variable determines our operation mode.\n") ("if test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (libtool_install_magic) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" = ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$magic") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") 
                  ("  # install mode needs the following variables:\n") ("  generated_by_libtool_version='") ($ VSub_Name "$macro_version") ("'\n") ("  notinst_deplibs='") 
                  ($ VSub_Name "$notinst_deplibs") ("'\n") ("else\n") ("  # When we are sourced in execute mode, ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("file and ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO are already set.\n") 
                  ("  if test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                  (libtool_execute_magic) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" != ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$magic") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("    ECHO=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$qecho") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("\n") ("    file=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (0) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("\n") ("    # Make sure echo works.\n") ("    if test ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (1) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" = X--no-reexec; then\n") ("      # Discard the --no-reexec flag, and continue.\n") ("      shift\n") 
                  ("    elif test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("{ ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO '") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\t">) ("'; } 2>/dev/null") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" = 'X") (EscapedLiteralPart token:<Lit_EscapedChar "\\t">) ("'; then\n") ("      # Yippee, ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO works!\n") ("      :\n") ("    else\n") 
                  ("      # Restart under the correct shell, and then maybe ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO will work.\n") ("      exec ") 
                  ($ VSub_Name "$SHELL") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (0) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" --no-reexec ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("}\n") ("    fi\n") ("  fi")
                )
              }
            )
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("\n") ("  # Find the directory that this script lives in.\n") ("  thisdir=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("Xsed -e 's%/[^/]*") (Lit_Other "$") ("%%'") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("  test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (x) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" = ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (x) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" && thisdir=.\n") ("\n") ("  # Follow symbolic links until we get to the real thisdir.\n") ("  file=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("ls -ld ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") (${ VSub_Name SED) 
                  (" -n 's/.*-> //p'") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("  while test -n ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; do\n") ("    destdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("Xsed -e 's%/[^/]*") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("%%'") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("\n") ("    # If there was a directory component, then change thisdir.\n") ("    if test ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (x) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (destdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" != ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (x) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("      case ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (destdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") ("      [") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/]* | [A-Za-z]:[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/]*) thisdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (destdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ;;\n") ("      *) thisdir=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir/) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (destdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ;;\n") ("      esac\n") ("    fi\n") 
                  ("\n") ("    file=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("Xsed -e 's%^.*/%%'") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("    file=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("ls -ld ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") (${ VSub_Name SED) (" -n 's/.*-> //p'") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") 
                  ("  done\n")
                )
              }
            )
          ]
          spids: [15501]
        )
      spids: [15496 15500]
    )
    (FuncDef
      name: func_emit_wrapper_part2
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_emit_wrapper_part2_arg1)
                  op: Equal
                  rhs: {(no)}
                  spids: [15903]
                )
              ]
              spids: [15903]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_emit_wrapper_part2_arg1)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [15922]
                        )
                      ]
                      spids: [15922]
                    )
                  ]
                  spids: [-1 15919]
                )
              ]
              spids: [-1 15926]
            )
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("\n") ("  # Usually 'no', except on cygwin/mingw when embedded into\n") 
                  ("  # the cwrapper.\n") ("  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=") ($ VSub_Name "$func_emit_wrapper_part2_arg1") ("\n") 
                  ("  if test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                  (WRAPPER_SCRIPT_BELONGS_IN_OBJDIR) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" = ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (yes) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("    # special case for '.'\n") 
                  ("    if test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                  (thisdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" = ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (.) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("      thisdir=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (pwd) (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("    fi\n") 
                  ("    # remove .libs from thisdir\n") ("    case ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" in\n") ("    *[") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/]") ($ VSub_Name "$objdir") (" ) thisdir=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("Xsed -e 's%[") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/][^") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("/]*") (Lit_Other "$") ("%%'") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (" ;;\n") ("    ") ($ VSub_Name "$objdir") (" )   thisdir=. ;;\n") ("    esac\n") ("  fi\n") ("\n") 
                  ("  # Try to get the absolute directory name.\n") ("  absdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("cd ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" && pwd") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("  test -n ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (absdir) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" && thisdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (absdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("\n")
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name "$fast_install"))} {(Lit_Other "=")} {(yes)})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("  program=lt-'") ($ VSub_Name "$outputname") ("'") ($ VSub_Name "$exeext") 
                          ("\n") ("  progdir=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (thisdir/) ($ VSub_Name "$objdir") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("\n") ("\n") 
                          ("  if test ! -f ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                          (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" ||\n") ("     { file=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("ls -1dt ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/../) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" 2>/dev/null | ") (${ VSub_Name SED) 
                          (" 1q") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("; ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\\">
                          ) ("\n") ("       test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" != ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (X) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; }; then\n") ("\n") ("    file=") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) 
                          (-) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("\n") ("\n") ("    if test ! -d ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") ("      ") 
                          ($ VSub_Name "$MKDIR") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("\n") ("    else\n") ("      ") 
                          ($ VSub_Name "$RM") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("\n") ("    fi")
                        )
                      }
                    )
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("\n") ("    # relink executable if necessary\n") ("    if test -n ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (relink_command) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("; then\n") ("      if relink_command_output=") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                          ("eval ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("relink_command 2>&1") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("; then :\n") ("      else\n") ("\t") ($ VSub_Name "$ECHO") (" ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (relink_command_output) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" >&2\n") ("\t") ($ VSub_Name "$RM") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("\n") ("\texit 1\n") ("      fi\n") ("    fi\n") ("\n") ("    ") ($ VSub_Name "$MV") (" ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" 2>/dev/null ||\n") ("    { ") 
                          ($ VSub_Name "$RM") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (";\n") ("      ") ($ VSub_Name "$MV") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("; }\n") ("    ") ($ VSub_Name "$RM") (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (file) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("\n") ("  fi")
                        )
                      }
                    )
                  ]
                  spids: [-1 16046]
                )
              ]
              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: [16255 16275]
            )
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("\n") ("  if test -f ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then")
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          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 "\\\"">) (X) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ($ VSub_Name "$shlibpath_var") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" | ") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("Xsed -e 's/::*") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("//'") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("\n") ("\n") ("    export ") ($ VSub_Name "$shlibpath_var") ("\n")
                        )
                      }
                    )
                  ]
                  spids: [-1 16333]
                )
              ]
              spids: [-1 16382]
            )
            (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 16401]
                )
              ]
              spids: [-1 16417]
            )
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("    if test ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (libtool_execute_magic) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" != ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$magic") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("; then\n") 
                  ("      # Run the actual program with our arguments.\n")
                )
              }
            )
            (Case
              to_match: {($ VSub_Name "$host")}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other "*") (-) (Lit_Other "*") (-mingw)}
                    {(Lit_Other "*") (-) (Lit_Other "*") (-os2) (Lit_Other "*")}
                    {(Lit_Other "*") (-cegcc) (Lit_Other "*")}
                  ]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("      exec ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\\">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("}\n")
                        )
                      }
                    )
                  ]
                  spids: [16450 16468 16495 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (C {($ VSub_Name "$ECHO")} 
                      {
                        (DQ ("      exec ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{1+") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("@") 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar "\\\"">
                          ) ("}\n")
                        )
                      }
                    )
                  ]
                  spids: [16499 16500 16525 -1]
                )
              ]
              spids: [16439 16443 16528]
            )
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("      ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("0: cannot exec ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("program ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("*") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" 1>&2\n") ("      exit 1\n") ("    fi\n") ("  else\n") ("    # The program doesn't exist.\n") ("    ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("0: error: ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (progdir/) 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("program' does not exist") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" 1>&2\n") ("    ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("This script is just a wrapper for ") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (program.) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" 1>&2\n") ("    ") ($ VSub_Name "$ECHO") 
                  (" ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("See the ") ($ VSub_Name "$PACKAGE") 
                  (" documentation for more information.") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" 1>&2\n") ("    exit 1\n") ("  fi\n") (fi)
                )
              }
            )
          ]
          spids: [15900]
        )
      spids: [15895 15899]
    )
    (FuncDef
      name: func_emit_wrapper
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_emit_wrapper_arg1)
                  op: Equal
                  rhs: {(no)}
                  spids: [16646]
                )
              ]
              spids: [16646]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_emit_wrapper_arg1)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [16665]
                        )
                      ]
                      spids: [16665]
                    )
                  ]
                  spids: [-1 16662]
                )
              ]
              spids: [-1 16669]
            )
            (C {(func_emit_wrapper_part1)} {(DQ (${ VSub_Name func_emit_wrapper_arg1))})
            (C {(func_emit_wrapper_part2)} {(DQ (${ VSub_Name func_emit_wrapper_arg1))})
          ]
          spids: [16643]
        )
      spids: [16638 16642]
    )
    (FuncDef
      name: func_to_host_path
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [16773]
                )
              ]
              spids: [16773]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$host")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (mingw) (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lt_sed_naive_backslashify)
                                  op: Equal
                                  rhs: {(SQ <"s|\\\\\\\\*|\\\\|g;s|/|\\\\|g;s|\\\\|\\\\\\\\|g">)}
                                  spids: [16808]
                                )
                              ]
                              spids: [16808]
                            )
                            (Case
                              to_match: {($ VSub_Name "$build")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (mingw) (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lt_sed_strip_trailing_spaces)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ("s/[ ]*") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\$">
                                                ) (//)
                                              )
                                            }
                                          spids: [16835]
                                        )
                                      ]
                                      spids: [16835]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_tmp1)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        children: [
                                                          (Subshell
                                                            child: 
                                                              (Pipeline
                                                                children: [
                                                                  (C {(cmd)} {(//c)} {(echo)} 
                                                                    {(DQ ($ VSub_Number "$1"))}
                                                                  )
                                                                  (C {($ VSub_Name "$SED")} {(-e)} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$lt_sed_strip_trailing_spaces"
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            redirects: [
                                                              (Redir
                                                                op_id: Redir_Great
                                                                fd: 2
                                                                arg_word: {(/dev/null)}
                                                                spids: [16870]
                                                              )
                                                            ]
                                                            spids: [16845 16868]
                                                          )
                                                          (C {(echo)} {(DQ )})
                                                        ]
                                                        op_id: Op_DPipe
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [16844 16879]
                                              )
                                            }
                                          spids: [16843]
                                        )
                                      ]
                                      spids: [16843]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(echo)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
"$func_to_host_path_tmp1"
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name "$SED")} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
"$lt_sed_naive_backslashify"
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [16883 16900]
                                              )
                                            }
                                          spids: [16882]
                                        )
                                      ]
                                      spids: [16882]
                                    )
                                  ]
                                  spids: [16821 16825 16903 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (cygwin) (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_tmp1)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(cygpath)} {(-w)} {(DQ ($ VSub_Number "$1"))})
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [16914 16922]
                                              )
                                            }
                                          spids: [16913]
                                        )
                                      ]
                                      spids: [16913]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(echo)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
"$func_to_host_path_tmp1"
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name "$SED")} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
"$lt_sed_naive_backslashify"
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [16926 16943]
                                              )
                                            }
                                          spids: [16925]
                                        )
                                      ]
                                      spids: [16925]
                                    )
                                  ]
                                  spids: [16906 16910 16946 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_tmp1)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (SimpleCommand
                                                        words: [
                                                          {(winepath)}
                                                          {(-w)}
                                                          {(DQ ($ VSub_Number "$1"))}
                                                        ]
                                                        redirects: [
                                                          (Redir
                                                            op_id: Redir_Great
                                                            fd: 2
                                                            arg_word: {(/dev/null)}
                                                            spids: [16992]
                                                          )
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [16983 16994]
                                              )
                                            }
                                          spids: [16982]
                                        )
                                      ]
                                      spids: [16982]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_QMark "$?"))} {(-eq)} {(0)})
                                                    (C {(test)} {(-n)} 
                                                      {(DQ (${ VSub_Name func_to_host_path_tmp1))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:func_to_host_path_result)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {(echo)} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$func_to_host_path_tmp1"
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name "$SED")} {(-e)} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$lt_sed_naive_backslashify"
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [17026 17043]
                                                      )
                                                    }
                                                  spids: [17025]
                                                )
                                              ]
                                              spids: [17025]
                                            )
                                          ]
                                          spids: [-1 17022]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:func_to_host_path_result)
                                              op: Equal
                                              rhs: {(DQ )}
                                              spids: [17053]
                                            )
                                          ]
                                          spids: [17053]
                                        )
                                      ]
                                      spids: [17046 17058]
                                    )
                                  ]
                                  spids: [16949 16951 17061 -1]
                                )
                              ]
                              spids: [16814 16818 17064]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name "$func_to_host_path_result"))}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_error)} 
                                      {(DQ ("Could not determine host path corresponding to"))}
                                    )
                                    (C {(func_error)} {(DQ ("  '") ($ VSub_Number "$1") ("'"))})
                                    (C {(func_error)} 
                                      {
                                        (DQ ("Continuing, but uninstalled executables may not work."))
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_path_result)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number "$1"))}
                                          spids: [17109]
                                        )
                                      ]
                                      spids: [17109]
                                    )
                                  ]
                                  spids: [-1 17079]
                                )
                              ]
                              spids: [-1 17115]
                            )
                          ]
                          spids: [16801 16805 17118 -1]
                        )
                      ]
                      spids: [16794 16798 17121]
                    )
                  ]
                  spids: [-1 16791]
                )
              ]
              spids: [-1 17124]
            )
          ]
          spids: [16770]
        )
      spids: [16765 16769]
    )
    (FuncDef
      name: func_to_host_pathlist
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_pathlist_result)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [17197]
                )
              ]
              spids: [17197]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number "$1"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Case
                      to_match: {($ VSub_Name "$host")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (mingw) (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lt_sed_naive_backslashify)
                                  op: Equal
                                  rhs: {(SQ <"s|\\\\\\\\*|\\\\|g;s|/|\\\\|g;s|\\\\|\\\\\\\\|g">)}
                                  spids: [17232]
                                )
                              ]
                              spids: [17232]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_to_host_pathlist_tmp2)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Number "$1"))}
                                  spids: [17250]
                                )
                              ]
                              spids: [17250]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_to_host_pathlist_tmp1)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} 
                                                    {
                                                      (DQ ($ VSub_Name "$func_to_host_pathlist_tmp2"))
                                                    }
                                                  )
                                                  (C {($ VSub_Name "$SED")} {(-e)} {(SQ <"s|^:*||">)} 
                                                    {(-e)} {(SQ <"s|:*$||">)}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [17265 17288]
                                      )
                                    }
                                  spids: [17264]
                                )
                              ]
                              spids: [17264]
                            )
                            (Case
                              to_match: {($ VSub_Name "$build")}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (mingw) (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lt_sed_strip_trailing_spaces)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ("s/[ ]*") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\$">
                                                ) (//)
                                              )
                                            }
                                          spids: [17312]
                                        )
                                      ]
                                      spids: [17312]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_tmp2)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        children: [
                                                          (Subshell
                                                            child: 
                                                              (Pipeline
                                                                children: [
                                                                  (C {(cmd)} {(//c)} {(echo)} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$func_to_host_pathlist_tmp1"
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name "$SED")} {(-e)} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$lt_sed_strip_trailing_spaces"
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            redirects: [
                                                              (Redir
                                                                op_id: Redir_Great
                                                                fd: 2
                                                                arg_word: {(/dev/null)}
                                                                spids: [17347]
                                                              )
                                                            ]
                                                            spids: [17322 17345]
                                                          )
                                                          (C {(echo)} {(DQ )})
                                                        ]
                                                        op_id: Op_DPipe
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [17321 17356]
                                              )
                                            }
                                          spids: [17320]
                                        )
                                      ]
                                      spids: [17320]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(echo)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
"$func_to_host_pathlist_tmp2"
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name "$SED")} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
"$lt_sed_naive_backslashify"
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [17360 17377]
                                              )
                                            }
                                          spids: [17359]
                                        )
                                      ]
                                      spids: [17359]
                                    )
                                  ]
                                  spids: [17298 17302 17380 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (cygwin) (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_tmp2)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(cygpath)} {(-w)} {(-p)} 
                                                        {
                                                          (DQ 
                                                            ($ VSub_Name 
"$func_to_host_pathlist_tmp1"
                                                            )
                                                          )
                                                        }
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [17391 17401]
                                              )
                                            }
                                          spids: [17390]
                                        )
                                      ]
                                      spids: [17390]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(echo)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
"$func_to_host_pathlist_tmp2"
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name "$SED")} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
"$lt_sed_naive_backslashify"
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [17405 17422]
                                              )
                                            }
                                          spids: [17404]
                                        )
                                      ]
                                      spids: [17404]
                                    )
                                  ]
                                  spids: [17383 17387 17425 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [17437]
                                        )
                                      ]
                                      spids: [17437]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_oldIFS)
                                          op: Equal
                                          rhs: {($ VSub_Name "$IFS")}
                                          spids: [17442]
                                        )
                                      ]
                                      spids: [17442]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(Lit_Other ":")}
                                          spids: [17446]
                                        )
                                      ]
                                      spids: [17446]
                                    )
                                    (ForEach
                                      iter_name: func_to_host_pathlist_f
                                      iter_words: [{($ VSub_Name "$func_to_host_pathlist_tmp1")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$func_to_host_pathlist_oldIFS")}
                                                  spids: [17463]
                                                )
                                              ]
                                              spids: [17463]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name "$func_to_host_pathlist_f")
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_to_host_path)} 
                                                      {(DQ ($ VSub_Name "$func_to_host_pathlist_f"))}
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
"$func_to_host_path_result"
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
"$func_to_host_pathlist_result"
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: 
func_to_host_pathlist_result
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
"$func_to_host_path_result"
                                                                                )
                                                                              )
                                                                            }
                                                                          spids: [17519]
                                                                        )
                                                                      ]
                                                                      spids: [17519]
                                                                    )
                                                                  ]
                                                                  spids: [-1 17516]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: 
func_to_host_pathlist_result
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
"$func_to_host_pathlist_result"
                                                                            ) (";") ($ VSub_Name "$func_to_host_path_result")
                                                                          )
                                                                        }
                                                                      spids: [17528]
                                                                    )
                                                                  ]
                                                                  spids: [17528]
                                                                )
                                                              ]
                                                              spids: [17525 17536]
                                                            )
                                                          ]
                                                          spids: [-1 17501]
                                                        )
                                                      ]
                                                      spids: [-1 17539]
                                                    )
                                                  ]
                                                  spids: [-1 17479]
                                                )
                                              ]
                                              spids: [-1 17542]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(Lit_Other ":")}
                                                  spids: [17545]
                                                )
                                              ]
                                              spids: [17545]
                                            )
                                          ]
                                          spids: [17460 17549]
                                        )
                                      spids: [17455 17458]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name "$func_to_host_pathlist_oldIFS")}
                                          spids: [17552]
                                        )
                                      ]
                                      spids: [17552]
                                    )
                                  ]
                                  spids: [17428 17430 17556 -1]
                                )
                              ]
                              spids: [17291 17295 17559]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name "$func_to_host_pathlist_result"))}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_error)} 
                                      {
                                        (DQ ("Could not determine the host path(s) corresponding to"))
                                      }
                                    )
                                    (C {(func_error)} {(DQ ("  '") ($ VSub_Number "$1") ("'"))})
                                    (C {(func_error)} 
                                      {
                                        (DQ ("Continuing, but uninstalled executables may not work."))
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lt_replace_pathsep_nix_to_dos)
                                          op: Equal
                                          rhs: {(DQ ("s|:|;|g"))}
                                          spids: [17620]
                                        )
                                      ]
                                      spids: [17620]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(echo)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
"$func_to_host_pathlist_tmp1"
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name "$SED")} {(-e)} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
"$lt_replace_pathsep_nix_to_dos"
                                                                )
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [17627 17644]
                                              )
                                            }
                                          spids: [17626]
                                        )
                                      ]
                                      spids: [17626]
                                    )
                                  ]
                                  spids: [-1 17574]
                                )
                              ]
                              spids: [-1 17647]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Number "$1"))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other ":") (Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ (";") ($ VSub_Name "$func_to_host_pathlist_result"))
                                            }
                                          spids: [17668]
                                        )
                                      ]
                                      spids: [17668]
                                    )
                                  ]
                                  spids: [17663 17666 17675 -1]
                                )
                              ]
                              spids: [17654 17660 17678]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Number "$1"))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (Lit_Other ":")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_to_host_pathlist_result)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$func_to_host_pathlist_result") (";"))
                                            }
                                          spids: [17695]
                                        )
                                      ]
                                      spids: [17695]
                                    )
                                  ]
                                  spids: [17690 17693 17702 -1]
                                )
                              ]
                              spids: [17681 17687 17705]
                            )
                          ]
                          spids: [17225 17229 17708 -1]
                        )
                      ]
                      spids: [17218 17222 17711]
                    )
                  ]
                  spids: [-1 17215]
                )
              ]
              spids: [-1 17714]
            )
          ]
          spids: [17194]
        )
      spids: [17189 17193]
    )
    (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") ("   Currently, it simply execs the wrapper *script* ") (Right_DoubleQuote "\"") 
                        ($ VSub_Name "$SHELL") (" ") ($ VSub_Name "$output") (Right_DoubleQuote "\"") (",\n") 
                        ("   but could eventually absorb all of the scripts functionality and\n") ("   exec ") ($ VSub_Name "$objdir") (/) ($ VSub_Name "$outputname") (" directly.\n") ("*/\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [17744]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {("#include <stdio.h>\n") ("#include <stdlib.h>\n") ("#ifdef _MSC_VER\n") 
                      ("# include <direct.h>\n") ("# include <process.h>\n") ("# include <io.h>\n") ("# define setmode _setmode\n") ("#else\n") 
                      ("# include <unistd.h>\n") ("# include <stdint.h>\n") ("# ifdef __CYGWIN__\n") ("#  include <io.h>\n") ("#  define HAVE_SETENV\n") 
                      ("#  ifdef __STRICT_ANSI__\n") ("char *realpath (const char *, char *);\n") ("int putenv (char *);\n") 
                      ("int setenv (const char *, const char *, int);\n") ("#  endif\n") ("# endif\n") ("#endif\n") ("#include <malloc.h>\n") ("#include <stdarg.h>\n") 
                      ("#include <assert.h>\n") ("#include <string.h>\n") ("#include <ctype.h>\n") ("#include <errno.h>\n") ("#include <fcntl.h>\n") 
                      ("#include <sys/stat.h>\n") ("\n") ("#if defined(PATH_MAX)\n") ("# define LT_PATHMAX PATH_MAX\n") ("#elif defined(MAXPATHLEN)\n") 
                      ("# define LT_PATHMAX MAXPATHLEN\n") ("#else\n") ("# define LT_PATHMAX 1024\n") ("#endif\n") ("\n") ("#ifndef S_IXOTH\n") 
                      ("# define S_IXOTH 0\n") ("#endif\n") ("#ifndef S_IXGRP\n") ("# define S_IXGRP 0\n") ("#endif\n") ("\n") ("#ifdef _MSC_VER\n") 
                      ("# define S_IXUSR _S_IEXEC\n") ("# define stat _stat\n") ("# ifndef _INTPTR_T_DEFINED\n") ("#  define intptr_t int\n") ("# endif\n") 
                      ("#endif\n") ("\n") ("#ifndef DIR_SEPARATOR\n") ("# define DIR_SEPARATOR '/'\n") ("# define PATH_SEPARATOR ':'\n") 
                      ("#endif\n") ("\n") ("#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \\\n") 
                      ("  defined (__OS2__)\n") ("# define HAVE_DOS_BASED_FILE_SYSTEM\n") ("# define FOPEN_WB \"wb\"\n") ("# ifndef DIR_SEPARATOR_2\n") 
                      ("#  define DIR_SEPARATOR_2 '\\\\'\n") ("# endif\n") ("# ifndef PATH_SEPARATOR_2\n") ("#  define PATH_SEPARATOR_2 ';'\n") ("# endif\n") 
                      ("#endif\n") ("\n") ("#ifndef DIR_SEPARATOR_2\n") ("# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)\n") 
                      ("#else /* DIR_SEPARATOR_2 */\n") ("# define IS_DIR_SEPARATOR(ch) \\\n") ("\t(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))\n") 
                      ("#endif /* DIR_SEPARATOR_2 */\n") ("\n") ("#ifndef PATH_SEPARATOR_2\n") ("# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)\n") 
                      ("#else /* PATH_SEPARATOR_2 */\n") ("# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)\n") ("#endif /* PATH_SEPARATOR_2 */\n") 
                      ("\n") ("#ifdef __CYGWIN__\n") ("# define FOPEN_WB \"wb\"\n") ("#endif\n") ("\n") ("#ifndef FOPEN_WB\n") 
                      ("# define FOPEN_WB \"w\"\n") ("#endif\n") ("#ifndef _O_BINARY\n") ("# define _O_BINARY 0\n") ("#endif\n") ("\n") 
                      (
"#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))\n"
                      ) ("#define XFREE(stale) do { \\\n") ("  if (stale) { free ((void *) stale); stale = 0; } \\\n") 
                      ("} while (0)\n") ("\n") ("#undef LTWRAPPER_DEBUGPRINTF\n") ("#if defined DEBUGWRAPPER\n") 
                      ("# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args\n") ("static void\n") ("ltwrapper_debugprintf (const char *fmt, ...)\n") ("{\n") ("    va_list args;\n") 
                      ("    va_start (args, fmt);\n") ("    (void) vfprintf (stderr, fmt, args);\n") ("    va_end (args);\n") ("}\n") ("#else\n") 
                      ("# define LTWRAPPER_DEBUGPRINTF(args)\n") ("#endif\n") ("\n") ("const char *program_name = NULL;\n") ("\n") ("void *xmalloc (size_t num);\n") 
                      ("char *xstrdup (const char *string);\n") ("const char *base_name (const char *name);\n") ("char *find_executable (const char *wrapper);\n") 
                      ("char *chase_symlinks (const char *pathspec);\n") ("int make_executable (const char *path);\n") ("int check_executable (const char *path);\n") 
                      ("char *strendzap (char *str, const char *pat);\n") ("void lt_fatal (const char *message, ...);\n") 
                      ("void lt_setenv (const char *name, const char *value);\n") ("char *lt_extend_str (const char *orig_value, const char *add, int to_end);\n") 
                      ("void lt_opt_process_env_set (const char *arg);\n") ("void lt_opt_process_env_prepend (const char *arg);\n") 
                      ("void lt_opt_process_env_append (const char *arg);\n") ("int lt_split_name_value (const char *arg, char** name, char** value);\n") 
                      ("void lt_update_exe_path (const char *name, const char *value);\n") ("void lt_update_lib_path (const char *name, const char *value);\n") ("\n") 
                      ("static const char *script_text_part1 =\n")
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [17789]
                )
              ]
            )
            (Pipeline
              children: [
                (C {(func_emit_wrapper_part1)} {(yes)})
                (C {($ VSub_Name "$SED")} {(-e)} {(SQ <"s/\\([\\\\\"]\\)/\\\\\\1/g">)} {(-e)} 
                  {(SQ <"s/^/  \"/">)} {(-e)} {(SQ <"s/$/\\\\n\"/">)}
                )
              ]
              negated: False
            )
            (C {(echo)} {(DQ (";"))})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("\n") ("static const char *script_text_part2 =\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [17835]
                )
              ]
            )
            (Pipeline
              children: [
                (C {(func_emit_wrapper_part2)} {(yes)})
                (C {($ VSub_Name "$SED")} {(-e)} {(SQ <"s/\\([\\\\\"]\\)/\\\\\\1/g">)} {(-e)} 
                  {(SQ <"s/^/  \"/">)} {(-e)} {(SQ <"s/$/\\\\n\"/">)}
                )
              ]
              negated: False
            )
            (C {(echo)} {(DQ (";"))})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("const char * MAGIC_EXE = ") (Right_DoubleQuote "\"") 
                        ($ VSub_Name "$magic_exe") (Right_DoubleQuote "\"") (";\n") ("const char * LIB_PATH_VARNAME = ") (Right_DoubleQuote "\"") 
                        ($ VSub_Name "$shlibpath_var") (Right_DoubleQuote "\"") (";\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [17881]
                )
              ]
            )
            (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_pathlist)} {(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_pathlist_result") (Right_DoubleQuote "\"") (";\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [17941]
                        )
                      ]
                    )
                  ]
                  spids: [-1 17929]
                )
              ]
              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: [17955]
                    )
                  ]
                )
              ]
              spids: [17950 17961]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dllsearchpath"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(func_to_host_pathlist)} {(DQ ($ VSub_Name "$dllsearchpath") (":"))})
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -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_pathlist_result") (Right_DoubleQuote "\"") (";\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [17989]
                        )
                      ]
                    )
                  ]
                  spids: [-1 17976]
                )
              ]
              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: [18008]
                    )
                  ]
                )
              ]
              spids: [18003 18014]
            )
            (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: [18036]
                        )
                      ]
                    )
                  ]
                  spids: [-1 18031]
                )
              ]
              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: [18051]
                    )
                  ]
                )
              ]
              spids: [18046 18060]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {("\n") ("#define LTWRAPPER_OPTION_PREFIX         \"--lt-\"\n") 
                      ("#define LTWRAPPER_OPTION_PREFIX_LENGTH  5\n") ("\n") ("static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;\n") 
                      ("static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;\n") ("\n") ("static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX \"dump-script\";\n") ("\n") 
                      (
"static const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;\n"
                      ) ("static const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX \"env-set\";\n") 
                      (
"  /* argument is putenv-style \"foo=bar\", value of foo is set to bar */\n"
                      ) ("\n") ("static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;\n") 
                      (
"static const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX \"env-prepend\";\n"
                      ) ("  /* argument is putenv-style \"foo=bar\", new value of foo is bar${foo} */\n") ("\n") 
                      (
"static const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;\n"
                      ) ("static const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX \"env-append\";\n") 
                      (
"  /* argument is putenv-style \"foo=bar\", new value of foo is ${foo}bar */\n"
                      ) ("\n") ("int\n") ("main (int argc, char *argv[])\n") ("{\n") ("  char **newargz;\n") ("  int  newargc;\n") 
                      ("  char *tmp_pathspec;\n") ("  char *actual_cwrapper_path;\n") ("  char *actual_cwrapper_name;\n") ("  char *target_name;\n") 
                      ("  char *lt_argv_zero;\n") ("  intptr_t rval = 127;\n") ("\n") ("  int i;\n") ("\n") 
                      ("  program_name = (char *) xstrdup (base_name (argv[0]));\n") ("  LTWRAPPER_DEBUGPRINTF ((\"(main) argv[0]      : %s\\n\", argv[0]));\n") 
                      (
"  LTWRAPPER_DEBUGPRINTF ((\"(main) program_name : %s\\n\", program_name));\n"
                      ) ("\n") ("  /* very simple arg parsing; don't want to rely on getopt */\n") 
                      ("  for (i = 1; i < argc; i++)\n") ("    {\n") ("      if (strcmp (argv[i], dumpscript_opt) == 0)\n") ("\t{\n")
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [18067]
                )
              ]
            )
            (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: [18082 18092 18106 -1]
                )
              ]
              spids: [18073 18079 18109]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {("\t  printf (\"%s\", script_text_part1);\n") 
                      ("\t  printf (\"%s\", script_text_part2);\n") ("\t  return 0;\n") ("\t}\n") ("    }\n") ("\n") ("  newargz = XMALLOC (char *, argc + 1);\n") 
                      ("  tmp_pathspec = find_executable (argv[0]);\n") ("  if (tmp_pathspec == NULL)\n") ("    lt_fatal (\"Couldn't find %s\", argv[0]);\n") 
                      (
"  LTWRAPPER_DEBUGPRINTF ((\"(main) found exe (before symlink chase) at : %s\\n\",\n"
                      ) ("\t\t\t  tmp_pathspec));\n") ("\n") ("  actual_cwrapper_path = chase_symlinks (tmp_pathspec);\n") 
                      (
"  LTWRAPPER_DEBUGPRINTF ((\"(main) found exe (after symlink chase) at : %s\\n\",\n"
                      ) ("\t\t\t  actual_cwrapper_path));\n") ("  XFREE (tmp_pathspec);\n") ("\n") 
                      ("  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));\n") ("  strendzap (actual_cwrapper_path, actual_cwrapper_name);\n") ("\n") 
                      ("  /* wrapper name transforms */\n") ("  strendzap (actual_cwrapper_name, \".exe\");\n") 
                      ("  tmp_pathspec = lt_extend_str (actual_cwrapper_name, \".exe\", 1);\n") ("  XFREE (actual_cwrapper_name);\n") ("  actual_cwrapper_name = tmp_pathspec;\n") 
                      ("  tmp_pathspec = 0;\n") ("\n") ("  /* target_name transforms -- use actual target program name; might have lt- prefix */\n") 
                      ("  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));\n") ("  strendzap (target_name, \".exe\");\n") 
                      ("  tmp_pathspec = lt_extend_str (target_name, \".exe\", 1);\n") ("  XFREE (target_name);\n") ("  target_name = tmp_pathspec;\n") ("  tmp_pathspec = 0;\n") ("\n") 
                      ("  LTWRAPPER_DEBUGPRINTF ((\"(main) libtool target name: %s\\n\",\n") ("\t\t\t  target_name));\n")
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [18115]
                )
              ]
            )
            (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: [18124]
                )
              ]
            )
            (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: [18149]
                )
              ]
            )
            (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: [18170]
                        )
                      ]
                    )
                  ]
                  spids: [18163 18165 18176 -1]
                )
              ]
              spids: [18156 18160 18179]
            )
            (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") ("  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);\n") 
                      ("  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);\n") ("\n") ("  newargc=0;\n") ("  for (i = 1; i < argc; i++)\n") ("    {\n") 
                      ("      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)\n") ("        {\n") ("          if (argv[i][env_set_opt_len] == '=')\n") ("            {\n") 
                      ("              const char *p = argv[i] + env_set_opt_len + 1;\n") ("              lt_opt_process_env_set (p);\n") ("            }\n") 
                      ("          else if (argv[i][env_set_opt_len] == '\\0' && i + 1 < argc)\n") ("            {\n") ("              lt_opt_process_env_set (argv[++i]); /* don't copy */\n") 
                      ("            }\n") ("          else\n") ("            lt_fatal (\"%s missing required argument\", env_set_opt);\n") 
                      ("          continue;\n") ("        }\n") ("      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)\n") 
                      ("        {\n") ("          if (argv[i][env_prepend_opt_len] == '=')\n") ("            {\n") 
                      ("              const char *p = argv[i] + env_prepend_opt_len + 1;\n") ("              lt_opt_process_env_prepend (p);\n") ("            }\n") 
                      (
"          else if (argv[i][env_prepend_opt_len] == '\\0' && i + 1 < argc)\n"
                      ) ("            {\n") ("              lt_opt_process_env_prepend (argv[++i]); /* don't copy */\n") 
                      ("            }\n") ("          else\n") ("            lt_fatal (\"%s missing required argument\", env_prepend_opt);\n") 
                      ("          continue;\n") ("        }\n") ("      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)\n") 
                      ("        {\n") ("          if (argv[i][env_append_opt_len] == '=')\n") ("            {\n") 
                      ("              const char *p = argv[i] + env_append_opt_len + 1;\n") ("              lt_opt_process_env_append (p);\n") ("            }\n") 
                      (
"          else if (argv[i][env_append_opt_len] == '\\0' && i + 1 < argc)\n"
                      ) ("            {\n") ("              lt_opt_process_env_append (argv[++i]); /* don't copy */\n") 
                      ("            }\n") ("          else\n") ("            lt_fatal (\"%s missing required argument\", env_append_opt);\n") 
                      ("          continue;\n") ("        }\n") ("      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)\n") 
                      ("        {\n") ("          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX\n") 
                      ("             namespace, but it is not one of the ones we know about and\n") ("             have already dealt with, above (inluding dump-script), then\n") 
                      ("             report an error. Otherwise, targets might begin to believe\n") ("             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX\n") 
                      (
"             namespace. The first time any user complains about this, we'll\n"
                      ) ("             need to make LTWRAPPER_OPTION_PREFIX a configure-time option\n") 
                      ("             or a configure.ac-settable value.\n") ("           */\n") ("          lt_fatal (\"Unrecognized option in %s namespace: '%s'\",\n") 
                      ("                    ltwrapper_option_prefix, argv[i]);\n") ("        }\n") ("      /* otherwise ... */\n") ("      newargz[++newargc] = xstrdup (argv[i]);\n") 
                      ("    }\n") ("  newargz[++newargc] = NULL;\n") ("\n") 
                      (
"  LTWRAPPER_DEBUGPRINTF     ((\"(main) lt_argv_zero : %s\\n\", (lt_argv_zero ? lt_argv_zero : \"<NULL>\")));\n"
                      ) ("  for (i = 0; i < newargc; i++)\n") ("    {\n") 
                      (
"      LTWRAPPER_DEBUGPRINTF ((\"(main) newargz[%d]   : %s\\n\", i, (newargz[i] ? newargz[i] : \"<NULL>\")));\n"
                      ) ("    }\n") ("\n")
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [18185]
                )
              ]
            )
            (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") 
                              (
"  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);\n"
                              ) ("  if (rval == -1)\n") ("    {\n") ("      /* failed to start process */\n") 
                              (
"      LTWRAPPER_DEBUGPRINTF ((\"(main) failed to launch target \\\"%s\\\": errno = %d\\n\", lt_argv_zero, errno));\n"
                              ) ("      return 127;\n") ("    }\n") ("  return rval;\n")
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: True
                          spids: [18206]
                        )
                      ]
                    )
                  ]
                  spids: [18199 18201 18212 -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: [18221]
                        )
                      ]
                    )
                  ]
                  spids: [18215 18216 18227 -1]
                )
              ]
              spids: [18192 18196 18230]
            )
            (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 (\"Memory exhausted\");\n") ("\n") ("  return p;\n") ("}\n") ("\n") 
                      ("char *\n") ("xstrdup (const char *string)\n") ("{\n") 
                      ("  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),\n") ("\t\t\t  string) : NULL;\n") ("}\n") ("\n") ("const char *\n") ("base_name (const char *name)\n") ("{\n") 
                      ("  const char *base;\n") ("\n") ("#if defined (HAVE_DOS_BASED_FILE_SYSTEM)\n") 
                      ("  /* Skip over the disk name in MSDOS pathnames. */\n") ("  if (isalpha ((unsigned char) name[0]) && name[1] == ':')\n") ("    name += 2;\n") ("#endif\n") 
                      ("\n") ("  for (base = name; *name; name++)\n") ("    if (IS_DIR_SEPARATOR (*name))\n") 
                      ("      base = name + 1;\n") ("  return base;\n") ("}\n") ("\n") ("int\n") ("check_executable (const char *path)\n") ("{\n") 
                      ("  struct stat st;\n") ("\n") ("  LTWRAPPER_DEBUGPRINTF ((\"(check_executable)  : %s\\n\",\n") 
                      ("\t\t\t  path ? (*path ? path : \"EMPTY!\") : \"NULL!\"));\n") ("  if ((!path) || (!*path))\n") ("    return 0;\n") ("\n") ("  if ((stat (path, &st) >= 0)\n") 
                      ("      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))\n") ("    return 1;\n") ("  else\n") ("    return 0;\n") ("}\n") ("\n") ("int\n") 
                      ("make_executable (const char *path)\n") ("{\n") ("  int rval = 0;\n") ("  struct stat st;\n") ("\n") 
                      ("  LTWRAPPER_DEBUGPRINTF ((\"(make_executable)   : %s\\n\",\n") ("\t\t\t  path ? (*path ? path : \"EMPTY!\") : \"NULL!\"));\n") ("  if ((!path) || (!*path))\n") 
                      ("    return 0;\n") ("\n") ("  if (stat (path, &st) >= 0)\n") ("    {\n") 
                      ("      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);\n") ("    }\n") ("  return rval;\n") ("}\n") ("\n") 
                      ("/* Searches for the full path of the wrapper.  Returns\n") ("   newly allocated full path name if found, NULL otherwise\n") 
                      ("   Does not chase symlinks, even on platforms that support them.\n") ("*/\n") ("char *\n") ("find_executable (const char *wrapper)\n") ("{\n") ("  int has_slash = 0;\n") 
                      ("  const char *p;\n") ("  const char *p_next;\n") ("  /* static buffer for getcwd */\n") ("  char tmp[LT_PATHMAX + 1];\n") 
                      ("  int tmp_len;\n") ("  char *concat_name;\n") ("\n") ("  LTWRAPPER_DEBUGPRINTF ((\"(find_executable)   : %s\\n\",\n") 
                      ("\t\t\t  wrapper ? (*wrapper ? wrapper : \"EMPTY!\") : \"NULL!\"));\n") ("\n") ("  if ((wrapper == NULL) || (*wrapper == '\\0'))\n") ("    return NULL;\n") ("\n") 
                      ("  /* Absolute path? */\n") ("#if defined (HAVE_DOS_BASED_FILE_SYSTEM)\n") 
                      ("  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')\n") ("    {\n") ("      concat_name = xstrdup (wrapper);\n") 
                      ("      if (check_executable (concat_name))\n") ("\treturn concat_name;\n") ("      XFREE (concat_name);\n") ("    }\n") ("  else\n") ("    {\n") 
                      ("#endif\n") ("      if (IS_DIR_SEPARATOR (wrapper[0]))\n") ("\t{\n") ("\t  concat_name = xstrdup (wrapper);\n") 
                      ("\t  if (check_executable (concat_name))\n") ("\t    return concat_name;\n") ("\t  XFREE (concat_name);\n") ("\t}\n") 
                      ("#if defined (HAVE_DOS_BASED_FILE_SYSTEM)\n") ("    }\n") ("#endif\n") ("\n") ("  for (p = wrapper; *p; p++)\n") ("    if (*p == '/')\n") ("      {\n") 
                      ("\thas_slash = 1;\n") ("\tbreak;\n") ("      }\n") ("  if (!has_slash)\n") ("    {\n") 
                      ("      /* no slashes; search PATH */\n") ("      const char *path = getenv (\"PATH\");\n") ("      if (path != NULL)\n") ("\t{\n") 
                      ("\t  for (p = path; *p; p = p_next)\n") ("\t    {\n") ("\t      const char *q;\n") ("\t      size_t p_len;\n") 
                      ("\t      for (q = p; *q; q++)\n") ("\t\tif (IS_PATH_SEPARATOR (*q))\n") ("\t\t  break;\n") ("\t      p_len = q - p;\n") 
                      ("\t      p_next = (*q == '\\0' ? q : q + 1);\n") ("\t      if (p_len == 0)\n") ("\t\t{\n") ("\t\t  /* empty path: current directory */\n") 
                      ("\t\t  if (getcwd (tmp, LT_PATHMAX) == NULL)\n") ("\t\t    lt_fatal (\"getcwd failed\");\n") ("\t\t  tmp_len = strlen (tmp);\n") 
                      ("\t\t  concat_name =\n") ("\t\t    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);\n") 
                      ("\t\t  memcpy (concat_name, tmp, tmp_len);\n") ("\t\t  concat_name[tmp_len] = '/';\n") ("\t\t  strcpy (concat_name + tmp_len + 1, wrapper);\n") 
                      ("\t\t}\n") ("\t      else\n") ("\t\t{\n") ("\t\t  concat_name =\n") 
                      ("\t\t    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);\n") ("\t\t  memcpy (concat_name, p, p_len);\n") ("\t\t  concat_name[p_len] = '/';\n") 
                      ("\t\t  strcpy (concat_name + p_len + 1, wrapper);\n") ("\t\t}\n") ("\t      if (check_executable (concat_name))\n") ("\t\treturn concat_name;\n") 
                      ("\t      XFREE (concat_name);\n") ("\t    }\n") ("\t}\n") ("      /* not found in PATH; assume curdir */\n") ("    }\n") 
                      ("  /* Relative path | not found in path: prepend cwd */\n") ("  if (getcwd (tmp, LT_PATHMAX) == NULL)\n") ("    lt_fatal (\"getcwd failed\");\n") 
                      ("  tmp_len = strlen (tmp);\n") ("  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);\n") 
                      ("  memcpy (concat_name, tmp, tmp_len);\n") ("  concat_name[tmp_len] = '/';\n") ("  strcpy (concat_name + tmp_len + 1, wrapper);\n") ("\n") 
                      ("  if (check_executable (concat_name))\n") ("    return concat_name;\n") ("  XFREE (concat_name);\n") ("  return NULL;\n") ("}\n") ("\n") 
                      ("char *\n") ("chase_symlinks (const char *pathspec)\n") ("{\n") ("#ifndef S_ISLNK\n") 
                      ("  return xstrdup (pathspec);\n") ("#else\n") ("  char buf[LT_PATHMAX];\n") ("  struct stat s;\n") 
                      ("  char *tmp_pathspec = xstrdup (pathspec);\n") ("  char *p;\n") ("  int has_symlinks = 0;\n") ("  while (strlen (tmp_pathspec) && !has_symlinks)\n") 
                      ("    {\n") ("      LTWRAPPER_DEBUGPRINTF ((\"checking path component for symlinks: %s\\n\",\n") 
                      ("\t\t\t      tmp_pathspec));\n") ("      if (lstat (tmp_pathspec, &s) == 0)\n") ("\t{\n") ("\t  if (S_ISLNK (s.st_mode) != 0)\n") 
                      ("\t    {\n") ("\t      has_symlinks = 1;\n") ("\t      break;\n") ("\t    }\n") ("\n") 
                      ("\t  /* search backwards for last DIR_SEPARATOR */\n") ("\t  p = tmp_pathspec + strlen (tmp_pathspec) - 1;\n") 
                      ("\t  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))\n") ("\t    p--;\n") ("\t  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))\n") ("\t    {\n") 
                      ("\t      /* no more DIR_SEPARATORS left */\n") ("\t      break;\n") ("\t    }\n") ("\t  *p = '\\0';\n") ("\t}\n") ("      else\n") ("\t{\n") 
                      ("\t  char *errstr = strerror (errno);\n") ("\t  lt_fatal (\"Error accessing file %s (%s)\", tmp_pathspec, errstr);\n") ("\t}\n") ("    }\n") 
                      ("  XFREE (tmp_pathspec);\n") ("\n") ("  if (!has_symlinks)\n") ("    {\n") ("      return xstrdup (pathspec);\n") ("    }\n") ("\n") 
                      ("  tmp_pathspec = realpath (pathspec, buf);\n") ("  if (tmp_pathspec == 0)\n") ("    {\n") 
                      ("      lt_fatal (\"Could not follow symlinks for %s\", pathspec);\n") ("    }\n") ("  return xstrdup (tmp_pathspec);\n") ("#endif\n") ("}\n") ("\n") ("char *\n") 
                      ("strendzap (char *str, const char *pat)\n") ("{\n") ("  size_t len, patlen;\n") ("\n") ("  assert (str != NULL);\n") ("  assert (pat != NULL);\n") 
                      ("\n") ("  len = strlen (str);\n") ("  patlen = strlen (pat);\n") ("\n") ("  if (patlen <= len)\n") ("    {\n") 
                      ("      str += len - patlen;\n") ("      if (strcmp (str, pat) == 0)\n") ("\t*str = '\\0';\n") ("    }\n") ("  return str;\n") ("}\n") 
                      ("\n") ("static void\n") ("lt_error_core (int exit_status, const char *mode,\n") 
                      ("\t       const char *message, va_list ap)\n") ("{\n") ("  fprintf (stderr, \"%s: %s: \", program_name, mode);\n") 
                      ("  vfprintf (stderr, message, ap);\n") ("  fprintf (stderr, \".\\n\");\n") ("\n") ("  if (exit_status >= 0)\n") ("    exit (exit_status);\n") 
                      ("}\n") ("\n") ("void\n") ("lt_fatal (const char *message, ...)\n") ("{\n") ("  va_list ap;\n") 
                      ("  va_start (ap, message);\n") ("  lt_error_core (EXIT_FAILURE, \"FATAL\", message, ap);\n") ("  va_end (ap);\n") ("}\n") ("\n") 
                      ("void\n") ("lt_setenv (const char *name, const char *value)\n") ("{\n") 
                      ("  LTWRAPPER_DEBUGPRINTF ((\"(lt_setenv) setting '%s' to '%s'\\n\",\n") ("                          (name ? name : \"<NULL>\"),\n") 
                      ("                          (value ? value : \"<NULL>\")));\n") ("  {\n") ("#ifdef HAVE_SETENV\n") 
                      ("    /* always make a copy, for consistency with !HAVE_SETENV */\n") ("    char *str = xstrdup (value);\n") ("    setenv (name, str, 1);\n") ("#else\n") 
                      ("    int len = strlen (name) + 1 + strlen (value) + 1;\n") ("    char *str = XMALLOC (char, len);\n") ("    sprintf (str, \"%s=%s\", name, value);\n") 
                      ("    if (putenv (str) != EXIT_SUCCESS)\n") ("      {\n") ("        XFREE (str);\n") ("      }\n") ("#endif\n") ("  }\n") ("}\n") ("\n") ("char *\n") 
                      ("lt_extend_str (const char *orig_value, const char *add, int to_end)\n") ("{\n") ("  char *new_value;\n") ("  if (orig_value && *orig_value)\n") ("    {\n") 
                      ("      int orig_value_len = strlen (orig_value);\n") ("      int add_len = strlen (add);\n") 
                      ("      new_value = XMALLOC (char, add_len + orig_value_len + 1);\n") ("      if (to_end)\n") ("        {\n") ("          strcpy (new_value, orig_value);\n") 
                      ("          strcpy (new_value + orig_value_len, add);\n") ("        }\n") ("      else\n") ("        {\n") ("          strcpy (new_value, add);\n") 
                      ("          strcpy (new_value + add_len, orig_value);\n") ("        }\n") ("    }\n") ("  else\n") ("    {\n") ("      new_value = xstrdup (add);\n") ("    }\n") 
                      ("  return new_value;\n") ("}\n") ("\n") ("int\n") ("lt_split_name_value (const char *arg, char** name, char** value)\n") ("{\n") 
                      ("  const char *p;\n") ("  int len;\n") ("  if (!arg || !*arg)\n") ("    return 1;\n") ("\n") 
                      ("  p = strchr (arg, (int)'=');\n") ("\n") ("  if (!p)\n") ("    return 1;\n") ("\n") ("  *value = xstrdup (++p);\n") ("\n") 
                      ("  len = strlen (arg) - strlen (*value);\n") ("  *name = XMALLOC (char, len);\n") ("  strncpy (*name, arg, len-1);\n") 
                      ("  (*name)[len - 1] = '\\0';\n") ("\n") ("  return 0;\n") ("}\n") ("\n") ("void\n") ("lt_opt_process_env_set (const char *arg)\n") ("{\n") 
                      ("  char *name = NULL;\n") ("  char *value = NULL;\n") ("\n") ("  if (lt_split_name_value (arg, &name, &value) != 0)\n") 
                      ("    {\n") ("      XFREE (name);\n") ("      XFREE (value);\n") 
                      ("      lt_fatal (\"bad argument for %s: '%s'\", env_set_opt, arg);\n") ("    }\n") ("\n") ("  lt_setenv (name, value);\n") ("  XFREE (name);\n") ("  XFREE (value);\n") ("}\n") 
                      ("\n") ("void\n") ("lt_opt_process_env_prepend (const char *arg)\n") ("{\n") ("  char *name = NULL;\n") 
                      ("  char *value = NULL;\n") ("  char *new_value = NULL;\n") ("\n") ("  if (lt_split_name_value (arg, &name, &value) != 0)\n") 
                      ("    {\n") ("      XFREE (name);\n") ("      XFREE (value);\n") 
                      ("      lt_fatal (\"bad argument for %s: '%s'\", env_prepend_opt, arg);\n") ("    }\n") ("\n") ("  new_value = lt_extend_str (getenv (name), value, 0);\n") 
                      ("  lt_setenv (name, new_value);\n") ("  XFREE (new_value);\n") ("  XFREE (name);\n") ("  XFREE (value);\n") ("}\n") ("\n") ("void\n") 
                      ("lt_opt_process_env_append (const char *arg)\n") ("{\n") ("  char *name = NULL;\n") ("  char *value = NULL;\n") ("  char *new_value = NULL;\n") ("\n") 
                      ("  if (lt_split_name_value (arg, &name, &value) != 0)\n") ("    {\n") ("      XFREE (name);\n") ("      XFREE (value);\n") 
                      ("      lt_fatal (\"bad argument for %s: '%s'\", env_append_opt, arg);\n") ("    }\n") ("\n") ("  new_value = lt_extend_str (getenv (name), value, 1);\n") 
                      ("  lt_setenv (name, new_value);\n") ("  XFREE (new_value);\n") ("  XFREE (name);\n") ("  XFREE (value);\n") ("}\n") ("\n") ("void\n") 
                      ("lt_update_exe_path (const char *name, const char *value)\n") ("{\n") ("  LTWRAPPER_DEBUGPRINTF ((\"(lt_update_exe_path) modifying '%s' by prepending '%s'\\n\",\n") 
                      ("                          (name ? name : \"<NULL>\"),\n") ("                          (value ? value : \"<NULL>\")));\n") ("\n") 
                      ("  if (name && *name && value && *value)\n") ("    {\n") ("      char *new_value = lt_extend_str (getenv (name), value, 0);\n") 
                      ("      /* some systems can't cope with a ':'-terminated path #' */\n") ("      int len = strlen (new_value);\n") 
                      (
"      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))\n"
                      ) ("        {\n") ("          new_value[len-1] = '\\0';\n") ("        }\n") 
                      ("      lt_setenv (name, new_value);\n") ("      XFREE (new_value);\n") ("    }\n") ("}\n") ("\n") ("void\n") 
                      ("lt_update_lib_path (const char *name, const char *value)\n") ("{\n") ("  LTWRAPPER_DEBUGPRINTF ((\"(lt_update_lib_path) modifying '%s' by prepending '%s'\\n\",\n") 
                      ("                          (name ? name : \"<NULL>\"),\n") ("                          (value ? value : \"<NULL>\")));\n") ("\n") 
                      ("  if (name && *name && value && *value)\n") ("    {\n") ("      char *new_value = lt_extend_str (getenv (name), value, 0);\n") 
                      ("      lt_setenv (name, new_value);\n") ("      XFREE (new_value);\n") ("    }\n") ("}\n") ("\n") ("\n")
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [18236]
                )
              ]
            )
          ]
          spids: [17739]
        )
      spids: [17734 17738]
    )
    (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: [18347]
                        )
                      ]
                      spids: [18347]
                    )
                  ]
                  spids: [18268 18303 18351 -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: [18358]
                        )
                      ]
                      spids: [18358]
                    )
                  ]
                  spids: [18354 18355 18362 -1]
                )
              ]
              spids: [18261 18265 18365]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_args)
                  op: Equal
                  rhs: {($ VSub_Name "$nonopt")}
                  spids: [18368]
                )
              ]
              spids: [18368]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base_compile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$nonopt") (" ") ($ VSub_At "$@"))}
                  spids: [18372]
                )
              ]
              spids: [18372]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_command)
                  op: Equal
                  rhs: {($ VSub_Name "$nonopt")}
                  spids: [18380]
                )
              ]
              spids: [18380]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_command)
                  op: Equal
                  rhs: {($ VSub_Name "$nonopt")}
                  spids: [18384]
                )
              ]
              spids: [18384]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_rpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18389]
                )
              ]
              spids: [18389]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_rpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18392]
                )
              ]
              spids: [18392]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_shlibpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18395]
                )
              ]
              spids: [18395]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_shlibpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18398]
                )
              ]
              spids: [18398]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:convenience) op:Equal rhs:{(SQ )} spids:[18401])]
              spids: [18401]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_convenience)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18404]
                )
              ]
              spids: [18404]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:deplibs) op:Equal rhs:{(SQ )} spids:[18407])]
              spids: [18407]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:old_deplibs) op:Equal rhs:{(SQ )} spids:[18410])]
              spids: [18410]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compiler_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18413]
                )
              ]
              spids: [18413]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:linker_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18416]
                )
              ]
              spids: [18416]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dllsearchpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18419]
                )
              ]
              spids: [18419]
            )
            (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: [18423 18425]
                      )
                    }
                  spids: [18422]
                )
              ]
              spids: [18422]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inst_prefix_dir)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18428]
                )
              ]
              spids: [18428]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_inherited_linker_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18431]
                )
              ]
              spids: [18431]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:avoid_version)
                  op: Equal
                  rhs: {(no)}
                  spids: [18435]
                )
              ]
              spids: [18435]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlfiles) op:Equal rhs:{(SQ )} spids:[18439])]
              spids: [18439]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlprefiles) op:Equal rhs:{(SQ )} spids:[18442])]
              spids: [18442]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlself) op:Equal rhs:{(no)} spids:[18445])]
              spids: [18445]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_dynamic)
                  op: Equal
                  rhs: {(no)}
                  spids: [18449]
                )
              ]
              spids: [18449]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18453]
                )
              ]
              spids: [18453]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols_regex)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18456]
                )
              ]
              spids: [18456]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:generated) op:Equal rhs:{(SQ )} spids:[18459])]
              spids: [18459]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobjs) op:Equal rhs:{(SQ )} spids:[18462])]
              spids: [18462]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:ltlibs) op:Equal rhs:{(SQ )} spids:[18465])]
              spids: [18465]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:module) op:Equal rhs:{(no)} spids:[18468])]
              spids: [18468]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:no_install) op:Equal rhs:{(no)} spids:[18472])]
              spids: [18472]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:objs) op:Equal rhs:{(SQ )} spids:[18476])]
              spids: [18476]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:non_pic_objects)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18479]
                )
              ]
              spids: [18479]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:precious_files_regex)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [18482]
                )
              ]
              spids: [18482]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prefer_static_libs)
                  op: Equal
                  rhs: {(no)}
                  spids: [18485]
                )
              ]
              spids: [18485]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:preload) op:Equal rhs:{(no)} spids:[18489])]
              spids: [18489]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(SQ )} spids:[18493])]
              spids: [18493]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prevarg) op:Equal rhs:{(SQ )} spids:[18496])]
              spids: [18496]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:release) op:Equal rhs:{(SQ )} spids:[18499])]
              spids: [18499]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rpath) op:Equal rhs:{(SQ )} spids:[18502])]
              spids: [18502]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:xrpath) op:Equal rhs:{(SQ )} spids:[18505])]
              spids: [18505]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:perm_rpath) op:Equal rhs:{(SQ )} spids:[18508])]
              spids: [18508]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:temp_rpath) op:Equal rhs:{(SQ )} spids:[18511])]
              spids: [18511]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:thread_safe) op:Equal rhs:{(no)} spids:[18514])]
              spids: [18514]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo) op:Equal rhs:{(SQ )} spids:[18518])]
              spids: [18518]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo_number) op:Equal rhs:{(no)} spids:[18521])]
              spids: [18521]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:weak_libs) op:Equal rhs:{(SQ )} spids:[18525])]
              spids: [18525]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:single_module)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name wl) (-single_module))}
                  spids: [18528]
                )
              ]
              spids: [18528]
            )
            (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: [18588]
                                )
                              ]
                              spids: [18588]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [18562 18563 18595 -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 18644]
                                        )
                                      ]
                                      spids: [-1 18654]
                                    )
                                    (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: [18671]
                                                )
                                              ]
                                              spids: [18671]
                                            )
                                          ]
                                          spids: [-1 18668]
                                        )
                                      ]
                                      spids: [-1 18675]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [18678]
                                        )
                                      ]
                                      spids: [18678]
                                    )
                                  ]
                                  spids: [18617 18618 18682 -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: [18713]
                                                )
                                              ]
                                              spids: [18713]
                                            )
                                          ]
                                          spids: [-1 18710]
                                        )
                                      ]
                                      spids: [-1 18717]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(built)}
                                          spids: [18720]
                                        )
                                      ]
                                      spids: [18720]
                                    )
                                  ]
                                  spids: [18685 18686 18724 -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: [18755]
                                                )
                                              ]
                                              spids: [18755]
                                            )
                                          ]
                                          spids: [-1 18752]
                                        )
                                      ]
                                      spids: [-1 18759]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [18762]
                                        )
                                      ]
                                      spids: [18762]
                                    )
                                  ]
                                  spids: [18727 18728 18766 -1]
                                )
                              ]
                              spids: [18610 18614 18769]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [18772]
                                )
                              ]
                              spids: [18772]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [18776]
                                )
                              ]
                              spids: [18776]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [18598 18607 18783 -1]
                        )
                      ]
                      spids: [18555 18559 18786]
                    )
                  ]
                  spids: [18552 18789]
                )
              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: [18807]
                    )
                  ]
                  spids: [18807]
                )
              ]
              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: [18832]
                        )
                      ]
                      spids: [18832]
                    )
                    (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: [18848]
                        )
                      ]
                      spids: [18848]
                    )
                    (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: [18888 18889 18910 -1]
                                )
                              ]
                              spids: [18881 18885 18913]
                            )
                            (Case
                              to_match: {($ VSub_Name "$prev")}
                              arms: [
                                (case_arm
                                  pat_list: [{(dlfiles)} {(dlprefiles)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name "$preload"))} 
                                                  {(Lit_Other "=")} {(no)}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_append)} {(compile_command)} {(DQ (" @SYMFILE@"))})
                                            (C {(func_append)} {(finalize_command)} {(DQ (" @SYMFILE@"))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:preload)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [18968]
                                                )
                                              ]
                                              spids: [18968]
                                            )
                                          ]
                                          spids: [-1 18943]
                                        )
                                      ]
                                      spids: [-1 18972]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$arg")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other "*") (.la)} {(Lit_Other "*") (.lo)}]
                                          spids: [18982 18989 18991 -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: [19017]
                                                        )
                                                      ]
                                                      spids: [19017]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_dynamic)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [19021]
                                                        )
                                                      ]
                                                      spids: [19021]
                                                    )
                                                  ]
                                                  spids: [-1 19014]
                                                )
                                              ]
                                              spids: [-1 19025]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [19028]
                                                )
                                              ]
                                              spids: [19028]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [18997 18998 19034 -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: [19057]
                                                        )
                                                      ]
                                                      spids: [19057]
                                                    )
                                                  ]
                                                  spids: [-1 19054]
                                                )
                                                (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: [19090]
                                                        )
                                                      ]
                                                      spids: [19090]
                                                    )
                                                  ]
                                                  spids: [19061 19087]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlself)
                                                      op: Equal
                                                      rhs: {(needless)}
                                                      spids: [19097]
                                                    )
                                                  ]
                                                  spids: [19097]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_dynamic)
                                                      op: Equal
                                                      rhs: {(yes)}
                                                      spids: [19101]
                                                    )
                                                  ]
                                                  spids: [19101]
                                                )
                                              ]
                                              spids: [19094 19105]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [19108]
                                                )
                                              ]
                                              spids: [19108]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [19037 19038 19114 -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: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$dlfiles") (" ") 
                                                                ($ VSub_Name "$arg")
                                                              )
                                                            }
                                                          spids: [19137]
                                                        )
                                                      ]
                                                      spids: [19137]
                                                    )
                                                  ]
                                                  spids: [-1 19134]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlprefiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$dlprefiles") (" ") 
                                                            ($ VSub_Name "$arg")
                                                          )
                                                        }
                                                      spids: [19148]
                                                    )
                                                  ]
                                                  spids: [19148]
                                                )
                                              ]
                                              spids: [19145 19156]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [19159]
                                                )
                                              ]
                                              spids: [19159]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [19117 19118 19165 -1]
                                        )
                                      ]
                                      spids: [18975 18979 19168]
                                    )
                                  ]
                                  spids: [18924 18927 19171 -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: [19178]
                                        )
                                      ]
                                      spids: [19178]
                                    )
                                    (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: [19206]
                                        )
                                      ]
                                      spids: [19206]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [19174 19175 19212 -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: [19219]
                                        )
                                      ]
                                      spids: [19219]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [19225]
                                        )
                                      ]
                                      spids: [19225]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [19215 19216 19231 -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: [19263 19270 19272 -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 "$deplibs") (" ") 
                                                                ($ VSub_Name "$qarg") (.ltframework)
                                                              )
                                                            }
                                                          spids: [19278]
                                                        )
                                                      ]
                                                      spids: [19278]
                                                    )
                                                  ]
                                                  spids: [19275 19276 19290 -1]
                                                )
                                              ]
                                              spids: [19253 19260 19293]
                                            )
                                          ]
                                          spids: [19245 19250 19296 -1]
                                        )
                                      ]
                                      spids: [19238 19242 19299]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [19302]
                                        )
                                      ]
                                      spids: [19302]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [19234 19235 19308 -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: [19315]
                                        )
                                      ]
                                      spids: [19315]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [19321]
                                        )
                                      ]
                                      spids: [19321]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [19311 19312 19327 -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: [19348]
                                                )
                                              ]
                                              spids: [19348]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:moreargs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [19352]
                                                )
                                              ]
                                              spids: [19352]
                                            )
                                            (ForEach
                                              iter_name: fil
                                              iter_words: [
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (C {(cat)} {(DQ ($ VSub_Name "$save_arg"))})
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [19361 19367]
                                                  )
                                                }
                                              ]
                                              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: [19376]
                                                        )
                                                      ]
                                                      spids: [19376]
                                                    )
                                                    (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: [19401]
                                                                )
                                                              ]
                                                              spids: [19401]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:non_pic_object)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [19404]
                                                                )
                                                              ]
                                                              spids: [19404]
                                                            )
                                                            (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 19468]
                                                                )
                                                              ]
                                                              spids: [-1 19481]
                                                            )
                                                            (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: [19503]
                                                                )
                                                              ]
                                                              spids: [19503]
                                                            )
                                                            (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: [19531]
                                                                        )
                                                                      ]
                                                                      spids: [19531]
                                                                    )
                                                                    (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: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
dlfiles
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name "$dlfiles"
                                                                                                ) (" ") ($ VSub_Name "$pic_object")
                                                                                              )
                                                                                            }
                                                                                          spids: [
19583
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [19583]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
prev
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(SQ )}
                                                                                          spids: [
19591
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [19591]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 19580]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: prev
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (
dlprefiles
                                                                                          )
                                                                                        }
                                                                                      spids: [19604]
                                                                                    )
                                                                                  ]
                                                                                  spids: [19604]
                                                                                )
                                                                              ]
                                                                              spids: [19597 19608]
                                                                            )
                                                                          ]
                                                                          spids: [-1 19552]
                                                                        )
                                                                      ]
                                                                      spids: [-1 19611]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (C {(test)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
"$prev"
                                                                                      )
                                                                                    )
                                                                                  } {(Lit_Other "=")} {(dlprefiles)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ";">
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
dlprefiles
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$dlprefiles"
                                                                                        ) (" ") ($ VSub_Name "$pic_object")
                                                                                      )
                                                                                    }
                                                                                  spids: [19639]
                                                                                )
                                                                              ]
                                                                              spids: [19639]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: prev
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(SQ )}
                                                                                  spids: [19647]
                                                                                )
                                                                              ]
                                                                              spids: [19647]
                                                                            )
                                                                          ]
                                                                          spids: [-1 19632]
                                                                        )
                                                                      ]
                                                                      spids: [-1 19650]
                                                                    )
                                                                    (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: [19668]
                                                                        )
                                                                      ]
                                                                      spids: [19668]
                                                                    )
                                                                  ]
                                                                  spids: [-1 19524]
                                                                )
                                                              ]
                                                              spids: [-1 19674]
                                                            )
                                                            (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: [19703]
                                                                        )
                                                                      ]
                                                                      spids: [19703]
                                                                    )
                                                                    (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: [19752]
                                                                                )
                                                                              ]
                                                                              spids: [19752]
                                                                            )
                                                                          ]
                                                                          spids: [-1 19749]
                                                                        )
                                                                      ]
                                                                      spids: [-1 19758]
                                                                    )
                                                                  ]
                                                                  spids: [-1 19696]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: non_pic_object
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
"$pic_object"
                                                                            )
                                                                          )
                                                                        }
                                                                      spids: [19772]
                                                                    )
                                                                  ]
                                                                  spids: [19772]
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (" ") 
                                                                      ($ VSub_Name "$non_pic_object")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [19761 19788]
                                                            )
                                                          ]
                                                          spids: [-1 19398]
                                                        )
                                                      ]
                                                      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: [19824]
                                                                    )
                                                                  ]
                                                                  spids: [19824]
                                                                )
                                                                (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: [19838]
                                                                    )
                                                                  ]
                                                                  spids: [19838]
                                                                )
                                                                (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: [19845]
                                                                    )
                                                                  ]
                                                                  spids: [19845]
                                                                )
                                                                (C {(func_append)} {(libobjs)} 
                                                                  {
                                                                    (DQ (" ") 
                                                                      ($ VSub_Name "$pic_object")
                                                                    )
                                                                  }
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (" ") 
                                                                      ($ VSub_Name "$non_pic_object")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [-1 19803]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (C {(func_fatal_error)} 
                                                              {
                                                                (DQ 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar "\\`">
                                                                  ) ($ VSub_Name "$arg") ("' is not a valid libtool object")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [19870 19882]
                                                        )
                                                      ]
                                                      spids: [19791 19885]
                                                    )
                                                  ]
                                                  spids: [19370 19888]
                                                )
                                              spids: [19360 -1]
                                            )
                                          ]
                                          spids: [-1 19345]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("link input file ") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\`">
                                              ) ($ VSub_Name "$arg") ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [19891 19904]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: {($ VSub_Name "$save_arg")}
                                          spids: [19907]
                                        )
                                      ]
                                      spids: [19907]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [19911]
                                        )
                                      ]
                                      spids: [19911]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [19330 19331 19917 -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: [19924]
                                        )
                                      ]
                                      spids: [19924]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [19930]
                                        )
                                      ]
                                      spids: [19930]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [19920 19921 19936 -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: [19943]
                                        )
                                      ]
                                      spids: [19943]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [19950]
                                        )
                                      ]
                                      spids: [19950]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [19939 19940 19956 -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: [19978 19995 19997 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {(DQ ("only absolute run-paths are allowed"))}
                                            )
                                          ]
                                          spids: [20000 20001 20011 -1]
                                        )
                                      ]
                                      spids: [19971 19975 20014]
                                    )
                                    (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: [20043 20050 20052 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rpath)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$rpath") (" ") 
                                                                ($ VSub_Name "$arg")
                                                              )
                                                            }
                                                          spids: [20058]
                                                        )
                                                      ]
                                                      spids: [20058]
                                                    )
                                                  ]
                                                  spids: [20055 20056 20065 -1]
                                                )
                                              ]
                                              spids: [20033 20040 20068]
                                            )
                                          ]
                                          spids: [-1 20030]
                                        )
                                      ]
                                      else_action: [
                                        (Case
                                          to_match: {(DQ ($ VSub_Name "$xrpath") (" "))}
                                          arms: [
                                            (case_arm
                                              pat_list: [
                                                {(Lit_Other "*") 
                                                  (DQ (" ") ($ VSub_Name "$arg") (" ")) (Lit_Other "*")
                                                }
                                              ]
                                              spids: [20084 20091 20093 -1]
                                            )
                                            (case_arm
                                              pat_list: [{(Lit_Other "*")}]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:xrpath)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$xrpath") (" ") 
                                                            ($ VSub_Name "$arg")
                                                          )
                                                        }
                                                      spids: [20099]
                                                    )
                                                  ]
                                                  spids: [20099]
                                                )
                                              ]
                                              spids: [20096 20097 20106 -1]
                                            )
                                          ]
                                          spids: [20074 20081 20109]
                                        )
                                      ]
                                      spids: [20071 20112]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20115]
                                        )
                                      ]
                                      spids: [20115]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [19959 19964 20121 -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: [20128]
                                        )
                                      ]
                                      spids: [20128]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20134]
                                        )
                                      ]
                                      spids: [20134]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20124 20125 20140 -1]
                                )
                                (case_arm
                                  pat_list: [{(weak)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:weak_libs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$weak_libs") (" ") ($ VSub_Name "$arg"))
                                            }
                                          spids: [20147]
                                        )
                                      ]
                                      spids: [20147]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20155]
                                        )
                                      ]
                                      spids: [20155]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20143 20144 20161 -1]
                                )
                                (case_arm
                                  pat_list: [{(xcclinker)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$linker_flags") (" ") 
                                                ($ VSub_Name "$qarg")
                                              )
                                            }
                                          spids: [20168]
                                        )
                                      ]
                                      spids: [20168]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$compiler_flags") (" ") 
                                                ($ VSub_Name "$qarg")
                                              )
                                            }
                                          spids: [20176]
                                        )
                                      ]
                                      spids: [20176]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20184]
                                        )
                                      ]
                                      spids: [20184]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20164 20165 20210 -1]
                                )
                                (case_arm
                                  pat_list: [{(xcompiler)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$compiler_flags") (" ") 
                                                ($ VSub_Name "$qarg")
                                              )
                                            }
                                          spids: [20217]
                                        )
                                      ]
                                      spids: [20217]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20225]
                                        )
                                      ]
                                      spids: [20225]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20213 20214 20251 -1]
                                )
                                (case_arm
                                  pat_list: [{(xlinker)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$linker_flags") (" ") 
                                                ($ VSub_Name "$qarg")
                                              )
                                            }
                                          spids: [20258]
                                        )
                                      ]
                                      spids: [20258]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$compiler_flags") (" ") 
                                                ($ VSub_Name "$wl") ($ VSub_Name "$qarg")
                                              )
                                            }
                                          spids: [20266]
                                        )
                                      ]
                                      spids: [20266]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20275]
                                        )
                                      ]
                                      spids: [20275]
                                    )
                                    (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: [20254 20255 20303 -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: [20322]
                                        )
                                      ]
                                      spids: [20322]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [20306 20307 20328 -1]
                                )
                              ]
                              spids: [18917 18921 20331]
                            )
                          ]
                          spids: [-1 18878]
                        )
                      ]
                      spids: [-1 20334]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:prevarg)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$arg"))}
                          spids: [20341]
                        )
                      ]
                      spids: [20341]
                    )
                    (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 20370]
                                )
                              ]
                              spids: [-1 20397]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [20355 20356 20403 -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: [20407 20408 20423 -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: [20431]
                                )
                              ]
                              spids: [20431]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [20427 20428 20438 -1]
                        )
                        (case_arm
                          pat_list: [{(-dlopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlfiles)}
                                  spids: [20446]
                                )
                              ]
                              spids: [20446]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [20442 20443 20453 -1]
                        )
                        (case_arm
                          pat_list: [{(-dlpreopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlprefiles)}
                                  spids: [20461]
                                )
                              ]
                              spids: [20461]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [20457 20458 20468 -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: [20476]
                                )
                              ]
                              spids: [20476]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [20472 20473 20483 -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 20516]
                                )
                              ]
                              spids: [-1 20526]
                            )
                            (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: [20548]
                                        )
                                      ]
                                      spids: [20548]
                                    )
                                  ]
                                  spids: [-1 20545]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {(expsyms_regex)}
                                      spids: [20555]
                                    )
                                  ]
                                  spids: [20555]
                                )
                              ]
                              spids: [20552 20559]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [20487 20492 20565 -1]
                        )
                        (case_arm
                          pat_list: [{(-framework)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(framework)}
                                  spids: [20573]
                                )
                              ]
                              spids: [20573]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [20569 20570 20580 -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: [20588]
                                )
                              ]
                              spids: [20588]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [20584 20585 20595 -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: [20629 20644 20667 -1]
                                )
                              ]
                              spids: [20620 20626 20670]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [20607 20617 20676 -1]
                        )
                        (case_arm
                          pat_list: [{(-L) (Lit_Other "*")}]
                          action: [
                            (C {(func_stripname)} {(SQ <-L>)} {(SQ )} {(DQ ($ VSub_Name "$arg"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Name "$func_stripname_result")}
                                  spids: [20699]
                                )
                              ]
                              spids: [20699]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name "$dir"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Pound "$#"))} {(-gt)} {(0)})
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ("require no space between ") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\`">
                                                  ) ("-L' and ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ($ VSub_Number "$1") ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 20730]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("need path for ") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\`">
                                              ) ("-L' option")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [20745 20757]
                                    )
                                  ]
                                  spids: [-1 20714]
                                )
                              ]
                              spids: [-1 20760]
                            )
                            (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: [20774 20791 20793 -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: [20801 20811]
                                              )
                                            }
                                          spids: [20800]
                                        )
                                      ]
                                      spids: [20800]
                                    )
                                    (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: [20836]
                                        )
                                      ]
                                      spids: [20836]
                                    )
                                  ]
                                  spids: [20796 20797 20842 -1]
                                )
                              ]
                              spids: [20767 20771 20845]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name "$deplibs") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" -L") ($ VSub_Name "$dir") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  spids: [20858 20865 20867 -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 "$deplibs") (" -L") ($ VSub_Name "$dir"))
                                            }
                                          spids: [20874]
                                        )
                                      ]
                                      spids: [20874]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib_search_path)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$lib_search_path") (" ") 
                                                ($ VSub_Name "$dir")
                                              )
                                            }
                                          spids: [20882]
                                        )
                                      ]
                                      spids: [20882]
                                    )
                                  ]
                                  spids: [20870 20871 20890 -1]
                                )
                              ]
                              spids: [20848 20855 20893]
                            )
                            (Case
                              to_match: {($ VSub_Name "$host")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-cygwin) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-mingw) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-pw32) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-os2) (Lit_Other "*")}
                                    {(Lit_Other "*") (-cegcc) (Lit_Other "*")}
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:testbindir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {(DQ (X) ($ VSub_Name "$dir"))}
                                                          )
                                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                            {(SQ <"s*/lib$*/bin*">)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [20942 20959]
                                              )
                                            }
                                          spids: [20941]
                                        )
                                      ]
                                      spids: [20941]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (":") ($ VSub_Name "$dir") (":")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [20971 20978 20980 -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: [20987]
                                                )
                                              ]
                                              spids: [20987]
                                            )
                                          ]
                                          spids: [20983 20985 20989 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$dllsearchpath") (":") 
                                                        ($ VSub_Name "$dir")
                                                      )
                                                    }
                                                  spids: [20995]
                                                )
                                              ]
                                              spids: [20995]
                                            )
                                          ]
                                          spids: [20992 20993 21001 -1]
                                        )
                                      ]
                                      spids: [20962 20968 21004]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") 
                                              (DQ (":") ($ VSub_Name "$testbindir") (":")) (Lit_Other "*")
                                            }
                                          ]
                                          spids: [21016 21023 21025 -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: [21032]
                                                )
                                              ]
                                              spids: [21032]
                                            )
                                          ]
                                          spids: [21028 21030 21034 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$dllsearchpath") (":") 
                                                        ($ VSub_Name "$testbindir")
                                                      )
                                                    }
                                                  spids: [21040]
                                                )
                                              ]
                                              spids: [21040]
                                            )
                                          ]
                                          spids: [21037 21038 21046 -1]
                                        )
                                      ]
                                      spids: [21007 21013 21049]
                                    )
                                  ]
                                  spids: [20903 20938 21052 -1]
                                )
                              ]
                              spids: [20896 20900 21055]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [20680 20682 21061 -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 "*")}
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [21111 21146 21156 -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: [21159 21164 21189 -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: [21192 21213 21238 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-rhapsody) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-darwin1.) 
                                              (Lit_Other "[") (012) (Lit_Other "]")
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplibs") 
                                                        (" System.ltframework")
                                                      )
                                                    }
                                                  spids: [21263]
                                                )
                                              ]
                                              spids: [21263]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [21241 21256 21273 -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: [21276 21289 21314 -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: [21317 21346 21371 -1]
                                        )
                                      ]
                                      spids: [21104 21108 21374]
                                    )
                                  ]
                                  spids: [-1 21101]
                                )
                                (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: [21403 21424 21434 -1]
                                        )
                                      ]
                                      spids: [21396 21400 21437]
                                    )
                                  ]
                                  spids: [21377 21393]
                                )
                              ]
                              spids: [-1 21440]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$deplibs") (" ") ($ VSub_Name "$arg"))}
                                  spids: [21443]
                                )
                              ]
                              spids: [21443]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21065 21067 21454 -1]
                        )
                        (case_arm
                          pat_list: [{(-module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:module)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [21462]
                                )
                              ]
                              spids: [21462]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21458 21459 21469 -1]
                        )
                        (case_arm
                          pat_list: [{(-model)} {(-arch)} {(-isysroot)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compiler_flags)
                                  op: Equal
                                  rhs: 
                                    {(DQ ($ VSub_Name "$compiler_flags") (" ") ($ VSub_Name "$arg"))}
                                  spids: [21493]
                                )
                              ]
                              spids: [21493]
                            )
                            (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: [21521]
                                )
                              ]
                              spids: [21521]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21485 21490 21528 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(-mt)}
                            {(-mthreads)}
                            {(-kthread)}
                            {(-Kthread)}
                            {(-pthread)}
                            {(-pthreads)}
                            {(--thread-safe)}
                            {(-threads)}
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compiler_flags)
                                  op: Equal
                                  rhs: 
                                    {(DQ ($ VSub_Name "$compiler_flags") (" ") ($ VSub_Name "$arg"))}
                                  spids: [21550]
                                )
                              ]
                              spids: [21550]
                            )
                            (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: [21588 21595 21597 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:new_inherited_linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$new_inherited_linker_flags") (" ") 
                                                ($ VSub_Name "$arg")
                                              )
                                            }
                                          spids: [21604]
                                        )
                                      ]
                                      spids: [21604]
                                    )
                                  ]
                                  spids: [21600 21602 21611 -1]
                                )
                              ]
                              spids: [21578 21585 21614]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21532 21547 21620 -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: [21628]
                                )
                              ]
                              spids: [21628]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21624 21625 21640 -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: [21648]
                                )
                              ]
                              spids: [21648]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21644 21645 21655 -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: [21742]
                                        )
                                      ]
                                      spids: [21742]
                                    )
                                  ]
                                  spids: [21670 21713 21746 -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: [21752]
                                        )
                                      ]
                                      spids: [21752]
                                    )
                                  ]
                                  spids: [21749 21750 21755 -1]
                                )
                              ]
                              spids: [21663 21667 21758]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21659 21660 21764 -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: [21772]
                                )
                              ]
                              spids: [21772]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21768 21769 21779 -1]
                        )
                        (case_arm
                          pat_list: [{(-objectlist)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(objectlist)}
                                  spids: [21787]
                                )
                              ]
                              spids: [21787]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21783 21784 21794 -1]
                        )
                        (case_arm
                          pat_list: [{(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(output)}
                                  spids: [21801]
                                )
                              ]
                              spids: [21801]
                            )
                          ]
                          spids: [21798 21799 21804 -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: [21812]
                                )
                              ]
                              spids: [21812]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21808 21809 21819 -1]
                        )
                        (case_arm
                          pat_list: [{(-release)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(release)}
                                  spids: [21827]
                                )
                              ]
                              spids: [21827]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21823 21824 21834 -1]
                        )
                        (case_arm
                          pat_list: [{(-rpath)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(rpath)}
                                  spids: [21842]
                                )
                              ]
                              spids: [21842]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21838 21839 21849 -1]
                        )
                        (case_arm
                          pat_list: [{(-R)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xrpath)}
                                  spids: [21857]
                                )
                              ]
                              spids: [21857]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21853 21854 21864 -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: [21887]
                                )
                              ]
                              spids: [21887]
                            )
                            (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: [21902 21919 21921 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {(DQ ("only absolute run-paths are allowed"))}
                                    )
                                  ]
                                  spids: [21924 21925 21935 -1]
                                )
                              ]
                              spids: [21895 21899 21938]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name "$xrpath") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$dir") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  spids: [21951 21958 21960 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:xrpath)
                                          op: Equal
                                          rhs: 
                                            {(DQ ($ VSub_Name "$xrpath") (" ") ($ VSub_Name "$dir"))}
                                          spids: [21966]
                                        )
                                      ]
                                      spids: [21966]
                                    )
                                  ]
                                  spids: [21963 21964 21973 -1]
                                )
                              ]
                              spids: [21941 21948 21976]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [21868 21870 21982 -1]
                        )
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [21986 21987 21997 -1]
                        )
                        (case_arm
                          pat_list: [{(-shrext)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(shrext)}
                                  spids: [22005]
                                )
                              ]
                              spids: [22005]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22001 22002 22012 -1]
                        )
                        (case_arm
                          pat_list: [{(-static)} {(-static-libtool-libs)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [22016 22021 22047 -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: [22055]
                                )
                              ]
                              spids: [22055]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22051 22052 22062 -1]
                        )
                        (case_arm
                          pat_list: [{(-version-info)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [22070]
                                )
                              ]
                              spids: [22070]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22066 22067 22077 -1]
                        )
                        (case_arm
                          pat_list: [{(-version-number)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [22085]
                                )
                              ]
                              spids: [22085]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:vinfo_number)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [22089]
                                )
                              ]
                              spids: [22089]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22081 22082 22096 -1]
                        )
                        (case_arm
                          pat_list: [{(-weak)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(weak)}
                                  spids: [22104]
                                )
                              ]
                              spids: [22104]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22100 22101 22111 -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: [22135]
                                )
                              ]
                              spids: [22135]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [22139]
                                )
                              ]
                              spids: [22139]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$IFS"))}
                                      spids: [22142]
                                    )
                                  ]
                                  spids: [22142]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <",">)}
                                  spids: [22148]
                                )
                              ]
                              spids: [22148]
                            )
                            (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: [22166]
                                        )
                                      ]
                                      spids: [22166]
                                    )
                                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$flag"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$arg") (" ") ($ VSub_Name "$wl") 
                                                ($ VSub_Name "$func_quote_for_eval_result")
                                              )
                                            }
                                          spids: [22179]
                                        )
                                      ]
                                      spids: [22179]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$compiler_flags") (" ") 
                                                ($ VSub_Name "$func_quote_for_eval_result")
                                              )
                                            }
                                          spids: [22188]
                                        )
                                      ]
                                      spids: [22188]
                                    )
                                  ]
                                  spids: [22163 22196]
                                )
                              spids: [22159 22161]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                  spids: [22199]
                                )
                              ]
                              spids: [22199]
                            )
                            (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: [22219]
                                )
                              ]
                              spids: [22219]
                            )
                          ]
                          spids: [22115 22118 22223 -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: [22247]
                                )
                              ]
                              spids: [22247]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [22251]
                                )
                              ]
                              spids: [22251]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$IFS"))}
                                      spids: [22254]
                                    )
                                  ]
                                  spids: [22254]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <",">)}
                                  spids: [22260]
                                )
                              ]
                              spids: [22260]
                            )
                            (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: [22278]
                                        )
                                      ]
                                      spids: [22278]
                                    )
                                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name "$flag"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$arg") (" ") ($ VSub_Name "$wl") 
                                                ($ VSub_Name "$func_quote_for_eval_result")
                                              )
                                            }
                                          spids: [22291]
                                        )
                                      ]
                                      spids: [22291]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compiler_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$compiler_flags") (" ") 
                                                ($ VSub_Name "$wl") ($ VSub_Name "$func_quote_for_eval_result")
                                              )
                                            }
                                          spids: [22300]
                                        )
                                      ]
                                      spids: [22300]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$linker_flags") (" ") 
                                                ($ VSub_Name "$func_quote_for_eval_result")
                                              )
                                            }
                                          spids: [22309]
                                        )
                                      ]
                                      spids: [22309]
                                    )
                                  ]
                                  spids: [22275 22317]
                                )
                              spids: [22271 22273]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                  spids: [22320]
                                )
                              ]
                              spids: [22320]
                            )
                            (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: [22340]
                                )
                              ]
                              spids: [22340]
                            )
                          ]
                          spids: [22227 22230 22344 -1]
                        )
                        (case_arm
                          pat_list: [{(-Xcompiler)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcompiler)}
                                  spids: [22352]
                                )
                              ]
                              spids: [22352]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22348 22349 22359 -1]
                        )
                        (case_arm
                          pat_list: [{(-Xlinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xlinker)}
                                  spids: [22367]
                                )
                              ]
                              spids: [22367]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22363 22364 22374 -1]
                        )
                        (case_arm
                          pat_list: [{(-XCClinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcclinker)}
                                  spids: [22382]
                                )
                              ]
                              spids: [22382]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22378 22379 22389 -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: [22409]
                                )
                              ]
                              spids: [22409]
                            )
                          ]
                          spids: [22397 22399 22415 -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 "*")}
                          ]
                          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: [22533]
                                )
                              ]
                              spids: [22533]
                            )
                            (C {(func_append)} {(compile_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (C {(func_append)} {(finalize_command)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compiler_flags)
                                  op: Equal
                                  rhs: 
                                    {(DQ ($ VSub_Name "$compiler_flags") (" ") ($ VSub_Name "$arg"))}
                                  spids: [22559]
                                )
                              ]
                              spids: [22559]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [22459 22523 22570 -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: [22595]
                                )
                              ]
                              spids: [22595]
                            )
                          ]
                          spids: [22578 22585 22601 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.) ($ VSub_Name "$objext")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$objs") (" ") ($ VSub_Name "$arg"))}
                                  spids: [22615]
                                )
                              ]
                              spids: [22615]
                            )
                          ]
                          spids: [22605 22608 22623 -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: [22653]
                                        )
                                      ]
                                      spids: [22653]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:non_pic_object)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [22656]
                                        )
                                      ]
                                      spids: [22656]
                                    )
                                    (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 22720]
                                        )
                                      ]
                                      spids: [-1 22733]
                                    )
                                    (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: [22755]
                                        )
                                      ]
                                      spids: [22755]
                                    )
                                    (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: [22783]
                                                )
                                              ]
                                              spids: [22783]
                                            )
                                            (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: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:dlfiles)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$dlfiles") 
                                                                        (" ") ($ VSub_Name "$pic_object")
                                                                      )
                                                                    }
                                                                  spids: [22835]
                                                                )
                                                              ]
                                                              spids: [22835]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:prev)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [22843]
                                                                )
                                                              ]
                                                              spids: [22843]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [-1 22832]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:prev)
                                                              op: Equal
                                                              rhs: {(dlprefiles)}
                                                              spids: [22856]
                                                            )
                                                          ]
                                                          spids: [22856]
                                                        )
                                                      ]
                                                      spids: [22849 22860]
                                                    )
                                                  ]
                                                  spids: [-1 22804]
                                                )
                                              ]
                                              spids: [-1 22863]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name "$prev"))} 
                                                          {(Lit_Other "=")} {(dlprefiles)}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlprefiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$dlprefiles") (" ") 
                                                                ($ VSub_Name "$pic_object")
                                                              )
                                                            }
                                                          spids: [22891]
                                                        )
                                                      ]
                                                      spids: [22891]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:prev)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [22899]
                                                        )
                                                      ]
                                                      spids: [22899]
                                                    )
                                                  ]
                                                  spids: [-1 22884]
                                                )
                                              ]
                                              spids: [-1 22902]
                                            )
                                            (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: [22920]
                                                )
                                              ]
                                              spids: [22920]
                                            )
                                          ]
                                          spids: [-1 22776]
                                        )
                                      ]
                                      spids: [-1 22926]
                                    )
                                    (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: [22955]
                                                )
                                              ]
                                              spids: [22955]
                                            )
                                            (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: [23004]
                                                        )
                                                      ]
                                                      spids: [23004]
                                                    )
                                                  ]
                                                  spids: [-1 23001]
                                                )
                                              ]
                                              spids: [-1 23010]
                                            )
                                          ]
                                          spids: [-1 22948]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:non_pic_object)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$pic_object"))}
                                              spids: [23024]
                                            )
                                          ]
                                          spids: [23024]
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (" ") ($ VSub_Name "$non_pic_object"))}
                                        )
                                      ]
                                      spids: [23013 23040]
                                    )
                                  ]
                                  spids: [-1 22650]
                                )
                              ]
                              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: [23076]
                                            )
                                          ]
                                          spids: [23076]
                                        )
                                        (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: [23090]
                                            )
                                          ]
                                          spids: [23090]
                                        )
                                        (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: [23097]
                                            )
                                          ]
                                          spids: [23097]
                                        )
                                        (C {(func_append)} {(libobjs)} 
                                          {(DQ (" ") ($ VSub_Name "$pic_object"))}
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (" ") ($ VSub_Name "$non_pic_object"))}
                                        )
                                      ]
                                      spids: [-1 23055]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                          ($ VSub_Name "$arg") ("' is not a valid libtool object")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [23122 23134]
                                )
                              ]
                              spids: [23043 23137]
                            )
                          ]
                          spids: [22627 22629 23140 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.) ($ VSub_Name "$libext")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$deplibs") (" ") ($ VSub_Name "$arg"))}
                                  spids: [23154]
                                )
                              ]
                              spids: [23154]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$old_deplibs") (" ") ($ VSub_Name "$arg"))}
                                  spids: [23162]
                                )
                              ]
                              spids: [23162]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23144 23147 23173 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.la)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$prev"))} {(Lit_Other "=")} 
                                          {(dlfiles)}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$dlfiles") (" ") ($ VSub_Name "$arg"))
                                            }
                                          spids: [23207]
                                        )
                                      ]
                                      spids: [23207]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [23215]
                                        )
                                      ]
                                      spids: [23215]
                                    )
                                  ]
                                  spids: [-1 23200]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$prev"))} {(Lit_Other "=")} 
                                          {(dlprefiles)}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlprefiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$dlprefiles") (" ") 
                                                ($ VSub_Name "$arg")
                                              )
                                            }
                                          spids: [23238]
                                        )
                                      ]
                                      spids: [23238]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [23246]
                                        )
                                      ]
                                      spids: [23246]
                                    )
                                  ]
                                  spids: [23218 23231]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:deplibs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$deplibs") (" ") ($ VSub_Name "$arg"))}
                                      spids: [23252]
                                    )
                                  ]
                                  spids: [23252]
                                )
                              ]
                              spids: [23249 23260]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [23177 23179 23266 -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: [23293]
                                )
                              ]
                              spids: [23293]
                            )
                          ]
                          spids: [23274 23275 23299 -1]
                        )
                      ]
                      spids: [20348 20352 23302]
                    )
                    (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 23324]
                        )
                      ]
                      spids: [-1 23347]
                    )
                  ]
                  spids: [18829 23350]
                )
            )
            (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 23403]
                )
              ]
              spids: [-1 23434]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:oldlibs) op:Equal rhs:{(SQ )} spids:[23438])]
              spids: [23438]
            )
            (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: [23452]
                )
              ]
              spids: [23452]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs_save)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$libobjs"))}
                  spids: [23458]
                )
              ]
              spids: [23458]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$shlibpath_var"))})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(eval)} 
                      {(Lit_VarLike "shlib_search_path=") 
                        (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (ECHO)
                      } 
                      {(EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) 
                        (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (Lit_LBrace "{") ($ VSub_Name "$shlibpath_var") (Lit_RBrace "}") 
                        (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                      } {(EscapedLiteralPart token:<Lit_EscapedChar "\\|">)} 
                      {(EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (Xsed)} {(-e)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (s/) (Lit_Other ":") (/)} 
                      {(/g) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                        (EscapedLiteralPart token:<Lit_EscapedChar "\\`">)
                      }
                    )
                  ]
                  spids: [-1 23476]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:shlib_search_path)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [23518]
                    )
                  ]
                  spids: [23518]
                )
              ]
              spids: [23515 23521]
            )
            (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: [23555]
                )
              ]
              spids: [23555]
            )
            (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 23587 23597 -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: [23605]
                        )
                      ]
                      spids: [23605]
                    )
                  ]
                  spids: [23600 23603 23608 -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: [23621]
                        )
                      ]
                      spids: [23621]
                    )
                  ]
                  spids: [23611 23619 23624 -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: [23631]
                        )
                      ]
                      spids: [23631]
                    )
                  ]
                  spids: [23627 23629 23634 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(prog)}
                          spids: [23640]
                        )
                      ]
                      spids: [23640]
                    )
                  ]
                  spids: [23637 23638 23643 -1]
                )
              ]
              spids: [23578 23582 23649]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:specialdeplibs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23653]
                )
              ]
              spids: [23653]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(SQ )} spids:[23657])]
              spids: [23657]
            )
            (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_duplicate_deps")})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Case
                              to_match: {(DQ ($ VSub_Name "$libs") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$deplib") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:specialdeplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$specialdeplibs") (" ") 
                                                ($ VSub_Name "$deplib")
                                              )
                                            }
                                          spids: [23708]
                                        )
                                      ]
                                      spids: [23708]
                                    )
                                  ]
                                  spids: [23699 23706 23715 -1]
                                )
                              ]
                              spids: [23689 23696 23718]
                            )
                          ]
                          spids: [-1 23686]
                        )
                      ]
                      spids: [-1 23721]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$libs") (" ") ($ VSub_Name "$deplib"))}
                          spids: [23724]
                        )
                      ]
                      spids: [23724]
                    )
                  ]
                  spids: [23677 23732]
                )
              spids: [23673 23675]
            )
            (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: [23752]
                        )
                      ]
                      spids: [23752]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [23777]
                        )
                      ]
                      spids: [23777]
                    )
                    (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: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:specialdeplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$specialdeplibs") (" ") 
                                                        ($ VSub_Name "$pre_post_deps")
                                                      )
                                                    }
                                                  spids: [23821]
                                                )
                                              ]
                                              spids: [23821]
                                            )
                                          ]
                                          spids: [23812 23819 23828 -1]
                                        )
                                      ]
                                      spids: [23802 23809 23831]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:pre_post_deps)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$pre_post_deps") (" ") 
                                                ($ VSub_Name "$pre_post_dep")
                                              )
                                            }
                                          spids: [23834]
                                        )
                                      ]
                                      spids: [23834]
                                    )
                                  ]
                                  spids: [23799 23842]
                                )
                              spids: [23793 23797]
                            )
                          ]
                          spids: [-1 23785]
                        )
                      ]
                      spids: [-1 23845]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [23848]
                        )
                      ]
                      spids: [23848]
                    )
                  ]
                  spids: [-1 23749]
                )
              ]
              spids: [-1 23851]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:deplibs) op:Equal rhs:{(SQ )} spids:[23855])]
              spids: [23855]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newdependency_libs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23858]
                )
              ]
              spids: [23858]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newlib_search_path)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23861]
                )
              ]
              spids: [23861]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:need_relink) op:Equal rhs:{(no)} spids:[23864])]
              spids: [23864]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_deplibs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23871]
                )
              ]
              spids: [23871]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_path)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [23877]
                )
              ]
              spids: [23877]
            )
            (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: [23895]
                        )
                      ]
                      spids: [23895]
                    )
                    (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: [23922 23924 23926 -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: [23929 23930 23943 -1]
                                )
                              ]
                              spids: [23915 23919 23946]
                            )
                          ]
                          spids: [23912 23949]
                        )
                      spids: [23906 23910]
                    )
                  ]
                  spids: [23891 23892 23952 -1]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [23959]
                        )
                      ]
                      spids: [23959]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_deplibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [23962]
                        )
                      ]
                      spids: [23962]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:alldeplibs)
                          op: Equal
                          rhs: {(no)}
                          spids: [23965]
                        )
                      ]
                      spids: [23965]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlfiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [23969]
                        )
                      ]
                      spids: [23969]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlprefiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [23972]
                        )
                      ]
                      spids: [23972]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ ("conv scan dlopen dlpreopen link"))}
                          spids: [23975]
                        )
                      ]
                      spids: [23975]
                    )
                  ]
                  spids: [23955 23956 23981 -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: [23987]
                        )
                      ]
                      spids: [23987]
                    )
                  ]
                  spids: [23984 23985 23993 -1]
                )
              ]
              spids: [23884 23888 23996]
            )
            (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: [24048]
                                )
                              ]
                              spids: [24048]
                            )
                            (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: [24063]
                                        )
                                      ]
                                      spids: [24063]
                                    )
                                  ]
                                  spids: [24060 24071]
                                )
                              spids: [24056 24058]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$tmp_deplibs"))}
                                  spids: [24074]
                                )
                              ]
                              spids: [24074]
                            )
                          ]
                          spids: [-1 24037]
                        )
                      ]
                      spids: [-1 24080]
                    )
                    (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: [24121]
                                )
                              ]
                              spids: [24121]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [24127]
                                )
                              ]
                              spids: [24127]
                            )
                          ]
                          spids: [-1 24118]
                        )
                      ]
                      spids: [-1 24130]
                    )
                    (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: [24159]
                                        )
                                      ]
                                      spids: [24159]
                                    )
                                  ]
                                  spids: [24156 24157 24164 -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: [24170]
                                        )
                                      ]
                                      spids: [24170]
                                    )
                                  ]
                                  spids: [24167 24168 24175 -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: [24182]
                                        )
                                      ]
                                      spids: [24182]
                                    )
                                    (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: [24203]
                                            )
                                          ]
                                          spids: [24203]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [24178 24179 24211 -1]
                                )
                              ]
                              spids: [24149 24153 24214]
                            )
                          ]
                          spids: [-1 24146]
                        )
                      ]
                      spids: [-1 24217]
                    )
                    (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: [24260]
                                        )
                                      ]
                                      spids: [24260]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$lib")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other "*") (.la)}]
                                          action: [(C {(func_source)} {(DQ ($ VSub_Name "$lib"))})]
                                          spids: [24270 24272 24280 -1]
                                        )
                                      ]
                                      spids: [24263 24267 24283]
                                    )
                                    (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:deplib_base)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name "$ECHO")} 
                                                                    {
                                                                      (DQ (X) ($ VSub_Name "$deplib"))
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                                    {(DQ ($ VSub_Name "$basename"))}
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick "`">
                                                        spids: [24308 24325]
                                                      )
                                                    }
                                                  spids: [24307]
                                                )
                                              ]
                                              spids: [24307]
                                            )
                                            (Case
                                              to_match: {(DQ (" ") ($ VSub_Name "$weak_libs") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$deplib_base") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [24339 24346 24348 -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 "$deplibs") (" ") 
                                                                ($ VSub_Name "$deplib")
                                                              )
                                                            }
                                                          spids: [24354]
                                                        )
                                                      ]
                                                      spids: [24354]
                                                    )
                                                  ]
                                                  spids: [24351 24352 24361 -1]
                                                )
                                              ]
                                              spids: [24328 24336 24364]
                                            )
                                          ]
                                          spids: [24304 24367]
                                        )
                                      spids: [24300 24302]
                                    )
                                  ]
                                  spids: [24253 24370]
                                )
                              spids: [24249 24251]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$dlprefiles"))}
                                  spids: [24373]
                                )
                              ]
                              spids: [24373]
                            )
                          ]
                          spids: [-1 24237]
                        )
                      ]
                      spids: [-1 24379]
                    )
                    (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: [24402]
                                )
                              ]
                              spids: [24402]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [24408]
                                )
                              ]
                              spids: [24408]
                            )
                          ]
                          spids: [-1 24395]
                        )
                      ]
                      spids: [-1 24411]
                    )
                    (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: [24427]
                                )
                              ]
                              spids: [24427]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:found)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [24430]
                                )
                              ]
                              spids: [24430]
                            )
                            (Case
                              to_match: {($ VSub_Name "$deplib")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(-mt)}
                                    {(-mthreads)}
                                    {(-kthread)}
                                    {(-Kthread)}
                                    {(-pthread)}
                                    {(-pthreads)}
                                    {(--thread-safe)}
                                    {(-threads)}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} 
                                                  {
                                                    (DQ ($ VSub_Name "$linkmode") (",") 
                                                      ($ VSub_Name "$pass")
                                                    )
                                                  } {(Lit_Other "=")} {(DQ ("prog,link"))}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$compile_deplibs")
                                                      )
                                                    }
                                                  spids: [24479]
                                                )
                                              ]
                                              spids: [24479]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$finalize_deplibs")
                                                      )
                                                    }
                                                  spids: [24487]
                                                )
                                              ]
                                              spids: [24487]
                                            )
                                          ]
                                          spids: [-1 24476]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:compiler_flags)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$compiler_flags") (" ") 
                                                    ($ VSub_Name "$deplib")
                                                  )
                                                }
                                              spids: [24498]
                                            )
                                          ]
                                          spids: [24498]
                                        )
                                        (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: [24533 24540 24542 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: 
                                                                (LhsName
                                                                  name: new_inherited_linker_flags
                                                                )
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name 
"$new_inherited_linker_flags"
                                                                    ) (" ") ($ VSub_Name "$deplib")
                                                                  )
                                                                }
                                                              spids: [24549]
                                                            )
                                                          ]
                                                          spids: [24549]
                                                        )
                                                      ]
                                                      spids: [24545 24547 24556 -1]
                                                    )
                                                  ]
                                                  spids: [24523 24530 24559]
                                                )
                                              ]
                                              spids: [-1 24520]
                                            )
                                          ]
                                          spids: [-1 24562]
                                        )
                                      ]
                                      spids: [24495 24565]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [24441 24456 24571 -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 24606]
                                        )
                                      ]
                                      spids: [-1 24620]
                                    )
                                    (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: [24637]
                                        )
                                      ]
                                      spids: [24637]
                                    )
                                    (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: [24657]
                                                )
                                              ]
                                              spids: [24657]
                                            )
                                          ]
                                          spids: [-1 24654]
                                        )
                                      ]
                                      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: [24674]
                                            )
                                          ]
                                          spids: [24674]
                                        )
                                      ]
                                      spids: [24671 24686]
                                    )
                                    (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: [24723]
                                                        )
                                                      ]
                                                      spids: [24723]
                                                    )
                                                    (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: [24768]
                                                                        )
                                                                      ]
                                                                      spids: [24768]
                                                                    )
                                                                  ]
                                                                  spids: [-1 24765]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:found)
                                                                      op: Equal
                                                                      rhs: {(no)}
                                                                      spids: [24775]
                                                                    )
                                                                  ]
                                                                  spids: [24775]
                                                                )
                                                              ]
                                                              spids: [24772 24779]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                              arg_word: {(2)}
                                                            )
                                                          ]
                                                          spids: [-1 24747]
                                                        )
                                                      ]
                                                      spids: [-1 24787]
                                                    )
                                                  ]
                                                  spids: [24716 24790]
                                                )
                                              spids: [24706 24714]
                                            )
                                          ]
                                          spids: [24698 24793]
                                        )
                                      spids: [24694 24696]
                                    )
                                    (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: [24837]
                                                        )
                                                      ]
                                                      spids: [24837]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                                ($ VSub_Name "$finalize_deplibs")
                                                              )
                                                            }
                                                          spids: [24845]
                                                        )
                                                      ]
                                                      spids: [24845]
                                                    )
                                                  ]
                                                  spids: [-1 24834]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$deplib") (" ") 
                                                            ($ VSub_Name "$deplibs")
                                                          )
                                                        }
                                                      spids: [24856]
                                                    )
                                                  ]
                                                  spids: [24856]
                                                )
                                                (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: [24876]
                                                        )
                                                      ]
                                                      spids: [24876]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              spids: [24853 24884]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [-1 24810]
                                        )
                                      ]
                                      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: [24959]
                                                                    )
                                                                  ]
                                                                  spids: [24959]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:old_library)
                                                                      op: Equal
                                                                      rhs: {(SQ )}
                                                                      spids: [24962]
                                                                    )
                                                                  ]
                                                                  spids: [24962]
                                                                )
                                                                (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: [24986]
                                                                            )
                                                                          ]
                                                                          spids: [24986]
                                                                        )
                                                                      ]
                                                                      spids: [24983 24992]
                                                                    )
                                                                  spids: [24977 24981]
                                                                )
                                                                (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: [25019]
                                                                            )
                                                                          ]
                                                                          spids: [25019]
                                                                        )
                                                                        (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: [25037]
                                                                            )
                                                                          ]
                                                                          spids: [25037]
                                                                        )
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: (LhsName name:lib)
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  ($ VSub_Name 
"$ladir"
                                                                                  ) (/) ($ VSub_Name "$old_library")
                                                                                }
                                                                              spids: [25043]
                                                                            )
                                                                          ]
                                                                          spids: [25043]
                                                                        )
                                                                        (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: [25069]
                                                                                    )
                                                                                  ]
                                                                                  spids: [25069]
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
finalize_deplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name "$deplib"
                                                                                            ) (" ") ($ VSub_Name "$finalize_deplibs")
                                                                                          )
                                                                                        }
                                                                                      spids: [25077]
                                                                                    )
                                                                                  ]
                                                                                  spids: [25077]
                                                                                )
                                                                              ]
                                                                              spids: [-1 25066]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: deplibs
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$deplib"
                                                                                        ) (" ") ($ VSub_Name "$deplibs")
                                                                                      )
                                                                                    }
                                                                                  spids: [25088]
                                                                                )
                                                                              ]
                                                                              spids: [25088]
                                                                            )
                                                                            (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: [25108]
                                                                                    )
                                                                                  ]
                                                                                  spids: [25108]
                                                                                )
                                                                              ]
                                                                              op_id: Op_DAmp
                                                                            )
                                                                          ]
                                                                          spids: [25085 25116]
                                                                        )
                                                                        (ControlFlow
                                                                          token: 
                                                                            <ControlFlow_Continue 
continue
                                                                            >
                                                                        )
                                                                      ]
                                                                      spids: [-1 25013]
                                                                    )
                                                                  ]
                                                                  spids: [-1 25122]
                                                                )
                                                              ]
                                                              spids: [-1 24956]
                                                            )
                                                          ]
                                                          spids: [-1 25125]
                                                        )
                                                      ]
                                                      spids: [24937 24944 25128 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      spids: [25131 25132 25134 -1]
                                                    )
                                                  ]
                                                  spids: [24924 24934 25137]
                                                )
                                              ]
                                              spids: [-1 24921]
                                            )
                                          ]
                                          spids: [-1 25140]
                                        )
                                      ]
                                      spids: [24890 25143]
                                    )
                                  ]
                                  spids: [24574 24576 25146 -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: [25177]
                                                )
                                              ]
                                              spids: [25177]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$finalize_deplibs")
                                                      )
                                                    }
                                                  spids: [25185]
                                                )
                                              ]
                                              spids: [25185]
                                            )
                                          ]
                                          spids: [-1 25174]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$deplib") (" ") 
                                                    ($ VSub_Name "$deplibs")
                                                  )
                                                }
                                              spids: [25196]
                                            )
                                          ]
                                          spids: [25196]
                                        )
                                        (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: [25231 25238 25240 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: 
                                                                (LhsName
                                                                  name: new_inherited_linker_flags
                                                                )
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name 
"$new_inherited_linker_flags"
                                                                    ) (" ") ($ VSub_Name "$deplib")
                                                                  )
                                                                }
                                                              spids: [25247]
                                                            )
                                                          ]
                                                          spids: [25247]
                                                        )
                                                      ]
                                                      spids: [25243 25245 25254 -1]
                                                    )
                                                  ]
                                                  spids: [25221 25228 25257]
                                                )
                                              ]
                                              spids: [-1 25218]
                                            )
                                          ]
                                          spids: [-1 25260]
                                        )
                                      ]
                                      spids: [25193 25263]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [25152 25154 25269 -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: [25288]
                                                )
                                              ]
                                              spids: [25288]
                                            )
                                            (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: [25311]
                                                )
                                              ]
                                              spids: [25311]
                                            )
                                            (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                              {(DQ ($ VSub_Name "$deplib"))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newlib_search_path)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$newlib_search_path") (" ") 
                                                        ($ VSub_Name "$func_stripname_result")
                                                      )
                                                    }
                                                  spids: [25333]
                                                )
                                              ]
                                              spids: [25333]
                                            )
                                          ]
                                          spids: [25284 25285 25341 -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: [25364]
                                                        )
                                                      ]
                                                      spids: [25364]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [-1 25361]
                                                )
                                              ]
                                              spids: [-1 25375]
                                            )
                                            (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: [25394]
                                                        )
                                                      ]
                                                      spids: [25394]
                                                    )
                                                  ]
                                                  spids: [-1 25391]
                                                )
                                              ]
                                              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: [25405]
                                                    )
                                                  ]
                                                  spids: [25405]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$deplib") (" ") 
                                                            ($ VSub_Name "$finalize_deplibs")
                                                          )
                                                        }
                                                      spids: [25413]
                                                    )
                                                  ]
                                                  spids: [25413]
                                                )
                                              ]
                                              spids: [25402 25421]
                                            )
                                            (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                              {(DQ ($ VSub_Name "$deplib"))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newlib_search_path)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$newlib_search_path") (" ") 
                                                        ($ VSub_Name "$func_stripname_result")
                                                      )
                                                    }
                                                  spids: [25438]
                                                )
                                              ]
                                              spids: [25438]
                                            )
                                          ]
                                          spids: [25344 25345 25446 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                                  ("-L' is ignored for archives/objects")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [25449 25450 25461 -1]
                                        )
                                      ]
                                      spids: [25277 25281 25464]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [25272 25274 25473 -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"))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$func_stripname_result")}
                                                  spids: [25514]
                                                )
                                              ]
                                              spids: [25514]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_Name "$xrpath") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$dir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [25532 25539 25541 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:xrpath)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$xrpath") (" ") 
                                                                ($ VSub_Name "$dir")
                                                              )
                                                            }
                                                          spids: [25547]
                                                        )
                                                      ]
                                                      spids: [25547]
                                                    )
                                                  ]
                                                  spids: [25544 25545 25554 -1]
                                                )
                                              ]
                                              spids: [25522 25529 25557]
                                            )
                                          ]
                                          spids: [-1 25497]
                                        )
                                      ]
                                      spids: [-1 25560]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                ($ VSub_Name "$deplibs")
                                              )
                                            }
                                          spids: [25563]
                                        )
                                      ]
                                      spids: [25563]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [25479 25481 25574 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (.la)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$deplib"))}
                                          spids: [25581]
                                        )
                                      ]
                                      spids: [25581]
                                    )
                                  ]
                                  spids: [25577 25579 25586 -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: [25611]
                                                )
                                              ]
                                              spids: [25611]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [-1 25608]
                                        )
                                      ]
                                      spids: [-1 25622]
                                    )
                                    (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: [25655 25662 25664 -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: [25671]
                                                        )
                                                      ]
                                                      spids: [25671]
                                                    )
                                                    (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: [25698 25714]
                                                                      )
                                                                    }
                                                                  spids: [25697]
                                                                )
                                                              ]
                                                              spids: [25697]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (Pipeline
                                                                          children: [
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {(eval)}
                                                                                {
                                                                                  (DQ 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar "\\$"
                                                                                        >
                                                                                    ) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) ($ VSub_Name "$deplib") 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar "\\\""
                                                                                        >
                                                                                    )
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: 2
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                  spids: [25730]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (C {($ VSub_Name "$Xsed")} 
                                                                              {(-e)} {(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: [25751]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          negated: False
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: valid_a_lib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(yes)}
                                                                          spids: [25759]
                                                                        )
                                                                      ]
                                                                      spids: [25759]
                                                                    )
                                                                  ]
                                                                  spids: [-1 25756]
                                                                )
                                                              ]
                                                              spids: [-1 25763]
                                                            )
                                                          ]
                                                          spids: [25682 25684 25766 -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: [25773]
                                                                )
                                                              ]
                                                              spids: [25773]
                                                            )
                                                          ]
                                                          spids: [25769 25770 25777 -1]
                                                        )
                                                      ]
                                                      spids: [25675 25679 25780]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {(DQ ($ VSub_Name "$valid_a_lib"))} {(KW_Bang "!") (Lit_Other "=")} {(yes)}
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (C {($ VSub_Name "$ECHO")})
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** Warning: Trying to link with static lib archive "
                                                                  ) ($ VSub_Name "$deplib") (.)
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** I have the capability to make that library automatically link in when"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** you link to this library.  But I can only do this if you have a"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** shared version of the library, which you do not appear to have"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** because the file extensions ."
                                                                  ) ($ VSub_Name "$libext") (" of this argument makes me believe")
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** that it is just a static archive that I should not use here."
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [-1 25797]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {($ VSub_Name "$ECHO")})
                                                        (C {($ VSub_Name "$ECHO")} 
                                                          {
                                                            (DQ 
                                                              (
"*** Warning: Linking the shared library "
                                                              ) ($ VSub_Name "$output") (" against the")
                                                            )
                                                          }
                                                        )
                                                        (C {($ VSub_Name "$ECHO")} 
                                                          {
                                                            (DQ ("*** static library ") 
                                                              ($ VSub_Name "$deplib") (" is not portable!")
                                                            )
                                                          }
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name "$deplib") (" ") 
                                                                    ($ VSub_Name "$deplibs")
                                                                  )
                                                                }
                                                              spids: [25873]
                                                            )
                                                          ]
                                                          spids: [25873]
                                                        )
                                                      ]
                                                      spids: [25849 25881]
                                                    )
                                                  ]
                                                  spids: [25667 25668 25884 -1]
                                                )
                                              ]
                                              spids: [25644 25652 25887]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [25632 25633 25893 -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: [25917]
                                                        )
                                                      ]
                                                      spids: [25917]
                                                    )
                                                  ]
                                                  spids: [-1 25914]
                                                )
                                              ]
                                              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: [25928]
                                                    )
                                                  ]
                                                  spids: [25928]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$deplib") (" ") 
                                                            ($ VSub_Name "$finalize_deplibs")
                                                          )
                                                        }
                                                      spids: [25936]
                                                    )
                                                  ]
                                                  spids: [25936]
                                                )
                                              ]
                                              spids: [25925 25944]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [25896 25897 25950 -1]
                                        )
                                      ]
                                      spids: [25625 25629 25953]
                                    )
                                  ]
                                  spids: [25589 25592 25959 -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: [25992]
                                                )
                                              ]
                                              spids: [25992]
                                            )
                                          ]
                                          spids: [-1 25989]
                                        )
                                        (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: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newdlprefiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$newdlprefiles") (" ") 
                                                                ($ VSub_Name "$deplib")
                                                              )
                                                            }
                                                          spids: [26065]
                                                        )
                                                      ]
                                                      spids: [26065]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:compile_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                                ($ VSub_Name "$compile_deplibs")
                                                              )
                                                            }
                                                          spids: [26073]
                                                        )
                                                      ]
                                                      spids: [26073]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                                ($ VSub_Name "$finalize_deplibs")
                                                              )
                                                            }
                                                          spids: [26081]
                                                        )
                                                      ]
                                                      spids: [26081]
                                                    )
                                                  ]
                                                  spids: [-1 26054]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdlfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$newdlfiles") (" ") 
                                                            ($ VSub_Name "$deplib")
                                                          )
                                                        }
                                                      spids: [26092]
                                                    )
                                                  ]
                                                  spids: [26092]
                                                )
                                              ]
                                              spids: [26089 26100]
                                            )
                                          ]
                                          spids: [26000 26013]
                                        )
                                      ]
                                      spids: [-1 26103]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [25965 25973 26109 -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: [26118]
                                        )
                                      ]
                                      spids: [26118]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [26112 26115 26125 -1]
                                )
                              ]
                              spids: [24434 24438 26128]
                            )
                            (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 26158]
                                )
                              ]
                              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: [26163 26179]
                            )
                            (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: [26221]
                                )
                              ]
                              spids: [26221]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [26228]
                                )
                              ]
                              spids: [26228]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlopen)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [26231]
                                )
                              ]
                              spids: [26231]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlpreopen)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [26234]
                                )
                              ]
                              spids: [26234]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [26237]
                                )
                              ]
                              spids: [26237]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [26240]
                                )
                              ]
                              spids: [26240]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [26243]
                                )
                              ]
                              spids: [26243]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:inherited_linker_flags)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [26246]
                                )
                              ]
                              spids: [26246]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:installed)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [26257]
                                )
                              ]
                              spids: [26257]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shouldnotlink)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [26261]
                                )
                              ]
                              spids: [26261]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoidtemprpath)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [26265]
                                )
                              ]
                              spids: [26265]
                            )
                            (C {(func_source)} {(DQ ($ VSub_Name "$lib"))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$inherited_linker_flags"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_inherited_linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {
                                                              (DQ (X) 
                                                                ($ VSub_Name 
"$inherited_linker_flags"
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                            {
                                                              (SQ 
                                                                <
"s/-framework \\([^ $]*\\)/\\1.ltframework/g"
                                                                >
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [26301 26318]
                                              )
                                            }
                                          spids: [26300]
                                        )
                                      ]
                                      spids: [26300]
                                    )
                                    (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: [26344 26351 26353 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (LhsName
                                                              name: new_inherited_linker_flags
                                                            )
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
"$new_inherited_linker_flags"
                                                                ) (" ") ($ VSub_Name "$tmp_inherited_linker_flag")
                                                              )
                                                            }
                                                          spids: [26359]
                                                        )
                                                      ]
                                                      spids: [26359]
                                                    )
                                                  ]
                                                  spids: [26356 26357 26365 -1]
                                                )
                                              ]
                                              spids: [26333 26341 26368]
                                            )
                                          ]
                                          spids: [26330 26371]
                                        )
                                      spids: [26326 26328]
                                    )
                                  ]
                                  spids: [-1 26297]
                                )
                              ]
                              spids: [-1 26374]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dependency_libs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ ("X ") ($ VSub_Name "$dependency_libs"))}
                                                  )
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [26378 26395]
                                      )
                                    }
                                  spids: [26377]
                                )
                              ]
                              spids: [26377]
                            )
                            (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: [26434]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dlopen"))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$dlfiles") (" ") 
                                                    ($ VSub_Name "$dlopen")
                                                  )
                                                }
                                              spids: [26477]
                                            )
                                          ]
                                          spids: [26477]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dlpreopen"))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlprefiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$dlprefiles") (" ") 
                                                    ($ VSub_Name "$dlpreopen")
                                                  )
                                                }
                                              spids: [26495]
                                            )
                                          ]
                                          spids: [26495]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 26464]
                                )
                              ]
                              spids: [-1 26503]
                            )
                            (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: [26527]
                                        )
                                      ]
                                      spids: [26527]
                                    )
                                    (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 26560]
                                                )
                                              ]
                                              spids: [-1 26573]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:convenience)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$convenience") (" ") 
                                                        ($ VSub_Name "$ladir") (/) ($ VSub_Name "$objdir") (/) ($ VSub_Name "$old_library")
                                                      )
                                                    }
                                                  spids: [26580]
                                                )
                                              ]
                                              spids: [26580]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:old_convenience)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$old_convenience") (" ") 
                                                        ($ VSub_Name "$ladir") (/) ($ VSub_Name "$objdir") (/) ($ VSub_Name "$old_library")
                                                      )
                                                    }
                                                  spids: [26592]
                                                )
                                              ]
                                              spids: [26592]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [26604]
                                                )
                                              ]
                                              spids: [26604]
                                            )
                                            (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: [26619]
                                                        )
                                                      ]
                                                      spids: [26619]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C 
                                                                  {
                                                                    ($ VSub_Name 
"$opt_duplicate_deps"
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ ($ VSub_Name "$tmp_libs") (" "))
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") 
                                                                      (DQ (" ") 
                                                                        ($ VSub_Name "$deplib") (" ")
                                                                      ) (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: specialdeplibs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
"$specialdeplibs"
                                                                                ) (" ") ($ VSub_Name "$deplib")
                                                                              )
                                                                            }
                                                                          spids: [26655]
                                                                        )
                                                                      ]
                                                                      spids: [26655]
                                                                    )
                                                                  ]
                                                                  spids: [26646 26653 26662 -1]
                                                                )
                                                              ]
                                                              spids: [26636 26643 26665]
                                                            )
                                                          ]
                                                          spids: [-1 26633]
                                                        )
                                                      ]
                                                      spids: [-1 26668]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tmp_libs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$tmp_libs") (" ") 
                                                                ($ VSub_Name "$deplib")
                                                              )
                                                            }
                                                          spids: [26671]
                                                        )
                                                      ]
                                                      spids: [26671]
                                                    )
                                                  ]
                                                  spids: [26616 26679]
                                                )
                                              spids: [26612 26614]
                                            )
                                          ]
                                          spids: [-1 26546]
                                        )
                                        (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: [26682 26709]
                                        )
                                      ]
                                      spids: [-1 26721]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 26520]
                                )
                              ]
                              spids: [-1 26727]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linklib)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [26739]
                                )
                              ]
                              spids: [26739]
                            )
                            (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: [26756]
                                        )
                                      ]
                                      spids: [26756]
                                    )
                                  ]
                                  spids: [26753 26762]
                                )
                              spids: [26747 26751]
                            )
                            (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 26776]
                                )
                              ]
                              spids: [-1 26789]
                            )
                            (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 26824]
                                        )
                                      ]
                                      spids: [-1 26837]
                                    )
                                    (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: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlprefiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$dlprefiles") (" ") 
                                                        ($ VSub_Name "$lib") (" ") ($ VSub_Name "$dependency_libs")
                                                      )
                                                    }
                                                  spids: [26897]
                                                )
                                              ]
                                              spids: [26897]
                                            )
                                          ]
                                          spids: [-1 26878]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$newdlfiles") (" ") 
                                                    ($ VSub_Name "$lib")
                                                  )
                                                }
                                              spids: [26910]
                                            )
                                          ]
                                          spids: [26910]
                                        )
                                      ]
                                      spids: [26907 26918]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 26810]
                                )
                              ]
                              spids: [-1 26924]
                            )
                            (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: [26961]
                                        )
                                      ]
                                      spids: [26961]
                                    )
                                  ]
                                  spids: [26942 26959 26966 -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: [26974 26984]
                                              )
                                            }
                                          spids: [26973]
                                        )
                                      ]
                                      spids: [26973]
                                    )
                                    (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: [27018]
                                                )
                                              ]
                                              spids: [27018]
                                            )
                                          ]
                                          spids: [-1 26998]
                                        )
                                      ]
                                      spids: [-1 27024]
                                    )
                                  ]
                                  spids: [26969 26970 27027 -1]
                                )
                              ]
                              spids: [26935 26939 27030]
                            )
                            (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: [27040]
                                )
                              ]
                              spids: [27040]
                            )
                            (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 "$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: [27108]
                                                )
                                              ]
                                              spids: [27108]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:absdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$abs_ladir"))}
                                                  spids: [27114]
                                                )
                                              ]
                                              spids: [27114]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$abs_ladir"))}
                                                  spids: [27120]
                                                )
                                              ]
                                              spids: [27120]
                                            )
                                          ]
                                          spids: [-1 27095]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$libdir"))}
                                              spids: [27129]
                                            )
                                          ]
                                          spids: [27129]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$libdir"))}
                                              spids: [27135]
                                            )
                                          ]
                                          spids: [27135]
                                        )
                                      ]
                                      spids: [27126 27141]
                                    )
                                    (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: [27157]
                                            )
                                          ]
                                          spids: [27157]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 27065]
                                )
                              ]
                              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: [27196]
                                            )
                                          ]
                                          spids: [27196]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$abs_ladir"))}
                                              spids: [27202]
                                            )
                                          ]
                                          spids: [27202]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:notinst_path)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$notinst_path") (" ") 
                                                    ($ VSub_Name "$abs_ladir")
                                                  )
                                                }
                                              spids: [27212]
                                            )
                                          ]
                                          spids: [27212]
                                        )
                                      ]
                                      spids: [-1 27193]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: 
                                            {(DQ ($ VSub_Name "$ladir") (/) ($ VSub_Name "$objdir"))}
                                          spids: [27223]
                                        )
                                      ]
                                      spids: [27223]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$abs_ladir") (/) 
                                                ($ VSub_Name "$objdir")
                                              )
                                            }
                                          spids: [27231]
                                        )
                                      ]
                                      spids: [27231]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:notinst_path)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$notinst_path") (" ") 
                                                ($ VSub_Name "$abs_ladir")
                                              )
                                            }
                                          spids: [27243]
                                        )
                                      ]
                                      spids: [27243]
                                    )
                                  ]
                                  spids: [27220 27251]
                                )
                              ]
                              spids: [27161 27254]
                            )
                            (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: [27275]
                                )
                              ]
                              spids: [27275]
                            )
                            (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 27323]
                                        )
                                      ]
                                      spids: [-1 27336]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$old_library"))})
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$newdlprefiles") (" ") 
                                                        ($ VSub_Name "$dir") (/) ($ VSub_Name "$old_library")
                                                      )
                                                    }
                                                  spids: [27361]
                                                )
                                              ]
                                              spids: [27361]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$libdir"))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlpreconveniencelibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$dlpreconveniencelibs") 
                                                            (" ") ($ VSub_Name "$dir") (/) ($ VSub_Name "$old_library")
                                                          )
                                                        }
                                                      spids: [27391]
                                                    )
                                                  ]
                                                  spids: [27391]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [-1 27358]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$dlname"))})
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$newdlprefiles") (" ") 
                                                        ($ VSub_Name "$dir") (/) ($ VSub_Name "$dlname")
                                                      )
                                                    }
                                                  spids: [27419]
                                                )
                                              ]
                                              spids: [27419]
                                            )
                                          ]
                                          spids: [27405 27416]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlprefiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$newdlprefiles") (" ") 
                                                    ($ VSub_Name "$dir") (/) ($ VSub_Name "$linklib")
                                                  )
                                                }
                                              spids: [27432]
                                            )
                                          ]
                                          spids: [27432]
                                        )
                                      ]
                                      spids: [27429 27442]
                                    )
                                  ]
                                  spids: [-1 27297]
                                )
                              ]
                              spids: [-1 27445]
                            )
                            (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: [27486]
                                                )
                                              ]
                                              spids: [27486]
                                            )
                                          ]
                                          spids: [-1 27483]
                                        )
                                        (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: [27516]
                                                )
                                              ]
                                              spids: [27516]
                                            )
                                            (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: [27526]
                                                )
                                              ]
                                              spids: [27526]
                                            )
                                          ]
                                          spids: [27496 27513]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$lib") (" ") 
                                                    ($ VSub_Name "$deplibs")
                                                  )
                                                }
                                              spids: [27539]
                                            )
                                          ]
                                          spids: [27539]
                                        )
                                      ]
                                      spids: [27536 27550]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 27463]
                                )
                              ]
                              spids: [-1 27556]
                            )
                            (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: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$newlib_search_path") (" ") 
                                                ($ VSub_Name "$ladir")
                                              )
                                            }
                                          spids: [27590]
                                        )
                                      ]
                                      spids: [27590]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$lib") (" ") ($ VSub_Name "$deplibs"))
                                            }
                                          spids: [27598]
                                        )
                                      ]
                                      spids: [27598]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linkalldeplibs)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [27607]
                                        )
                                      ]
                                      spids: [27607]
                                    )
                                    (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: [27651]
                                                )
                                              ]
                                              spids: [27651]
                                            )
                                          ]
                                          spids: [-1 27648]
                                        )
                                      ]
                                      spids: [-1 27655]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [27659]
                                        )
                                      ]
                                      spids: [27659]
                                    )
                                    (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"))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newlib_search_path)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$newlib_search_path") 
                                                                (" ") ($ VSub_Name "$func_stripname_result")
                                                              )
                                                            }
                                                          spids: [27699]
                                                        )
                                                      ]
                                                      spids: [27699]
                                                    )
                                                  ]
                                                  spids: [27681 27683 27707 -1]
                                                )
                                              ]
                                              spids: [27674 27678 27710]
                                            )
                                            (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: [27733]
                                                        )
                                                      ]
                                                      spids: [27733]
                                                    )
                                                  ]
                                                  spids: [-1 27730]
                                                )
                                              ]
                                              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: [27752]
                                                    )
                                                  ]
                                                  spids: [27752]
                                                )
                                              ]
                                              spids: [27741 27760]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: (C {($ VSub_Name "$opt_duplicate_deps")})
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {(DQ ($ VSub_Name "$tmp_libs") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$deplib") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:specialdeplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$specialdeplibs"
                                                                        ) (" ") ($ VSub_Name "$deplib")
                                                                      )
                                                                    }
                                                                  spids: [27791]
                                                                )
                                                              ]
                                                              spids: [27791]
                                                            )
                                                          ]
                                                          spids: [27782 27789 27798 -1]
                                                        )
                                                      ]
                                                      spids: [27772 27779 27801]
                                                    )
                                                  ]
                                                  spids: [-1 27769]
                                                )
                                              ]
                                              spids: [-1 27804]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$tmp_libs") (" ") 
                                                        ($ VSub_Name "$deplib")
                                                      )
                                                    }
                                                  spids: [27807]
                                                )
                                              ]
                                              spids: [27807]
                                            )
                                          ]
                                          spids: [27671 27815]
                                        )
                                      spids: [27667 27669]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 27587]
                                )
                              ]
                              spids: [-1 27824]
                            )
                            (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: [27866]
                                                                )
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name "$old_library"))}
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      spids: [27864]
                                                    )
                                                  ]
                                                  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: [27959 27965 27967 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:temp_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$temp_rpath") 
                                                                        ($ VSub_Name "$absdir") (":")
                                                                      )
                                                                    }
                                                                  spids: [27973]
                                                                )
                                                              ]
                                                              spids: [27973]
                                                            )
                                                          ]
                                                          spids: [27970 27971 27980 -1]
                                                        )
                                                      ]
                                                      spids: [27949 27956 27983]
                                                    )
                                                  ]
                                                  spids: [-1 27942]
                                                )
                                              ]
                                              spids: [-1 27986]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") ($ VSub_Name "$sys_lib_dlsearch_path") 
                                                    (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$absdir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [28013 28020 28022 -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: [28039 28046 28048 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:compile_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name "$compile_rpath") (" ") ($ VSub_Name "$absdir")
                                                                      )
                                                                    }
                                                                  spids: [28054]
                                                                )
                                                              ]
                                                              spids: [28054]
                                                            )
                                                          ]
                                                          spids: [28051 28052 -1 28062]
                                                        )
                                                      ]
                                                      spids: [28029 28036 28062]
                                                    )
                                                  ]
                                                  spids: [28025 28026 28065 -1]
                                                )
                                              ]
                                              spids: [28002 28010 28068]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") ($ VSub_Name "$sys_lib_dlsearch_path") 
                                                    (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$libdir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [28082 28089 28091 -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: [28108 28115 28117 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:finalize_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$finalize_rpath"
                                                                        ) (" ") ($ VSub_Name "$libdir")
                                                                      )
                                                                    }
                                                                  spids: [28123]
                                                                )
                                                              ]
                                                              spids: [28123]
                                                            )
                                                          ]
                                                          spids: [28120 28121 -1 28131]
                                                        )
                                                      ]
                                                      spids: [28098 28105 28131]
                                                    )
                                                  ]
                                                  spids: [28094 28095 28134 -1]
                                                )
                                              ]
                                              spids: [28071 28079 28137]
                                            )
                                          ]
                                          spids: [-1 27913]
                                        )
                                      ]
                                      spids: [-1 28140]
                                    )
                                    (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: [28177]
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      spids: [28162]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [-1 28207]
                                        )
                                      ]
                                      spids: [-1 28217]
                                    )
                                  ]
                                  spids: [-1 27848]
                                )
                              ]
                              spids: [-1 28220]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_static)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [28224]
                                )
                              ]
                              spids: [28224]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:use_static_libs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$prefer_static_libs")}
                                  spids: [28231]
                                )
                              ]
                              spids: [28231]
                            )
                            (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: [28263]
                                        )
                                      ]
                                      spids: [28263]
                                    )
                                  ]
                                  spids: [-1 28260]
                                )
                              ]
                              spids: [-1 28267]
                            )
                            (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: [28283]
                                            )
                                          ]
                                          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: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:notinst_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$notinst_deplibs") (" ") 
                                                        ($ VSub_Name "$lib")
                                                      )
                                                    }
                                                  spids: [28341]
                                                )
                                              ]
                                              spids: [28341]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:need_relink)
                                                  op: Equal
                                                  rhs: {(no)}
                                                  spids: [28349]
                                                )
                                              ]
                                              spids: [28349]
                                            )
                                          ]
                                          spids: [28319 28334 28353 -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: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:notinst_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$notinst_deplibs") 
                                                                (" ") ($ VSub_Name "$lib")
                                                              )
                                                            }
                                                          spids: [28376]
                                                        )
                                                      ]
                                                      spids: [28376]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:need_relink)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [28384]
                                                        )
                                                      ]
                                                      spids: [28384]
                                                    )
                                                  ]
                                                  spids: [-1 28373]
                                                )
                                              ]
                                              spids: [-1 28388]
                                            )
                                          ]
                                          spids: [28356 28357 28391 -1]
                                        )
                                      ]
                                      spids: [28312 28316 28394]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlopenmodule)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [28410]
                                        )
                                      ]
                                      spids: [28410]
                                    )
                                    (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: [28447]
                                                        )
                                                      ]
                                                      spids: [28447]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [-1 28444]
                                                )
                                              ]
                                              spids: [-1 28456]
                                            )
                                          ]
                                          spids: [28424 28459]
                                        )
                                      spids: [28420 28422]
                                    )
                                    (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 {($ VSub_Name "$ECHO")})
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                          {(Lit_Other "=")} {(prog)}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {($ VSub_Name "$ECHO")} 
                                                      {
                                                        (DQ ("*** Warning: Linking the executable ") 
                                                          ($ VSub_Name "$output") (" against the loadable module")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 28516]
                                                )
                                              ]
                                              else_action: [
                                                (C {($ VSub_Name "$ECHO")} 
                                                  {
                                                    (DQ ("*** Warning: Linking the shared library ") 
                                                      ($ VSub_Name "$output") (" against the loadable module")
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [28528 28540]
                                            )
                                            (C {($ VSub_Name "$ECHO")} 
                                              {
                                                (DQ ("*** ") ($ VSub_Name "$linklib") 
                                                  (" is not portable!")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 28497]
                                        )
                                      ]
                                      spids: [-1 28552]
                                    )
                                    (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: [28607 28614 28616 -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: [28633 28640 28642 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:compile_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name "$compile_rpath") (" ") ($ VSub_Name "$absdir")
                                                                      )
                                                                    }
                                                                  spids: [28648]
                                                                )
                                                              ]
                                                              spids: [28648]
                                                            )
                                                          ]
                                                          spids: [28645 28646 -1 28656]
                                                        )
                                                      ]
                                                      spids: [28623 28630 28656]
                                                    )
                                                  ]
                                                  spids: [28619 28620 28659 -1]
                                                )
                                              ]
                                              spids: [28596 28604 28662]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") ($ VSub_Name "$sys_lib_dlsearch_path") 
                                                    (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$libdir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [28676 28683 28685 -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: [28702 28709 28711 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:finalize_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$finalize_rpath"
                                                                        ) (" ") ($ VSub_Name "$libdir")
                                                                      )
                                                                    }
                                                                  spids: [28717]
                                                                )
                                                              ]
                                                              spids: [28717]
                                                            )
                                                          ]
                                                          spids: [28714 28715 -1 28725]
                                                        )
                                                      ]
                                                      spids: [28692 28699 28725]
                                                    )
                                                  ]
                                                  spids: [28688 28689 28728 -1]
                                                )
                                              ]
                                              spids: [28665 28673 28731]
                                            )
                                          ]
                                          spids: [-1 28581]
                                        )
                                      ]
                                      spids: [-1 28734]
                                    )
                                    (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: [28766]
                                                )
                                              ]
                                              spids: [28766]
                                            )
                                            (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: [28776 28787]
                                                      )
                                                    }
                                                  spids: [28775]
                                                )
                                              ]
                                              spids: [28775]
                                            )
                                            (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: [28808]
                                                        )
                                                      ]
                                                      spids: [28808]
                                                    )
                                                  ]
                                                  spids: [-1 28805]
                                                )
                                                (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: [28865]
                                                                )
                                                              ]
                                                              spids: [28865]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:versuffix)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-) ($ VSub_Name "$major"))}
                                                                  spids: [28869]
                                                                )
                                                              ]
                                                              spids: [28869]
                                                            )
                                                          ]
                                                          spids: [28839 28853 28876 -1]
                                                        )
                                                      ]
                                                      spids: [28832 28836 28879]
                                                    )
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "soname=") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\\"">
                                                        ) ($ VSub_Name "$soname_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                      }
                                                    )
                                                  ]
                                                  spids: [28814 28825]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:soname)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name "$realname"))}
                                                      spids: [28893]
                                                    )
                                                  ]
                                                  spids: [28893]
                                                )
                                              ]
                                              spids: [28890 28899]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:soroot)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$soname"))}
                                                  spids: [28907]
                                                )
                                              ]
                                              spids: [28907]
                                            )
                                            (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: [28920]
                                                )
                                              ]
                                              spids: [28920]
                                            )
                                            (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: [28941]
                                                )
                                              ]
                                              spids: [28941]
                                            )
                                            (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 28966]
                                                )
                                              ]
                                              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: [28971 28995]
                                            )
                                            (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 29016]
                                                )
                                              ]
                                              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: [29021 29045]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$output_objdir")}
                                                  spids: [29052]
                                                )
                                              ]
                                              spids: [29052]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linklib)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$newlib")}
                                                  spids: [29056]
                                                )
                                              ]
                                              spids: [29056]
                                            )
                                          ]
                                          spids: [-1 28749]
                                        )
                                      ]
                                      spids: [-1 29060]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                      {(Lit_Other "=")} {(prog)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name "$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: [29096]
                                                )
                                              ]
                                              spids: [29096]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [29099]
                                                )
                                              ]
                                              spids: [29099]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [29102]
                                                )
                                              ]
                                              spids: [29102]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib_linked)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [29105]
                                                )
                                              ]
                                              spids: [29105]
                                            )
                                            (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: [29140]
                                                                )
                                                              ]
                                                              spids: [29140]
                                                            )
                                                            (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: [29165]
                                                                        )
                                                                      ]
                                                                      spids: [29165]
                                                                    )
                                                                  ]
                                                                  spids: [29155 29163 29171 -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: [29183]
                                                                        )
                                                                      ]
                                                                      spids: [29183]
                                                                    )
                                                                  ]
                                                                  spids: [29174 29181 29189 -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: [29224]
                                                                        )
                                                                      ]
                                                                      spids: [29224]
                                                                    )
                                                                  ]
                                                                  spids: [29192 29222 29230 -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: [
29258
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          ($ 
VSub_Name "$GREP"
                                                                                          )
                                                                                        }
                                                                                        {
                                                                                          (DQ 
                                                                                            (
": [^:]* bundle"
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: -1
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
29271
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  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 
                                                                                              {
                                                                                                ($ 
VSub_Name "$ECHO"
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name "$ECHO"
                                                                                                )
                                                                                              } {(DQ ("*** And there doesn't seem to be a static archive available"))}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name "$ECHO"
                                                                                                )
                                                                                              } {(DQ ("*** The link will probably fail, sorry"))}
                                                                                            )
                                                                                          ]
                                                                                          spids: [
-1
29321
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      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: [
29344
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
29344
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
29341
29352
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 29297]
                                                                                )
                                                                                (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: [
29369
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [29369]
                                                                                    )
                                                                                  ]
                                                                                  spids: [29355 29366]
                                                                                )
                                                                              ]
                                                                              spids: [-1 29377]
                                                                            )
                                                                          ]
                                                                          spids: [-1 29276]
                                                                        )
                                                                      ]
                                                                      spids: [-1 29380]
                                                                    )
                                                                  ]
                                                                  spids: [29233 29239 -1 29383]
                                                                )
                                                              ]
                                                              spids: [29148 29152 29383]
                                                            )
                                                          ]
                                                          spids: [-1 29137]
                                                        )
                                                        (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: [29416]
                                                                        )
                                                                      ]
                                                                      spids: [29416]
                                                                    )
                                                                  ]
                                                                  spids: [29409 29414 29421 -1]
                                                                )
                                                              ]
                                                              spids: [29402 29406 29424]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(DQ (-L) ($ VSub_Name "$dir"))}
                                                                  spids: [29427]
                                                                )
                                                              ]
                                                              spids: [29427]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name "$name"))}
                                                                  spids: [29434]
                                                                )
                                                              ]
                                                              spids: [29434]
                                                            )
                                                          ]
                                                          spids: [29386 29399]
                                                        )
                                                        (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: [29457]
                                                                )
                                                              ]
                                                              spids: [29457]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name "$name"))}
                                                                  spids: [29463]
                                                                )
                                                              ]
                                                              spids: [29463]
                                                            )
                                                          ]
                                                          spids: [29441 29454]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [29473]
                                                            )
                                                          ]
                                                          spids: [29473]
                                                        )
                                                      ]
                                                      spids: [29470 29477]
                                                    )
                                                  ]
                                                  spids: [29116 29121 29480 -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: [29516]
                                                                )
                                                              ]
                                                              spids: [29516]
                                                            )
                                                          ]
                                                          spids: [-1 29513]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
"$hardcode_minus_L"
                                                                      )
                                                                    )
                                                                  } {(Lit_Other "=")} {(yes)}
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(DQ (-L) ($ VSub_Name "$dir"))}
                                                                  spids: [29540]
                                                                )
                                                              ]
                                                              spids: [29540]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-n)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
"$inst_prefix_dir"
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name "$libdir")}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "[") 
                                                                              (EscapedLiteralPart
                                                                                token: 
                                                                                  <Lit_EscapedChar 
"\\\\"
                                                                                  >
                                                                              ) (/) (Lit_Other "]") (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: add_dir
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$add_dir"
                                                                                        ) (" -L") ($ VSub_Name "$inst_prefix_dir") ($ VSub_Name "$libdir")
                                                                                      )
                                                                                    }
                                                                                  spids: [29580]
                                                                                )
                                                                              ]
                                                                              spids: [29580]
                                                                            )
                                                                          ]
                                                                          spids: [29572 29577 29589 -1]
                                                                        )
                                                                      ]
                                                                      spids: [29565 29569 29592]
                                                                    )
                                                                  ]
                                                                  spids: [-1 29562]
                                                                )
                                                              ]
                                                              spids: [-1 29595]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name "$name"))}
                                                                  spids: [29598]
                                                                )
                                                              ]
                                                              spids: [29598]
                                                            )
                                                          ]
                                                          spids: [29524 29537]
                                                        )
                                                        (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: [29621]
                                                                )
                                                              ]
                                                              spids: [29621]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {(DQ (-l) ($ VSub_Name "$name"))}
                                                                  spids: [29627]
                                                                )
                                                              ]
                                                              spids: [29627]
                                                            )
                                                          ]
                                                          spids: [29605 29618]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [29637]
                                                            )
                                                          ]
                                                          spids: [29637]
                                                        )
                                                      ]
                                                      spids: [29634 29641]
                                                    )
                                                  ]
                                                  spids: [29483 29484 29644 -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: [29650]
                                                        )
                                                      ]
                                                      spids: [29650]
                                                    )
                                                  ]
                                                  spids: [29647 29648 29653 -1]
                                                )
                                              ]
                                              spids: [29109 29113 29656]
                                            )
                                            (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 29674]
                                                )
                                              ]
                                              spids: [-1 29684]
                                            )
                                            (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: [29711 29718 29720 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: compile_shlibpath
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$compile_shlibpath"
                                                                        ) ($ VSub_Name "$add_shlibpath") (":")
                                                                      )
                                                                    }
                                                                  spids: [29726]
                                                                )
                                                              ]
                                                              spids: [29726]
                                                            )
                                                          ]
                                                          spids: [29723 29724 29733 -1]
                                                        )
                                                      ]
                                                      spids: [29702 29708 29736]
                                                    )
                                                  ]
                                                  spids: [-1 29699]
                                                )
                                              ]
                                              spids: [-1 29739]
                                            )
                                            (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: [29768]
                                                            )
                                                          ]
                                                          spids: [29768]
                                                        )
                                                      ]
                                                      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: [29786]
                                                            )
                                                          ]
                                                          spids: [29786]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 29755]
                                                )
                                              ]
                                              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: [29807]
                                                        )
                                                      ]
                                                      spids: [29807]
                                                    )
                                                  ]
                                                  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: [29825]
                                                        )
                                                      ]
                                                      spids: [29825]
                                                    )
                                                  ]
                                                  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: [29886 29893 29895 -1]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other "*")}]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: finalize_shlibpath
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name 
"$finalize_shlibpath"
                                                                            ) ($ VSub_Name "$libdir") (":")
                                                                          )
                                                                        }
                                                                      spids: [29901]
                                                                    )
                                                                  ]
                                                                  spids: [29901]
                                                                )
                                                              ]
                                                              spids: [29898 29899 29908 -1]
                                                            )
                                                          ]
                                                          spids: [29877 29883 29911]
                                                        )
                                                      ]
                                                      spids: [-1 29874]
                                                    )
                                                  ]
                                                  spids: [-1 29914]
                                                )
                                              ]
                                              spids: [29794 29917]
                                            )
                                          ]
                                          spids: [-1 29093]
                                        )
                                      ]
                                      spids: [-1 29920]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(DQ ($ VSub_Name "$linkmode"))} 
                                                      {(Lit_Other "=")} {(prog)}
                                                    )
                                                    (C {(test)} {(DQ ($ VSub_Name "$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: [29952]
                                                )
                                              ]
                                              spids: [29952]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [29955]
                                                )
                                              ]
                                              spids: [29955]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [29958]
                                                )
                                              ]
                                              spids: [29958]
                                            )
                                            (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: [29994]
                                                        )
                                                      ]
                                                      spids: [29994]
                                                    )
                                                  ]
                                                  spids: [-1 29991]
                                                )
                                                (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: [30018]
                                                        )
                                                      ]
                                                      spids: [30018]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(DQ (-l) ($ VSub_Name "$name"))}
                                                          spids: [30025]
                                                        )
                                                      ]
                                                      spids: [30025]
                                                    )
                                                  ]
                                                  spids: [30002 30015]
                                                )
                                                (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: [30057 30064 30066 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: finalize_shlibpath
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$finalize_shlibpath"
                                                                        ) ($ VSub_Name "$libdir") (":")
                                                                      )
                                                                    }
                                                                  spids: [30072]
                                                                )
                                                              ]
                                                              spids: [30072]
                                                            )
                                                          ]
                                                          spids: [30069 30070 30079 -1]
                                                        )
                                                      ]
                                                      spids: [30048 30054 30082]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(DQ (-l) ($ VSub_Name "$name"))}
                                                          spids: [30085]
                                                        )
                                                      ]
                                                      spids: [30085]
                                                    )
                                                  ]
                                                  spids: [30032 30045]
                                                )
                                                (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: [30137]
                                                                )
                                                              ]
                                                              spids: [30137]
                                                            )
                                                          ]
                                                          spids: [-1 30134]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:add)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name "$libdir") (/) 
                                                                    ($ VSub_Name "$linklib")
                                                                  )
                                                                }
                                                              spids: [30149]
                                                            )
                                                          ]
                                                          spids: [30149]
                                                        )
                                                      ]
                                                      spids: [30146 30157]
                                                    )
                                                  ]
                                                  spids: [30092 30105]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add_dir)
                                                      op: Equal
                                                      rhs: {(DQ (-L) ($ VSub_Name "$libdir"))}
                                                      spids: [30167]
                                                    )
                                                  ]
                                                  spids: [30167]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name "$inst_prefix_dir"))}
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      action: [
                                                        (Case
                                                          to_match: {($ VSub_Name "$libdir")}
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [
                                                                {(Lit_Other "[") 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar "\\\\">
                                                                  ) (/) (Lit_Other "]") (Lit_Other "*")
                                                                }
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:add_dir)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (DQ 
                                                                            ($ VSub_Name "$add_dir") (" -L") ($ VSub_Name "$inst_prefix_dir") ($ VSub_Name "$libdir")
                                                                          )
                                                                        }
                                                                      spids: [30207]
                                                                    )
                                                                  ]
                                                                  spids: [30207]
                                                                )
                                                              ]
                                                              spids: [30199 30204 30216 -1]
                                                            )
                                                          ]
                                                          spids: [30192 30196 30219]
                                                        )
                                                      ]
                                                      spids: [-1 30189]
                                                    )
                                                  ]
                                                  spids: [-1 30222]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add)
                                                      op: Equal
                                                      rhs: {(DQ (-l) ($ VSub_Name "$name"))}
                                                      spids: [30225]
                                                    )
                                                  ]
                                                  spids: [30225]
                                                )
                                              ]
                                              spids: [30160 30232]
                                            )
                                            (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: [30262]
                                                            )
                                                          ]
                                                          spids: [30262]
                                                        )
                                                      ]
                                                      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: [30280]
                                                            )
                                                          ]
                                                          spids: [30280]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 30249]
                                                )
                                              ]
                                              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: [30301]
                                                        )
                                                      ]
                                                      spids: [30301]
                                                    )
                                                  ]
                                                  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: [30319]
                                                        )
                                                      ]
                                                      spids: [30319]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              spids: [30288 30327]
                                            )
                                          ]
                                          spids: [-1 29949]
                                        )
                                      ]
                                      spids: [-1 30330]
                                    )
                                  ]
                                  spids: [-1 28309]
                                )
                                (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: [30388]
                                                    )
                                                  ]
                                                  spids: [30388]
                                                )
                                              ]
                                              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: [30394]
                                                )
                                              ]
                                              spids: [30394]
                                            )
                                            (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: [30404]
                                                )
                                              ]
                                              spids: [30404]
                                            )
                                          ]
                                          spids: [-1 30375]
                                        )
                                      ]
                                      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: [30417]
                                            )
                                          ]
                                          spids: [30417]
                                        )
                                        (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: [30428]
                                            )
                                          ]
                                          spids: [30428]
                                        )
                                      ]
                                      spids: [30414 30439]
                                    )
                                  ]
                                  spids: [30333 30346]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$build_libtool_libs"))} 
                                          {(Lit_Other "=")} {(yes)}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name "$deplibs_check_method"))} 
                                                  {(KW_Bang "!") (Lit_Other "=")} {(pass_all)}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {($ VSub_Name "$ECHO")})
                                            (C {($ VSub_Name "$ECHO")} 
                                              {
                                                (DQ 
                                                  (
"*** Warning: This system can not link to static lib archive "
                                                  ) ($ VSub_Name "$lib") (.)
                                                )
                                              }
                                            )
                                            (C {($ VSub_Name "$ECHO")} 
                                              {
                                                (DQ 
                                                  (
"*** I have the capability to make that library automatically link in when"
                                                  )
                                                )
                                              }
                                            )
                                            (C {($ VSub_Name "$ECHO")} 
                                              {
                                                (DQ 
                                                  (
"*** you link to this library.  But I can only do this if you have a"
                                                  )
                                                )
                                              }
                                            )
                                            (C {($ VSub_Name "$ECHO")} 
                                              {
                                                (DQ 
                                                  (
"*** shared version of the library, which you do not appear to have."
                                                  )
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ ($ VSub_Name "$module"))} 
                                                          {(Lit_Other "=")} {(yes)}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {($ VSub_Name "$ECHO")} 
                                                      {
                                                        (DQ 
                                                          (
"*** But as you try to build a module library, libtool will still create "
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name "$ECHO")} 
                                                      {
                                                        (DQ 
                                                          (
"*** a static module, that should work as long as the dlopening application"
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name "$ECHO")} 
                                                      {
                                                        (DQ 
                                                          (
"*** is linked with the -dlopen flag to resolve symbols at runtime."
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-z)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
"$global_symbol_pipe"
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (C {($ VSub_Name "$ECHO")})
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** However, this would only work if libtool was able to extract symbol"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** lists from a program, using "
                                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) ("nm' or equivalent, but libtool could")
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** not find such a program.  So, this module is probably useless."
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ ("*** ") 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar "\\`">
                                                                  ) ("nm' from GNU binutils and a full rebuild may help.")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [-1 30577]
                                                        )
                                                      ]
                                                      spids: [-1 30615]
                                                    )
                                                    (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: [30634]
                                                                )
                                                              ]
                                                              spids: [30634]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:build_old_libs)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [30638]
                                                                )
                                                              ]
                                                              spids: [30638]
                                                            )
                                                          ]
                                                          spids: [-1 30631]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [30645]
                                                            )
                                                          ]
                                                          spids: [30645]
                                                        )
                                                      ]
                                                      spids: [30642 30649]
                                                    )
                                                  ]
                                                  spids: [-1 30542]
                                                )
                                              ]
                                              spids: [-1 30652]
                                            )
                                          ]
                                          spids: [-1 30476]
                                        )
                                      ]
                                      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: [30658]
                                            )
                                          ]
                                          spids: [30658]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:link_static)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [30668]
                                            )
                                          ]
                                          spids: [30668]
                                        )
                                      ]
                                      spids: [30655 30672]
                                    )
                                  ]
                                  spids: [30442 30455]
                                )
                              ]
                              spids: [-1 30675]
                            )
                            (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: [30711]
                                                    )
                                                  ]
                                                  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: [30761]
                                                )
                                              ]
                                              spids: [30761]
                                            )
                                            (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: [30801]
                                                                )
                                                              ]
                                                              spids: [30801]
                                                            )
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (" ") ($ VSub_Name "$xrpath") 
                                                                    (" ")
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") 
                                                                      (DQ (" ") 
                                                                        ($ VSub_Name "$temp_xrpath") (" ")
                                                                      ) (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  spids: [30816 30823 30825 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:xrpath)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
"$xrpath"
                                                                                ) (" ") ($ VSub_Name "$temp_xrpath")
                                                                              )
                                                                            }
                                                                          spids: [30831]
                                                                        )
                                                                      ]
                                                                      spids: [30831]
                                                                    )
                                                                  ]
                                                                  spids: [30828 30829 30837 -1]
                                                                )
                                                              ]
                                                              spids: [30805 30813 30840]
                                                            )
                                                          ]
                                                          spids: [30783 30785 30841 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:temp_deplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name "$temp_deplibs") (" ") ($ VSub_Name "$libdir")
                                                                      )
                                                                    }
                                                                  spids: [30847]
                                                                )
                                                              ]
                                                              spids: [30847]
                                                            )
                                                          ]
                                                          spids: [30844 30845 30853 -1]
                                                        )
                                                      ]
                                                      spids: [30776 30780 30856]
                                                    )
                                                  ]
                                                  spids: [30773 30859]
                                                )
                                              spids: [30769 30771]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$temp_deplibs"))}
                                                  spids: [30862]
                                                )
                                              ]
                                              spids: [30862]
                                            )
                                          ]
                                          spids: [-1 30754]
                                        )
                                      ]
                                      spids: [-1 30868]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$newlib_search_path") (" ") 
                                                ($ VSub_Name "$absdir")
                                              )
                                            }
                                          spids: [30872]
                                        )
                                      ]
                                      spids: [30872]
                                    )
                                    (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: [30896]
                                            )
                                          ]
                                          spids: [30896]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [30910]
                                        )
                                      ]
                                      spids: [30910]
                                    )
                                    (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: [30925]
                                                )
                                              ]
                                              spids: [30925]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: (C {($ VSub_Name "$opt_duplicate_deps")})
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {(DQ ($ VSub_Name "$tmp_libs") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$deplib") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:specialdeplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$specialdeplibs"
                                                                        ) (" ") ($ VSub_Name "$deplib")
                                                                      )
                                                                    }
                                                                  spids: [30961]
                                                                )
                                                              ]
                                                              spids: [30961]
                                                            )
                                                          ]
                                                          spids: [30952 30959 30968 -1]
                                                        )
                                                      ]
                                                      spids: [30942 30949 30971]
                                                    )
                                                  ]
                                                  spids: [-1 30939]
                                                )
                                              ]
                                              spids: [-1 30974]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$tmp_libs") (" ") 
                                                        ($ VSub_Name "$deplib")
                                                      )
                                                    }
                                                  spids: [30977]
                                                )
                                              ]
                                              spids: [30977]
                                            )
                                          ]
                                          spids: [30922 30985]
                                        )
                                      spids: [30918 30920]
                                    )
                                    (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: [31022]
                                                        )
                                                      ]
                                                      spids: [31022]
                                                    )
                                                    (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: [31036]
                                                                )
                                                              ]
                                                              spids: [31036]
                                                            )
                                                          ]
                                                          spids: [31032 31034 31041 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*") (.la)}]
                                                          action: [
                                                            (C {(func_dirname)} 
                                                              {(DQ ($ VSub_Name "$deplib"))} {(DQ )} {(DQ (.))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:dir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$func_dirname_result"
                                                                        )
                                                                      )
                                                                    }
                                                                  spids: [31063]
                                                                )
                                                              ]
                                                              spids: [31063]
                                                            )
                                                            (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: [31099]
                                                                        )
                                                                      ]
                                                                      spids: [31099]
                                                                    )
                                                                  ]
                                                                  spids: [31080 31097 31104 -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: [31112 31122]
                                                                              )
                                                                            }
                                                                          spids: [31111]
                                                                        )
                                                                      ]
                                                                      spids: [31111]
                                                                    )
                                                                    (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: [31149]
                                                                                )
                                                                              ]
                                                                              spids: [31149]
                                                                            )
                                                                          ]
                                                                          spids: [-1 31136]
                                                                        )
                                                                      ]
                                                                      spids: [-1 31155]
                                                                    )
                                                                  ]
                                                                  spids: [31107 31108 31158 -1]
                                                                )
                                                              ]
                                                              spids: [31073 31077 31161]
                                                            )
                                                            (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: [31174]
                                                                            )
                                                                          ]
                                                                        )
                                                                      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: [31197]
                                                                                )
                                                                              ]
                                                                              spids: [31197]
                                                                            )
                                                                            (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: [31203 31217]
                                                                                )
                                                                              }
                                                                            )
                                                                            (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: [
31248
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
31248
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
31245
31252
                                                                                          ]
                                                                                        )
                                                                                      spids: [
31240
31243
                                                                                      ]
                                                                                    )
                                                                                    (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: [
31274
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
31274
                                                                                              ]
                                                                                            )
                                                                                            (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: [
31285
31301
                                                                                                        ]
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
31284
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
31284
                                                                                              ]
                                                                                            )
                                                                                            (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: [
31319
31335
                                                                                                                ]
                                                                                                              )
                                                                                                            }
                                                                                                          spids: [
31318
                                                                                                          ]
                                                                                                        )
                                                                                                      ]
                                                                                                      spids: [
31318
                                                                                                      ]
                                                                                                    )
                                                                                                  ]
                                                                                                  spids: [
-1
31315
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
-1
31338
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
compiler_flags
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (DQ 
                                                                                                        ($ 
VSub_Name "$compiler_flags"
                                                                                                        ) (" ") (${ VSub_Name wl) ("-dylib_file ") (${ VSub_Name wl) (${ VSub_Name darwin_install_name) (":") 
                                                                                                        (${ 
VSub_Name depdepl
                                                                                                        )
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
31341
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
31341
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
linker_flags
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (DQ 
                                                                                                        ($ 
VSub_Name "$linker_flags"
                                                                                                        ) (" -dylib_file ") (${ VSub_Name darwin_install_name) (":") (${ VSub_Name depdepl)
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
31362
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
31362
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
path
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: {(SQ )}
                                                                                                  spids: [
31376
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
31376
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
-1
31271
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
-1
31379
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 31232]
                                                                                )
                                                                              ]
                                                                              spids: [-1 31382]
                                                                            )
                                                                          ]
                                                                          spids: [31189 31194 31385 -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: [31392]
                                                                                )
                                                                              ]
                                                                              spids: [31392]
                                                                            )
                                                                          ]
                                                                          spids: [31388 31389 31401 -1]
                                                                        )
                                                                      ]
                                                                      spids: [31182 31186 31404]
                                                                    )
                                                                  ]
                                                                  spids: [-1 31179]
                                                                )
                                                              ]
                                                              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: [31413 31427]
                                                                    )
                                                                  }
                                                                )
                                                                (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: [31478]
                                                                    )
                                                                  ]
                                                                  spids: [31478]
                                                                )
                                                              ]
                                                              spids: [31407 31485]
                                                            )
                                                          ]
                                                          spids: [31044 31046 31488 -1]
                                                        )
                                                      ]
                                                      spids: [31025 31029 31491]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (" ") ($ VSub_Name "$deplibs") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$path") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          spids: [31505 31512 31514 -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: [31520]
                                                                )
                                                              ]
                                                              spids: [31520]
                                                            )
                                                          ]
                                                          spids: [31517 31518 31527 -1]
                                                        )
                                                      ]
                                                      spids: [31494 31502 31530]
                                                    )
                                                  ]
                                                  spids: [31019 31533]
                                                )
                                              spids: [31015 31017]
                                            )
                                          ]
                                          spids: [-1 31003]
                                        )
                                      ]
                                      spids: [-1 31536]
                                    )
                                  ]
                                  spids: [-1 30695]
                                )
                              ]
                              spids: [-1 31542]
                            )
                          ]
                          spids: [24424 31548]
                        )
                      spids: [24420 24422]
                    )
                    (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: [31588]
                                        )
                                      ]
                                      spids: [31588]
                                    )
                                    (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: [31596]
                                        )
                                      ]
                                      spids: [31596]
                                    )
                                  ]
                                  spids: [-1 31585]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:compiler_flags)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name "$compiler_flags") (" ")) 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {($ VSub_Name "$ECHO")} 
                                                        {
                                                          (DQ ("X ") 
                                                            ($ VSub_Name 
"$new_inherited_linker_flags"
                                                            )
                                                          )
                                                        }
                                                      )
                                                      (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                        {
                                                          (SQ 
                                                            <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                            >
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [31612 31629]
                                          )
                                        }
                                      spids: [31607]
                                    )
                                  ]
                                  spids: [31607]
                                )
                              ]
                              spids: [31604 31632]
                            )
                          ]
                          spids: [-1 31567]
                        )
                      ]
                      spids: [-1 31635]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$newdependency_libs"))}
                          spids: [31638]
                        )
                      ]
                      spids: [31638]
                    )
                    (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: [31676]
                                        )
                                      ]
                                      spids: [31676]
                                    )
                                  ]
                                  spids: [31673 31684]
                                )
                              spids: [31669 31671]
                            )
                          ]
                          spids: [-1 31657]
                        )
                      ]
                      spids: [-1 31687]
                    )
                    (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: [31728]
                                        )
                                      ]
                                      spids: [31728]
                                    )
                                    (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: [31753 31760 31762 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib_search_path)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$lib_search_path") 
                                                                (" ") ($ VSub_Name "$dir")
                                                              )
                                                            }
                                                          spids: [31768]
                                                        )
                                                      ]
                                                      spids: [31768]
                                                    )
                                                  ]
                                                  spids: [31765 31766 31775 -1]
                                                )
                                              ]
                                              spids: [31743 31750 31778]
                                            )
                                          ]
                                          spids: [31740 31781]
                                        )
                                      spids: [31736 31738]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [31784]
                                        )
                                      ]
                                      spids: [31784]
                                    )
                                  ]
                                  spids: [-1 31721]
                                )
                              ]
                              spids: [-1 31787]
                            )
                            (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: [31812]
                                        )
                                      ]
                                      spids: [31812]
                                    )
                                  ]
                                  spids: [-1 31809]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:vars)
                                      op: Equal
                                      rhs: {(DQ ("compile_deplibs finalize_deplibs"))}
                                      spids: [31821]
                                    )
                                  ]
                                  spids: [31821]
                                )
                              ]
                              spids: [31818 31827]
                            )
                            (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: [31857]
                                        )
                                      ]
                                      spids: [31857]
                                    )
                                    (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: [31907]
                                                        )
                                                      ]
                                                      spids: [31907]
                                                    )
                                                  ]
                                                  spids: [31903 31905 31914 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(-R) (Lit_Other "*")}]
                                                  spids: [31917 31919 31921 -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: [32004]
                                                                )
                                                              ]
                                                              spids: [32004]
                                                            )
                                                          ]
                                                          spids: [31995 32002 32011 -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: [32029 32036 32038 -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: [32044]
                                                                        )
                                                                      ]
                                                                      spids: [32044]
                                                                    )
                                                                  ]
                                                                  spids: [32041 32042 32051 -1]
                                                                )
                                                              ]
                                                              spids: [32018 32026 32054]
                                                            )
                                                          ]
                                                          spids: [32014 32015 32057 -1]
                                                        )
                                                      ]
                                                      spids: [31984 31992 32060]
                                                    )
                                                  ]
                                                  spids: [31924 31925 32063 -1]
                                                )
                                              ]
                                              spids: [31896 31900 32066]
                                            )
                                          ]
                                          spids: [31869 32069]
                                        )
                                      spids: [31865 31867]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [32072]
                                        )
                                      ]
                                      spids: [32072]
                                    )
                                    (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: [32110 32117 32119 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:tmp_libs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$tmp_libs") 
                                                                        (" ") ($ VSub_Name "$deplib")
                                                                      )
                                                                    }
                                                                  spids: [32125]
                                                                )
                                                              ]
                                                              spids: [32125]
                                                            )
                                                          ]
                                                          spids: [32122 32123 32132 -1]
                                                        )
                                                      ]
                                                      spids: [32099 32107 32135]
                                                    )
                                                  ]
                                                  spids: [32094 32096 32138 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tmp_libs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$tmp_libs") (" ") 
                                                                ($ VSub_Name "$deplib")
                                                              )
                                                            }
                                                          spids: [32144]
                                                        )
                                                      ]
                                                      spids: [32144]
                                                    )
                                                  ]
                                                  spids: [32141 32142 32151 -1]
                                                )
                                              ]
                                              spids: [32087 32091 32154]
                                            )
                                          ]
                                          spids: [32084 32157]
                                        )
                                      spids: [32080 32082]
                                    )
                                    (C {(eval)} 
                                      {($ VSub_Name "$var") (Lit_Other "=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) ($ VSub_Name "$tmp_libs") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                      }
                                    )
                                  ]
                                  spids: [31841 32169]
                                )
                              spids: [31835 31839]
                            )
                          ]
                          spids: [-1 31704]
                        )
                      ]
                      spids: [-1 32175]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tmp_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [32186]
                        )
                      ]
                      spids: [32186]
                    )
                    (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: [32227]
                                        )
                                      ]
                                      spids: [32227]
                                    )
                                  ]
                                  spids: [32217 32224 32232 -1]
                                )
                              ]
                              spids: [32202 32214 32235]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$i"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: 
                                            {(DQ ($ VSub_Name "$tmp_libs") (" ") ($ VSub_Name "$i"))}
                                          spids: [32253]
                                        )
                                      ]
                                      spids: [32253]
                                    )
                                  ]
                                  spids: [-1 32250]
                                )
                              ]
                              spids: [-1 32261]
                            )
                          ]
                          spids: [32199 32264]
                        )
                      spids: [32194 32197]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name "$tmp_libs")}
                          spids: [32267]
                        )
                      ]
                      spids: [32267]
                    )
                  ]
                  spids: [24009 32271]
                )
              spids: [24005 24007]
            )
            (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: [32293]
                        )
                      ]
                      spids: [32293]
                    )
                  ]
                  spids: [-1 32290]
                )
              ]
              spids: [-1 32299]
            )
            (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: [32330]
                        )
                      ]
                      spids: [32330]
                    )
                  ]
                  spids: [-1 32327]
                )
              ]
              spids: [-1 32336]
            )
            (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 32376]
                        )
                      ]
                      spids: [-1 32387]
                    )
                    (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: [32401 32412 32424 -1]
                        )
                      ]
                      spids: [32391 32398 32427]
                    )
                    (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: [32541]
                        )
                      ]
                      spids: [32541]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$output"))}
                          spids: [32545]
                        )
                      ]
                      spids: [32545]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:objs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$objs") ($ VSub_Name "$old_deplibs"))}
                          spids: [32551]
                        )
                      ]
                      spids: [32551]
                    )
                  ]
                  spids: [32347 32348 32558 -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: [32597]
                                )
                              ]
                              spids: [32597]
                            )
                            (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: [32577 32579 32617 -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: [32686]
                                        )
                                      ]
                                      spids: [32686]
                                    )
                                    (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 32665]
                                )
                              ]
                              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: [32723]
                                    )
                                  ]
                                  spids: [32723]
                                )
                              ]
                              spids: [32706 32727]
                            )
                          ]
                          spids: [32620 32621 32730 -1]
                        )
                      ]
                      spids: [32570 32574 32733]
                    )
                    (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 32765]
                                )
                              ]
                              else_action: [
                                (C {($ VSub_Name "$ECHO")})
                                (C {($ VSub_Name "$ECHO")} 
                                  {
                                    (DQ ("*** Warning: Linking the shared library ") 
                                      ($ VSub_Name "$output") (" against the non-libtool")
                                    )
                                  }
                                )
                                (C {($ VSub_Name "$ECHO")} 
                                  {(DQ ("*** objects ") ($ VSub_Name "$objs") (" is not portable!"))}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$libobjs") (" ") ($ VSub_Name "$objs"))}
                                      spids: [32803]
                                    )
                                  ]
                                  spids: [32803]
                                )
                              ]
                              spids: [32779 32811]
                            )
                          ]
                          spids: [-1 32748]
                        )
                      ]
                      spids: [-1 32814]
                    )
                    (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: [32876]
                        )
                      ]
                      spids: [32876]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [32883]
                        )
                      ]
                      spids: [32883]
                    )
                    (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: [32932]
                                        )
                                      ]
                                      spids: [32932]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_libtool_libs)
                                          op: Equal
                                          rhs: {(convenience)}
                                          spids: [32944]
                                        )
                                      ]
                                      spids: [32944]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_old_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [32948]
                                        )
                                      ]
                                      spids: [32948]
                                    )
                                  ]
                                  spids: [-1 32913]
                                )
                              ]
                              spids: [-1 32952]
                            )
                            (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 32897]
                        )
                      ]
                      else_action: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_ifs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$IFS"))}
                                  spids: [33005]
                                )
                              ]
                              spids: [33005]
                            )
                          terminator: <Op_Semi ";">
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(SQ <":">)}
                              spids: [33011]
                            )
                          ]
                          spids: [33011]
                        )
                        (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: [33033]
                            )
                          ]
                          spids: [33033]
                        )
                        (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: [33086]
                                    )
                                  ]
                                  spids: [33086]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_minor)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number "$2"))}
                                      spids: [33092]
                                    )
                                  ]
                                  spids: [33092]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_revision)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number "$3"))}
                                      spids: [33098]
                                    )
                                  ]
                                  spids: [33098]
                                )
                                (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: [33160]
                                            )
                                          ]
                                          spids: [33160]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_minor"))}
                                              spids: [33164]
                                            )
                                          ]
                                          spids: [33164]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_revision"))}
                                              spids: [33170]
                                            )
                                          ]
                                          spids: [33170]
                                        )
                                      ]
                                      spids: [33139 33148 33176 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(freebsd-aout)} {(freebsd-elf)} {(sunos)}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:current)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_major"))}
                                              spids: [33187]
                                            )
                                          ]
                                          spids: [33187]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_minor"))}
                                              spids: [33193]
                                            )
                                          ]
                                          spids: [33193]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ (0))}
                                              spids: [33199]
                                            )
                                          ]
                                          spids: [33199]
                                        )
                                      ]
                                      spids: [33179 33184 33205 -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: [33223]
                                            )
                                          ]
                                          spids: [33223]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_minor"))}
                                              spids: [33227]
                                            )
                                          ]
                                          spids: [33227]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$number_minor"))}
                                              spids: [33233]
                                            )
                                          ]
                                          spids: [33233]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:lt_irix_increment)
                                              op: Equal
                                              rhs: {(no)}
                                              spids: [33239]
                                            )
                                          ]
                                          spids: [33239]
                                        )
                                      ]
                                      spids: [33208 33211 33243 -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: [33246 33247 33261 -1]
                                    )
                                  ]
                                  spids: [33132 33136 33264]
                                )
                              ]
                              spids: [33082 33083 33267 -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: [33274]
                                    )
                                  ]
                                  spids: [33274]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:revision)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number "$2"))}
                                      spids: [33280]
                                    )
                                  ]
                                  spids: [33280]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:age)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Number "$3"))}
                                      spids: [33286]
                                    )
                                  ]
                                  spids: [33286]
                                )
                              ]
                              spids: [33270 33271 33292 -1]
                            )
                          ]
                          spids: [33075 33079 33295]
                        )
                        (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: [33310 33361 33363 -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: [33366 33367 33389 -1]
                            )
                          ]
                          spids: [33303 33307 33392]
                        )
                        (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: [33403 33454 33456 -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: [33459 33460 33482 -1]
                            )
                          ]
                          spids: [33396 33400 33485]
                        )
                        (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: [33496 33547 33549 -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: [33552 33553 33575 -1]
                            )
                          ]
                          spids: [33489 33493 33578]
                        )
                        (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 33597]
                            )
                          ]
                          spids: [-1 33622]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:major)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [33630]
                            )
                          ]
                          spids: [33630]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:versuffix)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [33633]
                            )
                          ]
                          spids: [33633]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:verstring)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [33636]
                            )
                          ]
                          spids: [33636]
                        )
                        (Case
                          to_match: {($ VSub_Name "$version_type")}
                          arms: [
                            (case_arm
                              pat_list: [{(none)}]
                              spids: [33646 33647 33649 -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: [33674]
                                    )
                                  ]
                                  spids: [33674]
                                )
                                (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: [33679]
                                    )
                                  ]
                                  spids: [33679]
                                )
                                (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: [33702]
                                    )
                                  ]
                                  spids: [33702]
                                )
                                (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: [33706]
                                    )
                                  ]
                                  spids: [33706]
                                )
                                (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: [33730]
                                    )
                                  ]
                                  spids: [33730]
                                )
                              ]
                              spids: [33653 33654 33741 -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: [33749]
                                    )
                                  ]
                                  spids: [33749]
                                )
                                (Sentence
                                  child: 
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ (.) ($ VSub_Name "$current") (.) 
                                                ($ VSub_Name "$revision")
                                              )
                                            }
                                          spids: [33756]
                                        )
                                      ]
                                      spids: [33756]
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              spids: [33745 33746 33766 -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: [33774]
                                    )
                                  ]
                                  spids: [33774]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name "$current"))}
                                      spids: [33781]
                                    )
                                  ]
                                  spids: [33781]
                                )
                              ]
                              spids: [33770 33771 33788 -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 33816]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_arith)} {($ VSub_Name "$current")} {(-)} 
                                      {($ VSub_Name "$age")} {(Lit_Other "+")} {(1)}
                                    )
                                  ]
                                  spids: [33828 33844]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name "$func_arith_result")}
                                      spids: [33847]
                                    )
                                  ]
                                  spids: [33847]
                                )
                                (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: [33862]
                                            )
                                          ]
                                          spids: [33862]
                                        )
                                      ]
                                      spids: [33859 33860 33865 -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: [33871]
                                            )
                                          ]
                                          spids: [33871]
                                        )
                                      ]
                                      spids: [33868 33869 33874 -1]
                                    )
                                  ]
                                  spids: [33852 33856 33877]
                                )
                                (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: [33880]
                                    )
                                  ]
                                  spids: [33880]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name "$revision")}
                                      spids: [33894]
                                    )
                                  ]
                                  spids: [33894]
                                )
                                (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: [33923]
                                            )
                                          ]
                                          spids: [33923]
                                        )
                                        (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: [33936]
                                            )
                                          ]
                                          spids: [33936]
                                        )
                                        (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: [33940]
                                            )
                                          ]
                                          spids: [33940]
                                        )
                                      ]
                                      spids: [33911 33951]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name "$major")}
                                      spids: [33959]
                                    )
                                  ]
                                  spids: [33959]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$major") (.) ($ VSub_Name "$revision"))}
                                      spids: [33964]
                                    )
                                  ]
                                  spids: [33964]
                                )
                              ]
                              spids: [33792 33797 33972 -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: [33989]
                                    )
                                  ]
                                  spids: [33989]
                                )
                                (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: [33994]
                                    )
                                  ]
                                  spids: [33994]
                                )
                              ]
                              spids: [33976 33977 34004 -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: [34021]
                                    )
                                  ]
                                  spids: [34021]
                                )
                                (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: [34026]
                                    )
                                  ]
                                  spids: [34026]
                                )
                                (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: [34037]
                                    )
                                  ]
                                  spids: [34037]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name "$age")}
                                      spids: [34052]
                                    )
                                  ]
                                  spids: [34052]
                                )
                                (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: [34081]
                                            )
                                          ]
                                          spids: [34081]
                                        )
                                        (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: [34094]
                                            )
                                          ]
                                          spids: [34094]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$verstring") (":") 
                                                    (${ VSub_Name iface) (.0)
                                                  )
                                                }
                                              spids: [34098]
                                            )
                                          ]
                                          spids: [34098]
                                        )
                                      ]
                                      spids: [34069 34109]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name "$verstring") (":") (${ VSub_Name current) 
                                            (.0)
                                          )
                                        }
                                      spids: [34117]
                                    )
                                  ]
                                  spids: [34117]
                                )
                              ]
                              spids: [34008 34009 34128 -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: [34136]
                                    )
                                  ]
                                  spids: [34136]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (.) ($ VSub_Name "$current"))}
                                      spids: [34143]
                                    )
                                  ]
                                  spids: [34143]
                                )
                              ]
                              spids: [34132 34133 34150 -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: [34158]
                                    )
                                  ]
                                  spids: [34158]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ (.) ($ VSub_Name "$current") (.) ($ VSub_Name "$revision"))
                                        }
                                      spids: [34165]
                                    )
                                  ]
                                  spids: [34165]
                                )
                              ]
                              spids: [34154 34155 34174 -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: [34199]
                                    )
                                  ]
                                  spids: [34199]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(DQ (-) ($ VSub_Name "$major"))}
                                      spids: [34203]
                                    )
                                  ]
                                  spids: [34203]
                                )
                              ]
                              spids: [34178 34179 34210 -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: [34214 34215 34228 -1]
                            )
                          ]
                          spids: [33639 33643 34231]
                        )
                        (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: [34263]
                                    )
                                  ]
                                  spids: [34263]
                                )
                                (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: [34285]
                                            )
                                          ]
                                          spids: [34285]
                                        )
                                      ]
                                      spids: [34273 34274 34288 -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: [34295]
                                            )
                                          ]
                                          spids: [34295]
                                        )
                                      ]
                                      spids: [34291 34292 34301 -1]
                                    )
                                  ]
                                  spids: [34266 34270 34304]
                                )
                                (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: [34323]
                                            )
                                          ]
                                          spids: [34323]
                                        )
                                      ]
                                      spids: [-1 34320]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: {(DQ (.0.0))}
                                          spids: [34329]
                                        )
                                      ]
                                      spids: [34329]
                                    )
                                  ]
                                  spids: [34326 34335]
                                )
                              ]
                              spids: [-1 34260]
                            )
                          ]
                          spids: [-1 34338]
                        )
                        (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: [34374]
                                    )
                                  ]
                                  spids: [34374]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [34377]
                                    )
                                  ]
                                  spids: [34377]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: {(DQ )}
                                      spids: [34380]
                                    )
                                  ]
                                  spids: [34380]
                                )
                              ]
                              spids: [-1 34371]
                            )
                          ]
                          spids: [-1 34385]
                        )
                        (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: [34434]
                                            )
                                          ]
                                          spids: [34434]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:build_old_libs)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [34438]
                                            )
                                          ]
                                          spids: [34438]
                                        )
                                      ]
                                      spids: [-1 34422]
                                    )
                                  ]
                                  spids: [-1 34442]
                                )
                              ]
                              spids: [-1 34406]
                            )
                          ]
                          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: [34452]
                                )
                              ]
                              spids: [34452]
                            )
                          ]
                          spids: [34445 34458]
                        )
                      ]
                      spids: [32997 34462]
                    )
                    (C {(func_generate_dlsyms)} {(DQ ($ VSub_Name "$libname"))} 
                      {(DQ ($ VSub_Name "$libname"))} {(DQ (yes))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:libobjs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$libobjs") (" ") ($ VSub_Name "$symfileobj"))}
                          spids: [34481]
                        )
                      ]
                      spids: [34481]
                    )
                    (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: [34504]
                            )
                          ]
                          spids: [34504]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$mode"))} {(KW_Bang "!") (Lit_Other "=")} 
                                  {(relink)}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:removelist)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [34533]
                                )
                              ]
                              spids: [34533]
                            )
                            (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: [34537 34544]
                                      )
                                    }
                                  spids: [34536]
                                )
                              ]
                              spids: [34536]
                            )
                            (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: [34566 34574 34577 -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: [34645]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [34648]
                                                                    )
                                                                  ]
                                                                )
                                                              ]
                                                              negated: False
                                                            )
                                                          ]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [-1 34652]
                                                        )
                                                      ]
                                                      spids: [-1 34658]
                                                    )
                                                  ]
                                                  spids: [-1 34624]
                                                )
                                              ]
                                              spids: [-1 34661]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:removelist)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$removelist") (" ") 
                                                        ($ VSub_Name "$p")
                                                      )
                                                    }
                                                  spids: [34664]
                                                )
                                              ]
                                              spids: [34664]
                                            )
                                          ]
                                          spids: [34580 34604 34672 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          spids: [34675 34676 34678 -1]
                                        )
                                      ]
                                      spids: [34559 34563 34681]
                                    )
                                  ]
                                  spids: [34556 34684]
                                )
                              spids: [34552 34554]
                            )
                            (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 34522]
                        )
                      ]
                      spids: [-1 34711]
                    )
                    (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: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldlibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$oldlibs") (" ") ($ VSub_Name "$output_objdir") 
                                        (/) ($ VSub_Name "$libname") (.) ($ VSub_Name "$libext")
                                      )
                                    }
                                  spids: [34749]
                                )
                              ]
                              spids: [34749]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: 
                                    {(DQ ($ VSub_Name "$objs") (" ")) 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (X) ($ VSub_Name "$libobjs"))}
                                                  )
                                                  (C {($ VSub_Name "$SP2NL")})
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {(SQ <"/\\.">) (${ VSub_Name libext) (SQ <"$/d">)} {(-e)} {(DQ ($ VSub_Name "$lo2o"))}
                                                  )
                                                  (C {($ VSub_Name "$NL2SP")})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [34771 34808]
                                      )
                                    }
                                  spids: [34766]
                                )
                              ]
                              spids: [34766]
                            )
                          ]
                          spids: [-1 34746]
                        )
                      ]
                      spids: [-1 34811]
                    )
                    (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: [34858]
                                )
                              ]
                              spids: [34858]
                            )
                            (ForEach
                              iter_name: libdir
                              iter_words: [{($ VSub_Name "$xrpath")}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:temp_xrpath)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$temp_xrpath") (" -R") 
                                                ($ VSub_Name "$libdir")
                                              )
                                            }
                                          spids: [34873]
                                        )
                                      ]
                                      spids: [34873]
                                    )
                                    (Case
                                      to_match: {(DQ ($ VSub_Name "$finalize_rpath") (" "))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$libdir") (" ")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [34891 34898 34900 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$finalize_rpath") (" ") 
                                                        ($ VSub_Name "$libdir")
                                                      )
                                                    }
                                                  spids: [34906]
                                                )
                                              ]
                                              spids: [34906]
                                            )
                                          ]
                                          spids: [34903 34904 34913 -1]
                                        )
                                      ]
                                      spids: [34881 34888 34916]
                                    )
                                  ]
                                  spids: [34870 34919]
                                )
                              spids: [34866 34868]
                            )
                            (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: [34951]
                                        )
                                      ]
                                      spids: [34951]
                                    )
                                  ]
                                  spids: [-1 34948]
                                )
                              ]
                              spids: [-1 34959]
                            )
                          ]
                          spids: [-1 34851]
                        )
                      ]
                      spids: [-1 34962]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$dlfiles"))}
                          spids: [34970]
                        )
                      ]
                      spids: [34970]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlfiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [34976]
                        )
                      ]
                      spids: [34976]
                    )
                    (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: [35004 35011 35013 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$dlfiles") (" ") ($ VSub_Name "$lib"))
                                            }
                                          spids: [35019]
                                        )
                                      ]
                                      spids: [35019]
                                    )
                                  ]
                                  spids: [35016 35017 35026 -1]
                                )
                              ]
                              spids: [34991 35001 35029]
                            )
                          ]
                          spids: [34988 35032]
                        )
                      spids: [34984 34986]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlprefiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$dlprefiles"))}
                          spids: [35040]
                        )
                      ]
                      spids: [35040]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [35046]
                        )
                      ]
                      spids: [35046]
                    )
                    (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: [35071 35078 35080 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlprefiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$dlprefiles") (" ") 
                                                ($ VSub_Name "$lib")
                                              )
                                            }
                                          spids: [35086]
                                        )
                                      ]
                                      spids: [35086]
                                    )
                                  ]
                                  spids: [35083 35084 35093 -1]
                                )
                              ]
                              spids: [35061 35068 35096]
                            )
                          ]
                          spids: [35058 35099]
                        )
                      spids: [35054 35056]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$build_libtool_libs"))} {(Lit_Other "=")} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$rpath"))})
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name "$host")}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-cygwin) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-mingw) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-pw32) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-os2) (Lit_Other "*")}
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-beos) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-cegcc) (Lit_Other "*")}
                                          ]
                                          spids: [35140 35183 35190 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-rhapsody) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-darwin1.) 
                                              (Lit_Other "[") (012) (Lit_Other "]")
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplibs") 
                                                        (" System.ltframework")
                                                      )
                                                    }
                                                  spids: [35215]
                                                )
                                              ]
                                              spids: [35215]
                                            )
                                          ]
                                          spids: [35193 35208 35222 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-netbsd) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [35225 35230 35237 -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: [35240 35261 35268 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sco3.2v5) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sco5v6) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [35271 35284 35291 -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: [35294 35323 35330 -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: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: {(DQ ($ VSub_Name "$deplibs") (" -lc"))}
                                                          spids: [35359]
                                                        )
                                                      ]
                                                      spids: [35359]
                                                    )
                                                  ]
                                                  spids: [-1 35356]
                                                )
                                              ]
                                              spids: [-1 35366]
                                            )
                                          ]
                                          spids: [35333 35334 35369 -1]
                                        )
                                      ]
                                      spids: [35133 35137 35372]
                                    )
                                  ]
                                  spids: [-1 35130]
                                )
                              ]
                              spids: [-1 35375]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$name")}
                                  spids: [35383]
                                )
                              ]
                              spids: [35383]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$libname")}
                                  spids: [35387]
                                )
                              ]
                              spids: [35387]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$release")}
                                  spids: [35391]
                                )
                              ]
                              spids: [35391]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$versuffix")}
                                  spids: [35395]
                                )
                              ]
                              spids: [35395]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$major")}
                                  spids: [35399]
                                )
                              ]
                              spids: [35399]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [35415]
                                )
                              ]
                              spids: [35415]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [35420]
                                )
                              ]
                              spids: [35420]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [35425]
                                )
                              ]
                              spids: [35425]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [35430]
                                )
                              ]
                              spids: [35430]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:droppeddeps)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [35433]
                                )
                              ]
                              spids: [35433]
                            )
                            (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: [35468]
                                        )
                                      ]
                                      spids: [35468]
                                    )
                                  ]
                                  spids: [35444 35445 35472 -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: [35506]
                                        )
                                        (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: [35510]
                                        )
                                      ]
                                    )
                                    (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: [35543 35547]
                                                      )
                                                    }
                                                  spids: [35542]
                                                )
                                              ]
                                              spids: [35542]
                                            )
                                            (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: [35586]
                                                                )
                                                              ]
                                                              spids: [35586]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} 
                                                                          {
                                                                            (DQ (X) 
                                                                              ($ VSub_Name 
"$allow_libtool_libs_with_static_runtimes"
                                                                              )
                                                                            )
                                                                          } {(Lit_Other "=")} {(DQ (Xyes))}
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {
                                                                          (DQ (" ") 
                                                                            ($ VSub_Name "$predeps") (" ") ($ VSub_Name "$postdeps") (" ")
                                                                          )
                                                                        }
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other "*") 
                                                                              (DQ (" ") 
                                                                                ($ VSub_Name "$i") (" ")
                                                                              ) (Lit_Other "*")
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
newdeplibs
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$newdeplibs"
                                                                                        ) (" ") ($ VSub_Name "$i")
                                                                                      )
                                                                                    }
                                                                                  spids: [35633]
                                                                                )
                                                                              ]
                                                                              spids: [35633]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: i
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(DQ )}
                                                                                  spids: [35641]
                                                                                )
                                                                              ]
                                                                              spids: [35641]
                                                                            )
                                                                          ]
                                                                          spids: [35623 35630 35646 -1]
                                                                        )
                                                                      ]
                                                                      spids: [35610 35620 35649]
                                                                    )
                                                                  ]
                                                                  spids: [-1 35607]
                                                                )
                                                              ]
                                                              spids: [-1 35652]
                                                            )
                                                            (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: [35671 35682]
                                                                              )
                                                                            }
                                                                          spids: [35670]
                                                                        )
                                                                      ]
                                                                      spids: [35670]
                                                                    )
                                                                    (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: [35686 35697]
                                                                              )
                                                                            }
                                                                          spids: [35685]
                                                                        )
                                                                      ]
                                                                      spids: [35685]
                                                                    )
                                                                    (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: [35710]
                                                                        )
                                                                      ]
                                                                      spids: [35710]
                                                                    )
                                                                    (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: [
35718
35731
                                                                                      ]
                                                                                    )
                                                                                  } {(-ne)} {(0)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ";">
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
newdeplibs
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$newdeplibs"
                                                                                        ) (" ") ($ VSub_Name "$i")
                                                                                      )
                                                                                    }
                                                                                  spids: [35742]
                                                                                )
                                                                              ]
                                                                              spids: [35742]
                                                                            )
                                                                          ]
                                                                          spids: [-1 35739]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: droppeddeps
                                                                                )
                                                                              op: Equal
                                                                              rhs: {(yes)}
                                                                              spids: [35753]
                                                                            )
                                                                          ]
                                                                          spids: [35753]
                                                                        )
                                                                        (C {($ VSub_Name "$ECHO")})
                                                                        (C {($ VSub_Name "$ECHO")} 
                                                                          {
                                                                            (DQ 
                                                                              (
"*** Warning: dynamic linker does not accept needed library "
                                                                              ) ($ VSub_Name "$i") (.)
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {($ VSub_Name "$ECHO")} 
                                                                          {
                                                                            (DQ 
                                                                              (
"*** I have the capability to make that library automatically link in when"
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {($ VSub_Name "$ECHO")} 
                                                                          {
                                                                            (DQ 
                                                                              (
"*** you link to this library.  But I can only do this if you have a"
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {($ VSub_Name "$ECHO")} 
                                                                          {
                                                                            (DQ 
                                                                              (
"*** shared version of the library, which I believe you do not have"
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {($ VSub_Name "$ECHO")} 
                                                                          {
                                                                            (DQ 
                                                                              (
"*** because a test_compile did reveal that the linker did not use it for"
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (C {($ VSub_Name "$ECHO")} 
                                                                          {
                                                                            (DQ 
                                                                              (
"*** its dynamic dependency list that programs get resolved with at runtime."
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      ]
                                                                      spids: [35750 35804]
                                                                    )
                                                                  ]
                                                                  spids: [-1 35667]
                                                                )
                                                              ]
                                                              spids: [-1 35807]
                                                            )
                                                          ]
                                                          spids: [35569 35571 35810 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:newdeplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$newdeplibs") 
                                                                        (" ") ($ VSub_Name "$i")
                                                                      )
                                                                    }
                                                                  spids: [35817]
                                                                )
                                                              ]
                                                              spids: [35817]
                                                            )
                                                          ]
                                                          spids: [35813 35814 35825 -1]
                                                        )
                                                      ]
                                                      spids: [35562 35566 35828]
                                                    )
                                                  ]
                                                  spids: [35559 35831]
                                                )
                                              spids: [35555 35557]
                                            )
                                          ]
                                          spids: [-1 35539]
                                        )
                                      ]
                                      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: [35881]
                                                            )
                                                          ]
                                                          spids: [35881]
                                                        )
                                                        (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: [35913 35917]
                                                                          )
                                                                        }
                                                                      spids: [35912]
                                                                    )
                                                                  ]
                                                                  spids: [35912]
                                                                )
                                                                (If
                                                                  arms: [
                                                                    (if_arm
                                                                      cond: [
                                                                        (Sentence
                                                                          child: 
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ (X) 
                                                                                  ($ VSub_Name 
"$allow_libtool_libs_with_static_runtimes"
                                                                                  )
                                                                                )
                                                                              } {(Lit_Other "=")} {(DQ (Xyes))}
                                                                            )
                                                                          terminator: <Op_Semi ";">
                                                                        )
                                                                      ]
                                                                      action: [
                                                                        (Case
                                                                          to_match: 
                                                                            {
                                                                              (DQ (" ") 
                                                                                ($ VSub_Name 
"$predeps"
                                                                                ) (" ") ($ VSub_Name "$postdeps") (" ")
                                                                              )
                                                                            }
                                                                          arms: [
                                                                            (case_arm
                                                                              pat_list: [
                                                                                {(Lit_Other "*") 
                                                                                  (DQ (" ") 
                                                                                    ($ VSub_Name "$i") (" ")
                                                                                  ) (Lit_Other "*")
                                                                                }
                                                                              ]
                                                                              action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
newdeplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name "$newdeplibs"
                                                                                            ) (" ") ($ VSub_Name "$i")
                                                                                          )
                                                                                        }
                                                                                      spids: [35963]
                                                                                    )
                                                                                  ]
                                                                                  spids: [35963]
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: i
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: {(DQ )}
                                                                                      spids: [35971]
                                                                                    )
                                                                                  ]
                                                                                  spids: [35971]
                                                                                )
                                                                              ]
                                                                              spids: [
35953
35960
35976
-1
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [35940 35950 35979]
                                                                        )
                                                                      ]
                                                                      spids: [-1 35937]
                                                                    )
                                                                  ]
                                                                  spids: [-1 35982]
                                                                )
                                                                (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: [
36001
36012
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [36000]
                                                                            )
                                                                          ]
                                                                          spids: [36000]
                                                                        )
                                                                        (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: [
36016
36027
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [36015]
                                                                            )
                                                                          ]
                                                                          spids: [36015]
                                                                        )
                                                                        (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: [36040]
                                                                            )
                                                                          ]
                                                                          spids: [36040]
                                                                        )
                                                                        (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: [
36048
36061
                                                                                          ]
                                                                                        )
                                                                                      } {(-ne)} {(0)}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ";">
                                                                                )
                                                                              ]
                                                                              action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
newdeplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name "$newdeplibs"
                                                                                            ) (" ") ($ VSub_Name "$i")
                                                                                          )
                                                                                        }
                                                                                      spids: [36072]
                                                                                    )
                                                                                  ]
                                                                                  spids: [36072]
                                                                                )
                                                                              ]
                                                                              spids: [-1 36069]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
droppeddeps
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(yes)}
                                                                                  spids: [36083]
                                                                                )
                                                                              ]
                                                                              spids: [36083]
                                                                            )
                                                                            (C {($ VSub_Name "$ECHO")})
                                                                            (C {($ VSub_Name "$ECHO")} 
                                                                              {
                                                                                (DQ 
                                                                                  (
"*** Warning: dynamic linker does not accept needed library "
                                                                                  ) ($ VSub_Name "$i") (.)
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {($ VSub_Name "$ECHO")} 
                                                                              {
                                                                                (DQ 
                                                                                  (
"*** I have the capability to make that library automatically link in when"
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {($ VSub_Name "$ECHO")} 
                                                                              {
                                                                                (DQ 
                                                                                  (
"*** you link to this library.  But I can only do this if you have a"
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {($ VSub_Name "$ECHO")} 
                                                                              {
                                                                                (DQ 
                                                                                  (
"*** shared version of the library, which you do not appear to have"
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {($ VSub_Name "$ECHO")} 
                                                                              {
                                                                                (DQ 
                                                                                  (
"*** because a test_compile did reveal that the linker did not use this one"
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {($ VSub_Name "$ECHO")} 
                                                                              {
                                                                                (DQ 
                                                                                  (
"*** as a dynamic dependency that programs can get resolved with at runtime."
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [36080 36134]
                                                                        )
                                                                      ]
                                                                      spids: [-1 35997]
                                                                    )
                                                                  ]
                                                                  spids: [-1 36137]
                                                                )
                                                              ]
                                                              spids: [-1 35909]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:droppeddeps)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [36143]
                                                                )
                                                              ]
                                                              spids: [36143]
                                                            )
                                                            (C {($ VSub_Name "$ECHO")})
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ ("*** Warning!  Library ") 
                                                                  ($ VSub_Name "$i") (" is needed by this library but I was not able to")
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** make it link in!  You will probably need to install it or some"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** library that it depends on before this library will be fully"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** functional.  Installing it before continuing would be even better."
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [36140 36180]
                                                        )
                                                      ]
                                                      spids: [35864 35866 36183 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:newdeplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name "$newdeplibs") 
                                                                    (" ") ($ VSub_Name "$i")
                                                                  )
                                                                }
                                                              spids: [36190]
                                                            )
                                                          ]
                                                          spids: [36190]
                                                        )
                                                      ]
                                                      spids: [36186 36187 36198 -1]
                                                    )
                                                  ]
                                                  spids: [35857 35861 36201]
                                                )
                                              ]
                                              spids: [35854 36204]
                                            )
                                          spids: [35850 35852]
                                        )
                                      ]
                                      spids: [35834 36207]
                                    )
                                  ]
                                  spids: [35475 35476 36210 -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: [36229 36245]
                                              )
                                            }
                                          spids: [36228]
                                        )
                                      ]
                                      spids: [36228]
                                    )
                                    (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: [36284]
                                                        )
                                                      ]
                                                      spids: [36284]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ (X) 
                                                                      ($ VSub_Name 
"$allow_libtool_libs_with_static_runtimes"
                                                                      )
                                                                    )
                                                                  } {(Lit_Other "=")} {(DQ (Xyes))}
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (" ") ($ VSub_Name "$predeps") 
                                                                    (" ") ($ VSub_Name "$postdeps") (" ")
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") 
                                                                      (DQ (" ") 
                                                                        ($ VSub_Name "$a_deplib") (" ")
                                                                      ) (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: newdeplibs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
"$newdeplibs"
                                                                                ) (" ") ($ VSub_Name "$a_deplib")
                                                                              )
                                                                            }
                                                                          spids: [36331]
                                                                        )
                                                                      ]
                                                                      spids: [36331]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: a_deplib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(DQ )}
                                                                          spids: [36339]
                                                                        )
                                                                      ]
                                                                      spids: [36339]
                                                                    )
                                                                  ]
                                                                  spids: [36321 36328 36344 -1]
                                                                )
                                                              ]
                                                              spids: [36308 36318 36347]
                                                            )
                                                          ]
                                                          spids: [-1 36305]
                                                        )
                                                      ]
                                                      spids: [-1 36350]
                                                    )
                                                    (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: [36369 36380]
                                                                      )
                                                                    }
                                                                  spids: [36368]
                                                                )
                                                              ]
                                                              spids: [36368]
                                                            )
                                                            (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: [
36411
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [36400 36413]
                                                                              )
                                                                            }
                                                                          spids: [36399]
                                                                        )
                                                                      ]
                                                                      spids: [36399]
                                                                    )
                                                                    (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: [
36442
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name "$GREP"
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (
" -> "
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
-1
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
36454
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
";"
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 36458]
                                                                                )
                                                                              ]
                                                                              spids: [-1 36464]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
"$potent_lib"
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [36487]
                                                                                )
                                                                              ]
                                                                              spids: [36487]
                                                                            )
                                                                            (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: [
36503
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  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: [
36511
36527
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
36510
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [36510]
                                                                                    )
                                                                                    (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: [
36556
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
36556
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
36537
36554
36560
-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 (X) ($ VSub_Name "$potlib"))}
                                                                                                                  )
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      ($ 
VSub_Name "$Xsed"
                                                                                                                      )
                                                                                                                    } {(-e)} {(SQ <"s,[^/]*$,,">)}
                                                                                                                  )
                                                                                                                ]
                                                                                                                negated: 
False
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick "`"
                                                                                                          >
                                                                                                        spids: [
36567
36584
                                                                                                        ]
                                                                                                      ) (DQ ($ VSub_Name "$potliblink"))
                                                                                                    }
                                                                                                  spids: [
36566
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
36566
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
36563
36564
36588
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
36530
36534
36591
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [36507 36594]
                                                                                )
                                                                            )
                                                                            (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: [
36608
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (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: [
36629
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
";"
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
newdeplibs
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name "$newdeplibs"
                                                                                                ) (" ") ($ VSub_Name "$a_deplib")
                                                                                              )
                                                                                            }
                                                                                          spids: [
36637
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [36637]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
a_deplib
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(DQ )}
                                                                                          spids: [
36645
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [36645]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 36634]
                                                                                )
                                                                              ]
                                                                              spids: [-1 36655]
                                                                            )
                                                                          ]
                                                                          spids: [36425 36658]
                                                                        )
                                                                      spids: [36421 36423]
                                                                    )
                                                                  ]
                                                                  spids: [36396 36661]
                                                                )
                                                              spids: [36388 36394]
                                                            )
                                                          ]
                                                          spids: [-1 36365]
                                                        )
                                                      ]
                                                      spids: [-1 36664]
                                                    )
                                                    (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: [36682]
                                                                )
                                                              ]
                                                              spids: [36682]
                                                            )
                                                            (C {($ VSub_Name "$ECHO")})
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** Warning: linker path does not have real file for library "
                                                                  ) ($ VSub_Name "$a_deplib") (.)
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** I have the capability to make that library automatically link in when"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** you link to this library.  But I can only do this if you have a"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** shared version of the library, which you do not appear to have"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** because I did check the linker path looking for a file starting"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name "$potlib")
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {($ VSub_Name "$ECHO")} 
                                                                      {
                                                                        (DQ ("*** with ") 
                                                                          ($ VSub_Name "$libname") (" but no candidates were found. (...for file magic test)")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [-1 36738]
                                                                )
                                                              ]
                                                              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: [36750 36770]
                                                            )
                                                          ]
                                                          spids: [-1 36679]
                                                        )
                                                      ]
                                                      spids: [-1 36773]
                                                    )
                                                  ]
                                                  spids: [36267 36269 36776 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newdeplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$newdeplibs") (" ") 
                                                                ($ VSub_Name "$a_deplib")
                                                              )
                                                            }
                                                          spids: [36787]
                                                        )
                                                      ]
                                                      spids: [36787]
                                                    )
                                                  ]
                                                  spids: [36779 36780 36795 -1]
                                                )
                                              ]
                                              spids: [36260 36264 36798]
                                            )
                                          ]
                                          spids: [36257 36801]
                                        )
                                      spids: [36253 36255]
                                    )
                                  ]
                                  spids: [36213 36215 36807 -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: [36826 36842]
                                              )
                                            }
                                          spids: [36825]
                                        )
                                      ]
                                      spids: [36825]
                                    )
                                    (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: [36881]
                                                        )
                                                      ]
                                                      spids: [36881]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} 
                                                                  {
                                                                    (DQ (X) 
                                                                      ($ VSub_Name 
"$allow_libtool_libs_with_static_runtimes"
                                                                      )
                                                                    )
                                                                  } {(Lit_Other "=")} {(DQ (Xyes))}
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (" ") ($ VSub_Name "$predeps") 
                                                                    (" ") ($ VSub_Name "$postdeps") (" ")
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") 
                                                                      (DQ (" ") 
                                                                        ($ VSub_Name "$a_deplib") (" ")
                                                                      ) (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: newdeplibs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
"$newdeplibs"
                                                                                ) (" ") ($ VSub_Name "$a_deplib")
                                                                              )
                                                                            }
                                                                          spids: [36928]
                                                                        )
                                                                      ]
                                                                      spids: [36928]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: a_deplib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(DQ )}
                                                                          spids: [36936]
                                                                        )
                                                                      ]
                                                                      spids: [36936]
                                                                    )
                                                                  ]
                                                                  spids: [36918 36925 36941 -1]
                                                                )
                                                              ]
                                                              spids: [36905 36915 36944]
                                                            )
                                                          ]
                                                          spids: [-1 36902]
                                                        )
                                                      ]
                                                      spids: [-1 36947]
                                                    )
                                                    (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: [36966 36977]
                                                                      )
                                                                    }
                                                                  spids: [36965]
                                                                )
                                                              ]
                                                              spids: [36965]
                                                            )
                                                            (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: [
37008
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [36997 37010]
                                                                              )
                                                                            }
                                                                          spids: [36996]
                                                                        )
                                                                      ]
                                                                      spids: [36996]
                                                                    )
                                                                    (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: [37025]
                                                                                )
                                                                              ]
                                                                              spids: [37025]
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
eval
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (EscapedLiteralPart
                                                                                                      token: 
                                                                                                        <
Lit_EscapedChar "\\$"
                                                                                                        >
                                                                                                    ) ("ECHO ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (X) ($ VSub_Name "$potent_lib") 
                                                                                                    (EscapedLiteralPart
                                                                                                      token: 
                                                                                                        <
Lit_EscapedChar "\\\""
                                                                                                        >
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
37047
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name "$Xsed"
                                                                                                )
                                                                                              } {(-e)} {(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: [
37068
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
";"
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
newdeplibs
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name "$newdeplibs"
                                                                                                ) (" ") ($ VSub_Name "$a_deplib")
                                                                                              )
                                                                                            }
                                                                                          spids: [
37076
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [37076]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
a_deplib
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(DQ )}
                                                                                          spids: [
37084
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [37084]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 37073]
                                                                                )
                                                                              ]
                                                                              spids: [-1 37094]
                                                                            )
                                                                          ]
                                                                          spids: [37022 37097]
                                                                        )
                                                                      spids: [37018 37020]
                                                                    )
                                                                  ]
                                                                  spids: [36993 37100]
                                                                )
                                                              spids: [36985 36991]
                                                            )
                                                          ]
                                                          spids: [-1 36962]
                                                        )
                                                      ]
                                                      spids: [-1 37103]
                                                    )
                                                    (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: [37121]
                                                                )
                                                              ]
                                                              spids: [37121]
                                                            )
                                                            (C {($ VSub_Name "$ECHO")})
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** Warning: linker path does not have real file for library "
                                                                  ) ($ VSub_Name "$a_deplib") (.)
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** I have the capability to make that library automatically link in when"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** you link to this library.  But I can only do this if you have a"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** shared version of the library, which you do not appear to have"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {($ VSub_Name "$ECHO")} 
                                                              {
                                                                (DQ 
                                                                  (
"*** because I did check the linker path looking for a file starting"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name "$potlib")
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ";">
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {($ VSub_Name "$ECHO")} 
                                                                      {
                                                                        (DQ ("*** with ") 
                                                                          ($ VSub_Name "$libname") (" but no candidates were found. (...for regex pattern test)")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [-1 37177]
                                                                )
                                                              ]
                                                              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: [37189 37209]
                                                            )
                                                          ]
                                                          spids: [-1 37118]
                                                        )
                                                      ]
                                                      spids: [-1 37212]
                                                    )
                                                  ]
                                                  spids: [36864 36866 37215 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newdeplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$newdeplibs") (" ") 
                                                                ($ VSub_Name "$a_deplib")
                                                              )
                                                            }
                                                          spids: [37226]
                                                        )
                                                      ]
                                                      spids: [37226]
                                                    )
                                                  ]
                                                  spids: [37218 37219 37234 -1]
                                                )
                                              ]
                                              spids: [36857 36861 37237]
                                            )
                                          ]
                                          spids: [36854 37240]
                                        )
                                      spids: [36850 36852]
                                    )
                                  ]
                                  spids: [36810 36812 37246 -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: [37261]
                                        )
                                      ]
                                      spids: [37261]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {(DQ ("X ") ($ VSub_Name "$deplibs"))}
                                                          )
                                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                            {(SQ <"s/ -lc$//">)} {(-e)} {(SQ <"s/ -[LR][^ ]*//g">)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [37267 37292]
                                              )
                                            }
                                          spids: [37266]
                                        )
                                      ]
                                      spids: [37266]
                                    )
                                    (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 ("X ") 
                                                                                ($ VSub_Name 
"$tmp_deplibs"
                                                                                )
                                                                              )
                                                                            }
                                                                          )
                                                                          (C {($ VSub_Name "$Xsed")} 
                                                                            {(-e)} {(DQ ("s,") ($ VSub_Name "$i") (",,"))}
                                                                          )
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick "`">
                                                                spids: [37335 37354]
                                                              )
                                                            }
                                                          spids: [37334]
                                                        )
                                                      ]
                                                      spids: [37334]
                                                    )
                                                  ]
                                                  spids: [37327 37357]
                                                )
                                              spids: [37320 37325]
                                            )
                                          ]
                                          spids: [-1 37312]
                                        )
                                      ]
                                      spids: [-1 37360]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (Pipeline
                                                  children: [
                                                    (C {($ VSub_Name "$ECHO")} 
                                                      {(DQ ("X ") ($ VSub_Name "$tmp_deplibs"))}
                                                    )
                                                    (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                      {(SQ <"s/[\t ]//g">)}
                                                    )
                                                    (SimpleCommand
                                                      words: [{($ VSub_Name "$GREP")} {(.)}]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {(/dev/null)}
                                                          spids: [37389]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: False
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {($ VSub_Name "$ECHO")})
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {
                                                            (DQ (X) 
                                                              ($ VSub_Name "$deplibs_check_method")
                                                            )
                                                          } {(Lit_Other "=")} {(DQ (Xnone))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {($ VSub_Name "$ECHO")} 
                                                      {
                                                        (DQ 
                                                          (
"*** Warning: inter-library dependencies are not supported in this platform."
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 37415]
                                                )
                                              ]
                                              else_action: [
                                                (C {($ VSub_Name "$ECHO")} 
                                                  {
                                                    (DQ 
                                                      (
"*** Warning: inter-library dependencies are not known to be supported."
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [37425 37435]
                                            )
                                            (C {($ VSub_Name "$ECHO")} 
                                              {
                                                (DQ 
                                                  (
"*** All declared inter-library dependencies are being dropped."
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:droppeddeps)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [37445]
                                                )
                                              ]
                                              spids: [37445]
                                            )
                                          ]
                                          spids: [-1 37393]
                                        )
                                      ]
                                      spids: [-1 37449]
                                    )
                                  ]
                                  spids: [37249 37258 37452 -1]
                                )
                              ]
                              spids: [35437 35441 37455]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {($ VSub_Name "$versuffix_save")}
                                  spids: [37458]
                                )
                              ]
                              spids: [37458]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {($ VSub_Name "$major_save")}
                                  spids: [37462]
                                )
                              ]
                              spids: [37462]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {($ VSub_Name "$release_save")}
                                  spids: [37466]
                                )
                              ]
                              spids: [37466]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname)
                                  op: Equal
                                  rhs: {($ VSub_Name "$libname_save")}
                                  spids: [37470]
                                )
                              ]
                              spids: [37470]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name "$name_save")}
                                  spids: [37474]
                                )
                              ]
                              spids: [37474]
                            )
                            (Case
                              to_match: {($ VSub_Name "$host")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-rhapsody) (Lit_Other "*")}
                                    {(Lit_Other "*") (-) (Lit_Other "*") (-darwin1.) (Lit_Other "[") 
                                      (012) (Lit_Other "]")
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newdeplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {(DQ ("X ") ($ VSub_Name "$newdeplibs"))}
                                                          )
                                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                            {(SQ <"s/ -lc / System.ltframework /">)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [37509 37526]
                                              )
                                            }
                                          spids: [37508]
                                        )
                                      ]
                                      spids: [37508]
                                    )
                                  ]
                                  spids: [37486 37501 37529 -1]
                                )
                              ]
                              spids: [37479 37483 37532]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$droppeddeps"))} 
                                          {(Lit_Other "=")} {(yes)}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name "$module"))} 
                                                  {(Lit_Other "=")} {(yes)}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (C {($ VSub_Name "$ECHO")})
                                            (C {($ VSub_Name "$ECHO")} 
                                              {
                                                (DQ 
                                                  (
"*** Warning: libtool could not satisfy all declared inter-library"
                                                  )
                                                )
                                              }
                                            )
                                            (C {($ VSub_Name "$ECHO")} 
                                              {
                                                (DQ ("*** dependencies of module ") 
                                                  ($ VSub_Name "$libname") (".  Therefore, libtool will create")
                                                )
                                              }
                                            )
                                            (C {($ VSub_Name "$ECHO")} 
                                              {
                                                (DQ 
                                                  (
"*** a static module, that should work as long as the dlopening"
                                                  )
                                                )
                                              }
                                            )
                                            (C {($ VSub_Name "$ECHO")} 
                                              {
                                                (DQ 
                                                  (
"*** application is linked with the -dlopen flag."
                                                  )
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name "$global_symbol_pipe"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {($ VSub_Name "$ECHO")})
                                                    (C {($ VSub_Name "$ECHO")} 
                                                      {
                                                        (DQ 
                                                          (
"*** However, this would only work if libtool was able to extract symbol"
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name "$ECHO")} 
                                                      {
                                                        (DQ ("*** lists from a program, using ") 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar "\\`">
                                                          ) ("nm' or equivalent, but libtool could")
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name "$ECHO")} 
                                                      {
                                                        (DQ 
                                                          (
"*** not find such a program.  So, this module is probably useless."
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name "$ECHO")} 
                                                      {
                                                        (DQ ("*** ") 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar "\\`">
                                                          ) ("nm' from GNU binutils and a full rebuild may help.")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 37612]
                                                )
                                              ]
                                              spids: [-1 37650]
                                            )
                                            (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: [37669]
                                                        )
                                                      ]
                                                      spids: [37669]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(module)}
                                                          spids: [37679]
                                                        )
                                                      ]
                                                      spids: [37679]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_old_libs)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [37683]
                                                        )
                                                      ]
                                                      spids: [37683]
                                                    )
                                                  ]
                                                  spids: [-1 37666]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:build_libtool_libs)
                                                      op: Equal
                                                      rhs: {(no)}
                                                      spids: [37690]
                                                    )
                                                  ]
                                                  spids: [37690]
                                                )
                                              ]
                                              spids: [37687 37694]
                                            )
                                          ]
                                          spids: [-1 37565]
                                        )
                                      ]
                                      else_action: [
                                        (C {($ VSub_Name "$ECHO")} 
                                          {
                                            (DQ 
                                              (
"*** The inter-library dependencies that have been dropped here will be"
                                              )
                                            )
                                          }
                                        )
                                        (C {($ VSub_Name "$ECHO")} 
                                          {
                                            (DQ 
                                              (
"*** automatically added whenever a program is linked with this library"
                                              )
                                            )
                                          }
                                        )
                                        (C {($ VSub_Name "$ECHO")} 
                                          {(DQ ("*** or is declared to -dlopen it."))}
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(DQ ($ VSub_Name "$allow_undefined"))} 
                                                      {(Lit_Other "=")} {(no)}
                                                    )
                                                  terminator: <Op_Semi ";">
                                                )
                                              ]
                                              action: [
                                                (C {($ VSub_Name "$ECHO")})
                                                (C {($ VSub_Name "$ECHO")} 
                                                  {
                                                    (DQ 
                                                      (
"*** Since this library must not contain undefined symbols,"
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {($ VSub_Name "$ECHO")} 
                                                  {
                                                    (DQ 
                                                      (
"*** because either the platform does not support them or"
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {($ VSub_Name "$ECHO")} 
                                                  {
                                                    (DQ 
                                                      (
"*** it was explicitly requested with -no-undefined,"
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {($ VSub_Name "$ECHO")} 
                                                  {
                                                    (DQ 
                                                      (
"*** libtool will only create a static version of it."
                                                      )
                                                    )
                                                  }
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(test)} 
                                                              {(DQ ($ VSub_Name "$build_old_libs"))} {(Lit_Other "=")} {(no)}
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:oldlibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name "$output_objdir") 
                                                                    (/) ($ VSub_Name "$libname") (.) ($ VSub_Name "$libext")
                                                                  )
                                                                }
                                                              spids: [37785]
                                                            )
                                                          ]
                                                          spids: [37785]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(module)}
                                                              spids: [37795]
                                                            )
                                                          ]
                                                          spids: [37795]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_old_libs)
                                                              op: Equal
                                                              rhs: {(yes)}
                                                              spids: [37799]
                                                            )
                                                          ]
                                                          spids: [37799]
                                                        )
                                                      ]
                                                      spids: [-1 37782]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [37806]
                                                        )
                                                      ]
                                                      spids: [37806]
                                                    )
                                                  ]
                                                  spids: [37803 37810]
                                                )
                                              ]
                                              spids: [-1 37735]
                                            )
                                          ]
                                          spids: [-1 37813]
                                        )
                                      ]
                                      spids: [37697 37816]
                                    )
                                  ]
                                  spids: [-1 37549]
                                )
                              ]
                              spids: [-1 37819]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$newdeplibs")}
                                  spids: [37826]
                                )
                              ]
                              spids: [37826]
                            )
                          ]
                          spids: [-1 35116]
                        )
                      ]
                      spids: [-1 37830]
                    )
                    (Case
                      to_match: {($ VSub_Name "$host")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (-) (Lit_Other "*") (-darwin) (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ ("X ") ($ VSub_Name "$newdeplibs"))}
                                                  )
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [37853 37870]
                                      )
                                    }
                                  spids: [37852]
                                )
                              ]
                              spids: [37852]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:new_inherited_linker_flags)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {
                                                      (DQ ("X ") 
                                                        ($ VSub_Name "$new_inherited_linker_flags")
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [37874 37891]
                                      )
                                    }
                                  spids: [37873]
                                )
                              ]
                              spids: [37873]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ ("X ") ($ VSub_Name "$deplibs"))}
                                                  )
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [37895 37912]
                                      )
                                    }
                                  spids: [37894]
                                )
                              ]
                              spids: [37894]
                            )
                          ]
                          spids: [37844 37849 37915 -1]
                        )
                      ]
                      spids: [37837 37841 37918]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [37930]
                        )
                      ]
                      spids: [37930]
                    )
                    (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: [37956 37965 37967 -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: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:new_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$new_libs") (" -L") 
                                                        ($ VSub_Name "$path") (/) ($ VSub_Name "$objdir")
                                                      )
                                                    }
                                                  spids: [37997]
                                                )
                                              ]
                                              spids: [37997]
                                            )
                                          ]
                                          spids: [37985 37994 38006 -1]
                                        )
                                      ]
                                      spids: [37974 37982 38009]
                                    )
                                  ]
                                  spids: [37970 37971 38012 -1]
                                )
                              ]
                              spids: [37945 37953 38015]
                            )
                          ]
                          spids: [37942 38018]
                        )
                      spids: [37938 37940]
                    )
                    (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: [38056 38063 38065 -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 "$new_libs") (" ") 
                                                        ($ VSub_Name "$deplib")
                                                      )
                                                    }
                                                  spids: [38071]
                                                )
                                              ]
                                              spids: [38071]
                                            )
                                          ]
                                          spids: [38068 38069 38078 -1]
                                        )
                                      ]
                                      spids: [38045 38053 38081]
                                    )
                                  ]
                                  spids: [38040 38042 38084 -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 "$new_libs") (" ") 
                                                ($ VSub_Name "$deplib")
                                              )
                                            }
                                          spids: [38090]
                                        )
                                      ]
                                      spids: [38090]
                                    )
                                  ]
                                  spids: [38087 38088 38097 -1]
                                )
                              ]
                              spids: [38033 38037 38100]
                            )
                          ]
                          spids: [38030 38103]
                        )
                      spids: [38026 38028]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:deplibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$new_libs"))}
                          spids: [38106]
                        )
                      ]
                      spids: [38106]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:library_names)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [38117]
                        )
                      ]
                      spids: [38117]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [38120]
                        )
                      ]
                      spids: [38120]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlname)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [38123]
                        )
                      ]
                      spids: [38123]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$build_libtool_libs"))} {(Lit_Other "=")} 
                                  {(yes)}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$hardcode_into_libs"))} 
                                          {(Lit_Other "=")} {(yes)}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:hardcode_libdirs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [38167]
                                        )
                                      ]
                                      spids: [38167]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dep_rpath)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [38170]
                                        )
                                      ]
                                      spids: [38170]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$finalize_rpath"))}
                                          spids: [38173]
                                        )
                                      ]
                                      spids: [38173]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name "$mode"))} 
                                          {(KW_Bang "!") (Lit_Other "=")} {(relink)}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:rpath)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$compile_rpath") 
                                                    ($ VSub_Name "$rpath")
                                                  )
                                                }
                                              spids: [38192]
                                            )
                                          ]
                                          spids: [38192]
                                        )
                                      ]
                                      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: [
                                                            (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: [38253]
                                                                        )
                                                                      ]
                                                                      spids: [38253]
                                                                    )
                                                                  ]
                                                                  spids: [-1 38250]
                                                                )
                                                              ]
                                                              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: [38275 38282 38285 -1]
                                                                    )
                                                                    (case_arm
                                                                      pat_list: [{(Lit_Other "*")}]
                                                                      action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: 
hardcode_libdirs
                                                                                )
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
"$hardcode_libdirs"
                                                                                    ) ($ VSub_Name "$hardcode_libdir_separator") ($ VSub_Name "$libdir")
                                                                                  )
                                                                                }
                                                                              spids: [38292]
                                                                            )
                                                                          ]
                                                                          spids: [38292]
                                                                        )
                                                                      ]
                                                                      spids: [38288 38289 38300 -1]
                                                                    )
                                                                  ]
                                                                  spids: [38266 38272 38303]
                                                                )
                                                              ]
                                                              spids: [38259 38306]
                                                            )
                                                          ]
                                                          spids: [-1 38236]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(eval)} 
                                                          {(Lit_VarLike "flag=") 
                                                            (EscapedLiteralPart
                                                              token: <Lit_EscapedChar "\\\"">
                                                            ) ($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                          }
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:dep_rpath)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name "$dep_rpath") (" ") 
                                                                    ($ VSub_Name "$flag")
                                                                  )
                                                                }
                                                              spids: [38320]
                                                            )
                                                          ]
                                                          spids: [38320]
                                                        )
                                                      ]
                                                      spids: [38309 38328]
                                                    )
                                                  ]
                                                  spids: [-1 38222]
                                                )
                                                (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: [38355 38362 38364 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:perm_rpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$perm_rpath") 
                                                                        (" ") ($ VSub_Name "$libdir")
                                                                      )
                                                                    }
                                                                  spids: [38370]
                                                                )
                                                              ]
                                                              spids: [38370]
                                                            )
                                                          ]
                                                          spids: [38367 38368 38377 -1]
                                                        )
                                                      ]
                                                      spids: [38345 38352 38380]
                                                    )
                                                  ]
                                                  spids: [38331 38342]
                                                )
                                              ]
                                              spids: [-1 38383]
                                            )
                                          ]
                                          spids: [38208 38386]
                                        )
                                      spids: [38204 38206]
                                    )
                                    (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: [38418]
                                                )
                                              ]
                                              spids: [38418]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
"$hardcode_libdir_flag_spec_ld"
                                                              )
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "dep_rpath=") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\\"">
                                                        ) ($ VSub_Name "$hardcode_libdir_flag_spec_ld") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 38435]
                                                )
                                              ]
                                              else_action: [
                                                (C {(eval)} 
                                                  {(Lit_VarLike "dep_rpath=") 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar "\\\"">
                                                    ) ($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                  }
                                                )
                                              ]
                                              spids: [38446 38457]
                                            )
                                          ]
                                          spids: [-1 38415]
                                        )
                                      ]
                                      spids: [-1 38460]
                                    )
                                    (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: [38491]
                                                )
                                              ]
                                              spids: [38491]
                                            )
                                            (ForEach
                                              iter_name: dir
                                              iter_words: [{($ VSub_Name "$perm_rpath")}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rpath)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$rpath") 
                                                                ($ VSub_Name "$dir") (":")
                                                              )
                                                            }
                                                          spids: [38506]
                                                        )
                                                      ]
                                                      spids: [38506]
                                                    )
                                                  ]
                                                  spids: [38503 38514]
                                                )
                                              spids: [38499 38501]
                                            )
                                            (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 38484]
                                        )
                                      ]
                                      spids: [-1 38530]
                                    )
                                    (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: [38543]
                                            )
                                          ]
                                          spids: [38543]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 38160]
                                )
                              ]
                              spids: [-1 38551]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shlibpath)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$finalize_shlibpath"))}
                                  spids: [38555]
                                )
                              ]
                              spids: [38555]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(DQ ($ VSub_Name "$mode"))} {(KW_Bang "!") (Lit_Other "=")} 
                                  {(relink)}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:shlibpath)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name "$compile_shlibpath") 
                                            ($ VSub_Name "$shlibpath")
                                          )
                                        }
                                      spids: [38574]
                                    )
                                  ]
                                  spids: [38574]
                                )
                              ]
                              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 38592]
                                )
                              ]
                              spids: [-1 38608]
                            )
                            (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: [38642]
                                )
                              ]
                              spids: [38642]
                            )
                            (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 38663]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:soname)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$realname"))}
                                      spids: [38677]
                                    )
                                  ]
                                  spids: [38677]
                                )
                              ]
                              spids: [38674 38683]
                            )
                            (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: [38700]
                                        )
                                      ]
                                      spids: [38700]
                                    )
                                  ]
                                  spids: [-1 38697]
                                )
                              ]
                              spids: [-1 38704]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$realname"))
                                    }
                                  spids: [38708]
                                )
                              ]
                              spids: [38708]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linknames)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [38716]
                                )
                              ]
                              spids: [38716]
                            )
                            (ForEach
                              iter_name: link
                              do_arg_iter: True
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linknames)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$linknames") (" ") 
                                                ($ VSub_Name "$link")
                                              )
                                            }
                                          spids: [38727]
                                        )
                                      ]
                                      spids: [38727]
                                    )
                                  ]
                                  spids: [38724 38735]
                                )
                              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 (X) ($ VSub_Name "$libobjs"))}
                                                      )
                                                      (C {($ VSub_Name "$SP2NL")})
                                                      (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                        {(DQ ($ VSub_Name "$lo2o"))}
                                                      )
                                                      (C {($ VSub_Name "$NL2SP")})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [38754 38779]
                                          )
                                        }
                                      spids: [38753]
                                    )
                                  ]
                                  spids: [38753]
                                )
                              ]
                              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: [38797]
                                    )
                                  ]
                                  spids: [38797]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:delfiles)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [38801]
                                )
                              ]
                              spids: [38801]
                            )
                            (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: [38846]
                                        )
                                      ]
                                      spids: [38846]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:delfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$delfiles") (" ") 
                                                ($ VSub_Name "$export_symbols")
                                              )
                                            }
                                          spids: [38855]
                                        )
                                      ]
                                      spids: [38855]
                                    )
                                  ]
                                  spids: [-1 38825]
                                )
                              ]
                              spids: [-1 38863]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:orig_export_symbols)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [38867]
                                )
                              ]
                              spids: [38867]
                            )
                            (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: [38926 38932]
                                                              )
                                                            )
                                                          } {(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: [38968]
                                                        )
                                                      ]
                                                      spids: [38968]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_symbols)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [38974]
                                                        )
                                                      ]
                                                      spids: [38974]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:always_export_symbols)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [38977]
                                                        )
                                                      ]
                                                      spids: [38977]
                                                    )
                                                  ]
                                                  spids: [-1 38941]
                                                )
                                              ]
                                              spids: [-1 38981]
                                            )
                                          ]
                                          spids: [-1 38913]
                                        )
                                      ]
                                      spids: [-1 38984]
                                    )
                                  ]
                                  spids: [38877 38889 38987 -1]
                                )
                              ]
                              spids: [38870 38874 38990]
                            )
                            (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: [39048]
                                                )
                                              ]
                                              spids: [39048]
                                            )
                                            (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: [39066]
                                                )
                                              ]
                                              spids: [39066]
                                            )
                                            (Sentence
                                              child: 
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:save_ifs)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Name "$IFS"))}
                                                      spids: [39070]
                                                    )
                                                  ]
                                                  spids: [39070]
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(SQ <"~">)}
                                                  spids: [39076]
                                                )
                                              ]
                                              spids: [39076]
                                            )
                                            (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: [39094]
                                                        )
                                                      ]
                                                      spids: [39094]
                                                    )
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "cmd=") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\\"">
                                                        ) ($ VSub_Name "$cmd") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                      }
                                                    )
                                                    (C {(func_len)} {(DQ (" ") ($ VSub_Name "$cmd"))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:len)
                                                          op: Equal
                                                          rhs: {($ VSub_Name "$func_len_result")}
                                                          spids: [39116]
                                                        )
                                                      ]
                                                      spids: [39116]
                                                    )
                                                    (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: [
                                                            (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: [39161]
                                                                )
                                                              ]
                                                              spids: [39161]
                                                            )
                                                          ]
                                                          spids: [-1 39147]
                                                        )
                                                      ]
                                                      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: [39179]
                                                            )
                                                          ]
                                                          spids: [39179]
                                                        )
                                                        (ControlFlow
                                                          token: <ControlFlow_Break break>
                                                        )
                                                      ]
                                                      spids: [39165 39194]
                                                    )
                                                  ]
                                                  spids: [39091 39197]
                                                )
                                              spids: [39087 39089]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                                  spids: [39200]
                                                )
                                              ]
                                              spids: [39200]
                                            )
                                            (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 39233]
                                                )
                                              ]
                                              spids: [-1 39250]
                                            )
                                          ]
                                          spids: [-1 39035]
                                        )
                                      ]
                                      spids: [-1 39253]
                                    )
                                  ]
                                  spids: [-1 39009]
                                )
                              ]
                              spids: [-1 39256]
                            )
                            (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: [39284]
                                        )
                                      ]
                                      spids: [39284]
                                    )
                                    (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: [39300]
                                            )
                                          ]
                                          spids: [39300]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name "$opt_dry_run")})
                                        (C {(eval)} 
                                          {
                                            (SQ 
                                              <
"$ECHO \"X$include_expsyms\" | $Xsed | $SP2NL >> \"$tmp_export_symbols\""
                                              >
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 39281]
                                )
                              ]
                              spids: [-1 39317]
                            )
                            (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: [39397]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: 
                                                {($ VSub_Name "$output_objdir") (/) 
                                                  ($ VSub_Name "$libname") (.filter)
                                                }
                                              spids: [39401]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:delfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$delfiles") (" ") 
                                                ($ VSub_Name "$export_symbols") (" ") ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$libname") (.filter)
                                              )
                                            }
                                          spids: [39409]
                                        )
                                      ]
                                      spids: [39409]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name "$output_objdir") (/) 
                                              ($ VSub_Name "$libname") (.def)
                                            }
                                          spids: [39422]
                                        )
                                      ]
                                      spids: [39422]
                                    )
                                    (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: [39442]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {($ VSub_Name "$export_symbols")}
                                              spids: [39446]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 39348]
                                )
                              ]
                              spids: [-1 39451]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tmp_deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [39455]
                                )
                              ]
                              spids: [39455]
                            )
                            (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: [39481 39488 39490 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$tmp_deplibs") (" ") 
                                                        ($ VSub_Name "$test_deplib")
                                                      )
                                                    }
                                                  spids: [39497]
                                                )
                                              ]
                                              spids: [39497]
                                            )
                                          ]
                                          spids: [39493 39494 39505 -1]
                                        )
                                      ]
                                      spids: [39470 39478 39508]
                                    )
                                  ]
                                  spids: [39467 39511]
                                )
                              spids: [39463 39465]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$tmp_deplibs"))}
                                  spids: [39514]
                                )
                              ]
                              spids: [39514]
                            )
                            (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: [39581]
                                                )
                                              ]
                                              spids: [39581]
                                            )
                                          ]
                                          spids: [-1 39570]
                                        )
                                      ]
                                      spids: [-1 39584]
                                    )
                                    (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: [39601]
                                                )
                                              ]
                                              spids: [39601]
                                            )
                                            (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: [39631]
                                                    )
                                                  ]
                                                  spids: [39631]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [-1 39598]
                                        )
                                      ]
                                      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: [39637]
                                            )
                                          ]
                                          spids: [39637]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:generated)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$generated") (" ") 
                                                    ($ VSub_Name "$gentop")
                                                  )
                                                }
                                              spids: [39648]
                                            )
                                          ]
                                          spids: [39648]
                                        )
                                        (C {(func_extract_archives)} {($ VSub_Name "$gentop")} 
                                          {($ VSub_Name "$convenience")}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:libobjs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$libobjs") (" ") 
                                                    ($ VSub_Name "$func_extract_archives_result")
                                                  )
                                                }
                                              spids: [39664]
                                            )
                                          ]
                                          spids: [39664]
                                        )
                                        (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: [39687]
                                                )
                                              ]
                                              spids: [39687]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      ]
                                      spids: [39634 39690]
                                    )
                                  ]
                                  spids: [-1 39532]
                                )
                              ]
                              spids: [-1 39693]
                            )
                            (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 "\\\"">)
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$linker_flags") (" ") 
                                                ($ VSub_Name "$flag")
                                              )
                                            }
                                          spids: [39731]
                                        )
                                      ]
                                      spids: [39731]
                                    )
                                  ]
                                  spids: [-1 39720]
                                )
                              ]
                              spids: [-1 39739]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$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 39760]
                                )
                              ]
                              spids: [-1 39780]
                            )
                            (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: [39847]
                                                )
                                              ]
                                              spids: [39847]
                                            )
                                          ]
                                          spids: [-1 39836]
                                        )
                                      ]
                                      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: [39862]
                                            )
                                          ]
                                          spids: [39862]
                                        )
                                      ]
                                      spids: [39851 39866]
                                    )
                                  ]
                                  spids: [-1 39812]
                                )
                              ]
                              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: [39904]
                                            )
                                          ]
                                          spids: [39904]
                                        )
                                      ]
                                      spids: [-1 39893]
                                    )
                                  ]
                                  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: [39919]
                                        )
                                      ]
                                      spids: [39919]
                                    )
                                  ]
                                  spids: [39908 39923]
                                )
                              ]
                              spids: [39869 39926]
                            )
                            (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: [39959]
                                                        )
                                                      ]
                                                      spids: [39959]
                                                    )
                                                    (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 39990]
                                )
                              ]
                              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: [40068]
                                            )
                                          ]
                                          spids: [40068]
                                        )
                                      ]
                                      spids: [-1 40065]
                                    )
                                  ]
                                  spids: [-1 40072]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_output)
                                      op: Equal
                                      rhs: {($ VSub_Name "$output")}
                                      spids: [40075]
                                    )
                                  ]
                                  spids: [40075]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output_la)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {($ VSub_Name "$ECHO")} 
                                                        {(DQ (X) ($ VSub_Name "$output"))}
                                                      )
                                                      (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                        {(DQ ($ VSub_Name "$basename"))}
                                                      )
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [40080 40097]
                                          )
                                        }
                                      spids: [40079]
                                    )
                                  ]
                                  spids: [40079]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:test_cmds)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [40109]
                                    )
                                  ]
                                  spids: [40109]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:concat_cmds)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [40112]
                                    )
                                  ]
                                  spids: [40112]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:objlist)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [40115]
                                    )
                                  ]
                                  spids: [40115]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:last_robj)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [40118]
                                    )
                                  ]
                                  spids: [40118]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:k)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [40121]
                                    )
                                  ]
                                  spids: [40121]
                                )
                                (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: [40168]
                                            )
                                          ]
                                          spids: [40168]
                                        )
                                        (C {(func_verbose)} 
                                          {(DQ ("creating GNU ld script: ") ($ VSub_Name "$output"))}
                                        )
                                        (SimpleCommand
                                          words: [{($ VSub_Name "$ECHO")} {(SQ <"INPUT (">)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {($ VSub_Name "$output")}
                                              spids: [40193]
                                            )
                                          ]
                                        )
                                        (ForEach
                                          iter_name: obj
                                          iter_words: [{($ VSub_Name "$save_libobjs")}]
                                          do_arg_iter: False
                                          body: 
                                            (DoGroup
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name "$ECHO")}
                                                    {(DQ ($ VSub_Name "$obj"))}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_DGreat
                                                      fd: -1
                                                      arg_word: {($ VSub_Name "$output")}
                                                      spids: [40216]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [40207 40221]
                                            )
                                          spids: [40203 -1]
                                        )
                                        (SimpleCommand
                                          words: [{($ VSub_Name "$ECHO")} {(SQ <")">)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: -1
                                              arg_word: {($ VSub_Name "$output")}
                                              spids: [40230]
                                            )
                                          ]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:delfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$delfiles") (" ") 
                                                    ($ VSub_Name "$output")
                                                  )
                                                }
                                              spids: [40235]
                                            )
                                          ]
                                          spids: [40235]
                                        )
                                      ]
                                      spids: [-1 40165]
                                    )
                                    (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: [40287]
                                            )
                                          ]
                                          spids: [40287]
                                        )
                                        (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: [40308]
                                            )
                                          ]
                                        )
                                        (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: [40323]
                                            )
                                          ]
                                          spids: [40323]
                                        )
                                        (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: [40342]
                                                    )
                                                  ]
                                                  spids: [40342]
                                                )
                                                (C {(shift)})
                                              ]
                                              spids: [-1 40339]
                                            )
                                          ]
                                          spids: [-1 40352]
                                        )
                                        (ForEach
                                          iter_name: obj
                                          do_arg_iter: True
                                          body: 
                                            (DoGroup
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name "$ECHO")}
                                                    {(DQ ($ VSub_Name "$obj"))}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_DGreat
                                                      fd: -1
                                                      arg_word: {($ VSub_Name "$output")}
                                                      spids: [40369]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [40360 40374]
                                            )
                                          spids: [-1 -1]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:delfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$delfiles") (" ") 
                                                    ($ VSub_Name "$output")
                                                  )
                                                }
                                              spids: [40377]
                                            )
                                          ]
                                          spids: [40377]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name "$firstobj") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\\"">
                                                  ) ($ VSub_Name "$file_list_spec") ($ VSub_Name "$output") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\\"">
                                                  )
                                                }
                                              spids: [40385]
                                            )
                                          ]
                                          spids: [40385]
                                        )
                                      ]
                                      spids: [40243 40284]
                                    )
                                  ]
                                  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: [40417]
                                                )
                                              ]
                                              spids: [40417]
                                            )
                                            (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: [40445]
                                                )
                                              ]
                                              spids: [40445]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$len0")}
                                                  spids: [40449]
                                                )
                                              ]
                                              spids: [40449]
                                            )
                                            (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: [40487]
                                                        )
                                                      ]
                                                      spids: [40487]
                                                    )
                                                    (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 40520]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name "$k"))} {(-eq)} {(1)}
                                                                    )
                                                                  terminator: <Op_Semi ";">
                                                                )
                                                              ]
                                                              action: [
                                                                (C {(eval)} 
                                                                  {(Lit_VarLike "concat_cmds=") 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar "\\\"">
                                                                    ) ($ VSub_Name "$reload_cmds")
                                                                  } {($ VSub_Name "$objlist")} 
                                                                  {($ VSub_Name "$last_robj") 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar "\\\"">
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [-1 40558]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (C {(eval)} 
                                                              {(Lit_VarLike "concat_cmds=") 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar "\\\"">
                                                                ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (concat_cmds) (Lit_Tilde "~") 
                                                                ($ VSub_Name "$reload_cmds")
                                                              } {($ VSub_Name "$objlist")} 
                                                              {($ VSub_Name "$last_robj") 
                                                                (Lit_Tilde "~") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (RM)
                                                              } {($ VSub_Name "$last_robj") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                                                            )
                                                          ]
                                                          spids: [40577 40608]
                                                        )
                                                        (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: [40611]
                                                            )
                                                          ]
                                                          spids: [40611]
                                                        )
                                                        (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: [40632]
                                                            )
                                                          ]
                                                          spids: [40632]
                                                        )
                                                        (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: [40636]
                                                            )
                                                          ]
                                                          spids: [40636]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:objlist)
                                                              op: Equal
                                                              rhs: {($ VSub_Name "$obj")}
                                                              spids: [40648]
                                                            )
                                                          ]
                                                          spids: [40648]
                                                        )
                                                        (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: [40669]
                                                            )
                                                          ]
                                                          spids: [40669]
                                                        )
                                                      ]
                                                      spids: [40533 40673]
                                                    )
                                                  ]
                                                  spids: [40467 40676]
                                                )
                                              spids: [40463 -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: [40701]
                                                    )
                                                  ]
                                                  spids: [40701]
                                                )
                                              ]
                                              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 "$reload_cmds")
                                              } {($ VSub_Name "$objlist")} 
                                              {($ VSub_Name "$last_robj") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\\"">
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name "$last_robj"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "concat_cmds=") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\\"">
                                                        ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (Lit_LBrace "{") (concat_cmds) (Lit_RBrace "}") 
                                                        (Lit_Tilde "~") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (RM)
                                                      } {($ VSub_Name "$last_robj") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                                                    )
                                                  ]
                                                  spids: [-1 40733]
                                                )
                                              ]
                                              spids: [-1 40752]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:delfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$delfiles") (" ") 
                                                        ($ VSub_Name "$output")
                                                      )
                                                    }
                                                  spids: [40755]
                                                )
                                              ]
                                              spids: [40755]
                                            )
                                          ]
                                          spids: [-1 40407]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [40767]
                                            )
                                          ]
                                          spids: [40767]
                                        )
                                      ]
                                      spids: [40764 40770]
                                    )
                                    (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: [40776 40780]
                                                    )
                                                  }
                                                )
                                              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: [40796]
                                                )
                                              ]
                                              spids: [40796]
                                            )
                                            (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: [40814]
                                                )
                                              ]
                                              spids: [40814]
                                            )
                                            (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: [40832]
                                                    )
                                                  ]
                                                  spids: [40832]
                                                )
                                              ]
                                              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 40858]
                                                )
                                              ]
                                              spids: [-1 40875]
                                            )
                                          ]
                                          spids: [-1 40783]
                                        )
                                      ]
                                      spids: [-1 40878]
                                    )
                                    (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: [40906]
                                            )
                                          ]
                                          spids: [40906]
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <"~">)}
                                          spids: [40912]
                                        )
                                      ]
                                      spids: [40912]
                                    )
                                    (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: [40930]
                                                )
                                              ]
                                              spids: [40930]
                                            )
                                            (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: [40940]
                                                )
                                              ]
                                              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: [40976]
                                                            )
                                                          ]
                                                          spids: [40976]
                                                        )
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name "$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: [41001 41039]
                                                                )
                                                              ]
                                                              spids: [-1 40998]
                                                            )
                                                          ]
                                                          spids: [-1 41042]
                                                        )
                                                        (C {(exit)} {($ VSub_Name "$lt_exit")})
                                                      ]
                                                      spids: [40973]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [40927 41054]
                                        )
                                      spids: [40923 40925]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                          spids: [41057]
                                        )
                                      ]
                                      spids: [41057]
                                    )
                                    (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: [41076 41080]
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  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 41083]
                                        )
                                      ]
                                      spids: [-1 41100]
                                    )
                                  ]
                                  spids: [40393 41103]
                                )
                                (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: [41109 41113]
                                                )
                                              }
                                            )
                                          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: [41143]
                                                    )
                                                  ]
                                                  spids: [41143]
                                                )
                                                (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: [41159]
                                                        )
                                                      ]
                                                      spids: [41159]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {($ VSub_Name "$opt_dry_run")})
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
"$ECHO \"X$include_expsyms\" | $Xsed | $SP2NL >> \"$tmp_export_symbols\""
                                                          >
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [-1 41140]
                                            )
                                          ]
                                          spids: [-1 41176]
                                        )
                                        (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: [41240]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: 
                                                            {($ VSub_Name "$output_objdir") (/) 
                                                              ($ VSub_Name "$libname") (.filter)
                                                            }
                                                          spids: [41244]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:delfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$delfiles") (" ") 
                                                            ($ VSub_Name "$export_symbols") (" ") ($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$libname") (.filter)
                                                          )
                                                        }
                                                      spids: [41252]
                                                    )
                                                  ]
                                                  spids: [41252]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_symbols)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name "$output_objdir") (/) 
                                                          ($ VSub_Name "$libname") (.def)
                                                        }
                                                      spids: [41265]
                                                    )
                                                  ]
                                                  spids: [41265]
                                                )
                                                (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: [41285]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$export_symbols")}
                                                          spids: [41289]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [-1 41191]
                                            )
                                          ]
                                          spids: [-1 41294]
                                        )
                                      ]
                                      spids: [-1 41116]
                                    )
                                  ]
                                  spids: [-1 41297]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {($ VSub_Name "$output")}
                                      spids: [41301]
                                    )
                                  ]
                                  spids: [41301]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output)
                                      op: Equal
                                      rhs: {($ VSub_Name "$save_output")}
                                      spids: [41309]
                                    )
                                  ]
                                  spids: [41309]
                                )
                                (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: [41364]
                                                )
                                              ]
                                              spids: [41364]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      ]
                                      spids: [-1 41335]
                                    )
                                  ]
                                  spids: [-1 41367]
                                )
                                (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: [41434]
                                                    )
                                                  ]
                                                  spids: [41434]
                                                )
                                              ]
                                              spids: [-1 41431]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$module_cmds")}
                                                  spids: [41441]
                                                )
                                              ]
                                              spids: [41441]
                                            )
                                          ]
                                          spids: [41438 41445]
                                        )
                                      ]
                                      spids: [-1 41407]
                                    )
                                  ]
                                  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: [41475]
                                                )
                                              ]
                                              spids: [41475]
                                            )
                                          ]
                                          spids: [-1 41472]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name "$archive_cmds")}
                                              spids: [41482]
                                            )
                                          ]
                                          spids: [41482]
                                        )
                                      ]
                                      spids: [41479 41486]
                                    )
                                  ]
                                  spids: [41448 41489]
                                )
                              ]
                              spids: [39996 41492]
                            )
                            (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 41507]
                                )
                              ]
                              spids: [-1 41528]
                            )
                            (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: [41550]
                                        )
                                      ]
                                      spids: [41550]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:generated)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$generated") (" ") 
                                                ($ VSub_Name "$gentop")
                                              )
                                            }
                                          spids: [41561]
                                        )
                                      ]
                                      spids: [41561]
                                    )
                                    (C {(func_extract_archives)} {($ VSub_Name "$gentop")} 
                                      {($ VSub_Name "$dlprefiles")}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libobjs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$libobjs") (" ") 
                                                ($ VSub_Name "$func_extract_archives_result")
                                              )
                                            }
                                          spids: [41577]
                                        )
                                      ]
                                      spids: [41577]
                                    )
                                    (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: [41600]
                                            )
                                          ]
                                          spids: [41600]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 41547]
                                )
                              ]
                              spids: [-1 41603]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$IFS"))}
                                      spids: [41607]
                                    )
                                  ]
                                  spids: [41607]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <"~">)}
                                  spids: [41613]
                                )
                              ]
                              spids: [41613]
                            )
                            (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: [41631]
                                        )
                                      ]
                                      spids: [41631]
                                    )
                                    (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: [41649]
                                        )
                                      ]
                                      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: [41685]
                                                    )
                                                  ]
                                                  spids: [41685]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(test)} {(DQ ($ VSub_Name "$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: [41710 41748]
                                                        )
                                                      ]
                                                      spids: [-1 41707]
                                                    )
                                                  ]
                                                  spids: [-1 41751]
                                                )
                                                (C {(exit)} {($ VSub_Name "$lt_exit")})
                                              ]
                                              spids: [41682]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [41628 41763]
                                )
                              spids: [41624 41626]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$save_ifs"))}
                                  spids: [41766]
                                )
                              ]
                              spids: [41766]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$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 41836]
                                                )
                                              ]
                                              spids: [-1 41846]
                                            )
                                          ]
                                          spids: [-1 41822]
                                        )
                                      ]
                                      spids: [-1 41849]
                                    )
                                    (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                                  ]
                                  spids: [-1 41790]
                                )
                              ]
                              spids: [-1 41858]
                            )
                            (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 41894]
                                        )
                                      ]
                                      spids: [-1 41908]
                                    )
                                  ]
                                  spids: [41875 41911]
                                )
                              spids: [41871 41873]
                            )
                            (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: [41951]
                                        )
                                      ]
                                      spids: [41951]
                                    )
                                  ]
                                  spids: [-1 41944]
                                )
                              ]
                              spids: [-1 41957]
                            )
                          ]
                          spids: [-1 38144]
                        )
                      ]
                      spids: [-1 41960]
                    )
                  ]
                  spids: [32562 32563 41963 -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 41996]
                        )
                      ]
                      spids: [-1 42007]
                    )
                    (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: [42021 42032 42044 -1]
                        )
                      ]
                      spids: [42011 42018 42047]
                    )
                    (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: [42171]
                                )
                              ]
                              spids: [42171]
                            )
                            (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: [42182]
                                )
                              ]
                              spids: [42182]
                            )
                          ]
                          spids: [42142 42144 42186 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [42193]
                                )
                              ]
                              spids: [42193]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:obj)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$output"))}
                                  spids: [42196]
                                )
                              ]
                              spids: [42196]
                            )
                          ]
                          spids: [42189 42190 42202 -1]
                        )
                      ]
                      spids: [42135 42139 42205]
                    )
                    (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: [42241]
                        )
                      ]
                      spids: [42241]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gentop)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [42244]
                        )
                      ]
                      spids: [42244]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:wl) op:Equal rhs:{(SQ )} spids:[42259])]
                      spids: [42259]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name "$convenience"))})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} 
                                          {(DQ ($ VSub_Name "$whole_archive_flag_spec"))}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike "tmp_whole_archive_flags=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) ($ VSub_Name "$whole_archive_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:reload_conv_objs)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name "$reload_objs") 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar "\\ ">
                                              ) 
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name "$ECHO")} 
                                                            {
                                                              (DQ (X) 
                                                                ($ VSub_Name 
"$tmp_whole_archive_flags"
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                            {(SQ <"s|,| |g">)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [42302 42319]
                                              )
                                            }
                                          spids: [42299]
                                        )
                                      ]
                                      spids: [42299]
                                    )
                                  ]
                                  spids: [-1 42288]
                                )
                              ]
                              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: [42325]
                                    )
                                  ]
                                  spids: [42325]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:generated)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name "$generated") (" ") ($ VSub_Name "$gentop"))
                                        }
                                      spids: [42336]
                                    )
                                  ]
                                  spids: [42336]
                                )
                                (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: [42352]
                                    )
                                  ]
                                  spids: [42352]
                                )
                              ]
                              spids: [42322 42360]
                            )
                          ]
                          spids: [-1 42274]
                        )
                      ]
                      spids: [-1 42363]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:reload_objs)
                          op: Equal
                          rhs: 
                            {(DQ ($ VSub_Name "$objs") ($ VSub_Name "$old_deplibs") (" ")) 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name "$ECHO")} {(DQ (X) ($ VSub_Name "$libobjs"))})
                                          (C {($ VSub_Name "$SP2NL")})
                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                            {(SQ <"/\\.">) (${ VSub_Name libext) (SQ </d>)} {(-e)} {(SQ <"/\\.lib$/d">)} {(-e)} {(DQ ($ VSub_Name "$lo2o"))}
                                          )
                                          (C {($ VSub_Name "$NL2SP")})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [42377 42420]
                              ) (DQ (" ") ($ VSub_Name "$reload_conv_objs"))
                            }
                          spids: [42371]
                        )
                      ]
                      spids: [42371]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$obj"))}
                          spids: [42431]
                        )
                      ]
                      spids: [42431]
                    )
                    (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 42478]
                                )
                              ]
                              spids: [-1 42488]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [-1 42464]
                        )
                      ]
                      spids: [-1 42497]
                    )
                    (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 42529]
                                )
                              ]
                              spids: [-1 42539]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [-1 42515]
                        )
                      ]
                      spids: [-1 42564]
                    )
                    (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: [42599]
                                )
                              ]
                              spids: [42599]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$libobj"))}
                                  spids: [42607]
                                )
                              ]
                              spids: [42607]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$reload_cmds"))} 
                              {(SQ <"exit $?">)}
                            )
                          ]
                          spids: [-1 42592]
                        )
                      ]
                      spids: [-1 42624]
                    )
                    (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 42639]
                        )
                      ]
                      spids: [-1 42649]
                    )
                    (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                  ]
                  spids: [41967 41968 42658 -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: [42692]
                                )
                              ]
                              spids: [42692]
                            )
                          ]
                          spids: [42673 42676 42695 -1]
                        )
                      ]
                      spids: [42666 42670 42698]
                    )
                    (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 ("X ") ($ VSub_Name "$compile_deplibs"))}
                                                  )
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {(SQ <"s/ -lc / System.ltframework /">)}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [42838 42855]
                                      )
                                    }
                                  spids: [42837]
                                )
                              ]
                              spids: [42837]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ ("X ") ($ VSub_Name "$finalize_deplibs"))}
                                                  )
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {(SQ <"s/ -lc / System.ltframework /">)}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [42859 42876]
                                      )
                                    }
                                  spids: [42858]
                                )
                              ]
                              spids: [42858]
                            )
                          ]
                          spids: [42815 42830 42879 -1]
                        )
                      ]
                      spids: [42808 42812 42882]
                    )
                    (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: [42928 42932]
                                          )
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [{(10.) (Lit_Other "[") (0123) (Lit_Other "]")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$compile_command") (" ") 
                                                        (${ VSub_Name wl) (-bind_at_load)
                                                      )
                                                    }
                                                  spids: [42944]
                                                )
                                              ]
                                              spids: [42944]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$finalize_command") (" ") 
                                                        (${ VSub_Name wl) (-bind_at_load)
                                                      )
                                                    }
                                                  spids: [42955]
                                                )
                                              ]
                                              spids: [42955]
                                            )
                                          ]
                                          spids: [42937 42941 42966 -1]
                                        )
                                      ]
                                      spids: [42926 42934 42969]
                                    )
                                  ]
                                  spids: [-1 42923]
                                )
                              ]
                              spids: [-1 42972]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ ("X ") ($ VSub_Name "$compile_deplibs"))}
                                                  )
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [42980 42997]
                                      )
                                    }
                                  spids: [42979]
                                )
                              ]
                              spids: [42979]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ ("X ") ($ VSub_Name "$finalize_deplibs"))}
                                                  )
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
"s% \\([^ $]*\\).ltframework% -framework \\1%g"
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [43001 43018]
                                      )
                                    }
                                  spids: [43000]
                                )
                              ]
                              spids: [43000]
                            )
                          ]
                          spids: [42893 42898 43021 -1]
                        )
                      ]
                      spids: [42886 42890 43024]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43037]
                        )
                      ]
                      spids: [43037]
                    )
                    (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: [43063 43072 43074 -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: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:new_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$new_libs") (" -L") 
                                                        ($ VSub_Name "$path") (/) ($ VSub_Name "$objdir")
                                                      )
                                                    }
                                                  spids: [43104]
                                                )
                                              ]
                                              spids: [43104]
                                            )
                                          ]
                                          spids: [43092 43101 43113 -1]
                                        )
                                      ]
                                      spids: [43081 43089 43116]
                                    )
                                  ]
                                  spids: [43077 43078 43119 -1]
                                )
                              ]
                              spids: [43052 43060 43122]
                            )
                          ]
                          spids: [43049 43125]
                        )
                      spids: [43045 43047]
                    )
                    (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: [43163 43170 43172 -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 "$new_libs") (" ") 
                                                        ($ VSub_Name "$deplib")
                                                      )
                                                    }
                                                  spids: [43178]
                                                )
                                              ]
                                              spids: [43178]
                                            )
                                          ]
                                          spids: [43175 43176 43185 -1]
                                        )
                                      ]
                                      spids: [43152 43160 43188]
                                    )
                                  ]
                                  spids: [43147 43149 43191 -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 "$new_libs") (" ") 
                                                ($ VSub_Name "$deplib")
                                              )
                                            }
                                          spids: [43197]
                                        )
                                      ]
                                      spids: [43197]
                                    )
                                  ]
                                  spids: [43194 43195 43204 -1]
                                )
                              ]
                              spids: [43140 43144 43207]
                            )
                          ]
                          spids: [43137 43210]
                        )
                      spids: [43133 43135]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$new_libs"))}
                          spids: [43213]
                        )
                      ]
                      spids: [43213]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_command)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$compile_command") (" ") 
                                ($ VSub_Name "$compile_deplibs")
                              )
                            }
                          spids: [43221]
                        )
                      ]
                      spids: [43221]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_command)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$finalize_command") (" ") 
                                ($ VSub_Name "$finalize_deplibs")
                              )
                            }
                          spids: [43229]
                        )
                      ]
                      spids: [43229]
                    )
                    (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: [43285 43292 43294 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$finalize_rpath") (" ") 
                                                        ($ VSub_Name "$libdir")
                                                      )
                                                    }
                                                  spids: [43300]
                                                )
                                              ]
                                              spids: [43300]
                                            )
                                          ]
                                          spids: [43297 43298 43307 -1]
                                        )
                                      ]
                                      spids: [43275 43282 43310]
                                    )
                                  ]
                                  spids: [43268 43313]
                                )
                              spids: [43262 43266]
                            )
                          ]
                          spids: [-1 43250]
                        )
                      ]
                      spids: [-1 43316]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43324]
                        )
                      ]
                      spids: [43324]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43327]
                        )
                      ]
                      spids: [43327]
                    )
                    (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: [43386]
                                                        )
                                                      ]
                                                      spids: [43386]
                                                    )
                                                  ]
                                                  spids: [-1 43383]
                                                )
                                              ]
                                              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: [43408 43415 43418 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:hardcode_libdirs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name "$hardcode_libdirs") ($ VSub_Name "$hardcode_libdir_separator") ($ VSub_Name "$libdir")
                                                                  )
                                                                }
                                                              spids: [43425]
                                                            )
                                                          ]
                                                          spids: [43425]
                                                        )
                                                      ]
                                                      spids: [43421 43422 43433 -1]
                                                    )
                                                  ]
                                                  spids: [43399 43405 43436]
                                                )
                                              ]
                                              spids: [43392 43439]
                                            )
                                          ]
                                          spids: [-1 43369]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike "flag=") 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar "\\\"">
                                            ) ($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:rpath)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$rpath") (" ") 
                                                    ($ VSub_Name "$flag")
                                                  )
                                                }
                                              spids: [43453]
                                            )
                                          ]
                                          spids: [43453]
                                        )
                                      ]
                                      spids: [43442 43461]
                                    )
                                  ]
                                  spids: [-1 43355]
                                )
                                (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: [43488 43495 43497 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:perm_rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$perm_rpath") (" ") 
                                                        ($ VSub_Name "$libdir")
                                                      )
                                                    }
                                                  spids: [43503]
                                                )
                                              ]
                                              spids: [43503]
                                            )
                                          ]
                                          spids: [43500 43501 43510 -1]
                                        )
                                      ]
                                      spids: [43478 43485 43513]
                                    )
                                  ]
                                  spids: [43464 43475]
                                )
                              ]
                              spids: [-1 43516]
                            )
                            (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: [43565 43585]
                                              )
                                            }
                                          spids: [43564]
                                        )
                                      ]
                                      spids: [43564]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (":") ($ VSub_Name "$libdir") (":")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [43597 43604 43606 -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: [43613]
                                                )
                                              ]
                                              spids: [43613]
                                            )
                                          ]
                                          spids: [43609 43611 43615 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$dllsearchpath") (":") 
                                                        ($ VSub_Name "$libdir")
                                                      )
                                                    }
                                                  spids: [43621]
                                                )
                                              ]
                                              spids: [43621]
                                            )
                                          ]
                                          spids: [43618 43619 43627 -1]
                                        )
                                      ]
                                      spids: [43588 43594 43630]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") 
                                              (DQ (":") ($ VSub_Name "$testbindir") (":")) (Lit_Other "*")
                                            }
                                          ]
                                          spids: [43642 43649 43651 -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: [43658]
                                                )
                                              ]
                                              spids: [43658]
                                            )
                                          ]
                                          spids: [43654 43656 43660 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$dllsearchpath") (":") 
                                                        ($ VSub_Name "$testbindir")
                                                      )
                                                    }
                                                  spids: [43666]
                                                )
                                              ]
                                              spids: [43666]
                                            )
                                          ]
                                          spids: [43663 43664 43672 -1]
                                        )
                                      ]
                                      spids: [43633 43639 43675]
                                    )
                                  ]
                                  spids: [43526 43561 43678 -1]
                                )
                              ]
                              spids: [43519 43523 43681]
                            )
                          ]
                          spids: [43341 43684]
                        )
                      spids: [43335 43339]
                    )
                    (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: [43716]
                                )
                              ]
                              spids: [43716]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "rpath=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                )
                              } {($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                            )
                          ]
                          spids: [-1 43713]
                        )
                      ]
                      spids: [-1 43731]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_rpath)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$rpath"))}
                          spids: [43734]
                        )
                      ]
                      spids: [43734]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43741]
                        )
                      ]
                      spids: [43741]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43744]
                        )
                      ]
                      spids: [43744]
                    )
                    (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: [43801]
                                                        )
                                                      ]
                                                      spids: [43801]
                                                    )
                                                  ]
                                                  spids: [-1 43798]
                                                )
                                              ]
                                              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: [43823 43830 43833 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:hardcode_libdirs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name "$hardcode_libdirs") ($ VSub_Name "$hardcode_libdir_separator") ($ VSub_Name "$libdir")
                                                                  )
                                                                }
                                                              spids: [43840]
                                                            )
                                                          ]
                                                          spids: [43840]
                                                        )
                                                      ]
                                                      spids: [43836 43837 43848 -1]
                                                    )
                                                  ]
                                                  spids: [43814 43820 43851]
                                                )
                                              ]
                                              spids: [43807 43854]
                                            )
                                          ]
                                          spids: [-1 43784]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike "flag=") 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar "\\\"">
                                            ) ($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:rpath)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$rpath") (" ") 
                                                    ($ VSub_Name "$flag")
                                                  )
                                                }
                                              spids: [43868]
                                            )
                                          ]
                                          spids: [43868]
                                        )
                                      ]
                                      spids: [43857 43876]
                                    )
                                  ]
                                  spids: [-1 43770]
                                )
                                (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: [43903 43910 43912 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_perm_rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$finalize_perm_rpath") (" ") 
                                                        ($ VSub_Name "$libdir")
                                                      )
                                                    }
                                                  spids: [43918]
                                                )
                                              ]
                                              spids: [43918]
                                            )
                                          ]
                                          spids: [43915 43916 43925 -1]
                                        )
                                      ]
                                      spids: [43893 43900 43928]
                                    )
                                  ]
                                  spids: [43879 43890]
                                )
                              ]
                              spids: [-1 43931]
                            )
                          ]
                          spids: [43756 43934]
                        )
                      spids: [43752 43754]
                    )
                    (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: [43966]
                                )
                              ]
                              spids: [43966]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "rpath=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                )
                              } {($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                            )
                          ]
                          spids: [-1 43963]
                        )
                      ]
                      spids: [-1 43981]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_rpath)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$rpath"))}
                          spids: [43984]
                        )
                      ]
                      spids: [43984]
                    )
                    (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 (X) ($ VSub_Name "$compile_command"))}
                                                  )
                                                  (C {($ VSub_Name "$SP2NL")})
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {(DQ ($ VSub_Name "$lo2o"))}
                                                  )
                                                  (C {($ VSub_Name "$NL2SP")})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [44022 44047]
                                      )
                                    }
                                  spids: [44021]
                                )
                              ]
                              spids: [44021]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (X) ($ VSub_Name "$finalize_command"))}
                                                  )
                                                  (C {($ VSub_Name "$SP2NL")})
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {(DQ ($ VSub_Name "$lo2o"))}
                                                  )
                                                  (C {($ VSub_Name "$NL2SP")})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [44051 44076]
                                      )
                                    }
                                  spids: [44050]
                                )
                              ]
                              spids: [44050]
                            )
                          ]
                          spids: [-1 44014]
                        )
                      ]
                      spids: [-1 44079]
                    )
                    (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 44114]
                        )
                      ]
                      spids: [-1 44128]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wrappers_required)
                          op: Equal
                          rhs: {(yes)}
                          spids: [44132]
                        )
                      ]
                      spids: [44132]
                    )
                    (Case
                      to_match: {($ VSub_Name "$host")}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other "*") (cygwin) (Lit_Other "*")}
                            {(Lit_Other "*") (mingw) (Lit_Other "*")}
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$build_libtool_libs"))} 
                                          {(KW_Bang "!") (Lit_Other "=")} {(yes)}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wrappers_required)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [44173]
                                        )
                                      ]
                                      spids: [44173]
                                    )
                                  ]
                                  spids: [-1 44170]
                                )
                              ]
                              spids: [-1 44177]
                            )
                          ]
                          spids: [44143 44153 44180 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (cegcc)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:wrappers_required)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [44192]
                                )
                              ]
                              spids: [44192]
                            )
                          ]
                          spids: [44183 44185 44196 -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: [44232]
                                        )
                                      ]
                                      spids: [44232]
                                    )
                                  ]
                                  spids: [-1 44229]
                                )
                              ]
                              spids: [-1 44236]
                            )
                          ]
                          spids: [44199 44200 44239 -1]
                        )
                      ]
                      spids: [44136 44140 44242]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$wrappers_required"))} {(Lit_Other "=")} 
                                  {(no)}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (X) ($ VSub_Name "$compile_command"))}
                                                  )
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {(SQ <"s%@OUTPUT@%">) 
                                                      (DQ ($ VSub_Name "$output")) (SQ <"%g">)
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [44266 44289]
                                      )
                                    }
                                  spids: [44265]
                                )
                              ]
                              spids: [44265]
                            )
                            (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: [44292]
                                )
                              ]
                              spids: [44292]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:exit_status)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [44304]
                                )
                              ]
                              spids: [44304]
                            )
                            (C {(func_show_eval)} {(DQ ($ VSub_Name "$link_command"))} 
                              {(SQ <"exit_status=$?">)}
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-f)} 
                                          {
                                            (DQ ($ VSub_Name "$output_objdir") (/) 
                                              (${ VSub_Name outputname) (S.) (${ VSub_Name objext)
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(func_show_eval)} 
                                      {(SQ <"$RM \"$output_objdir/${outputname}S.${objext}\"">)}
                                    )
                                  ]
                                  spids: [-1 44343]
                                )
                              ]
                              spids: [-1 44353]
                            )
                            (C {(exit)} {($ VSub_Name "$exit_status")})
                          ]
                          spids: [-1 44258]
                        )
                      ]
                      spids: [-1 44362]
                    )
                    (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: [44381]
                                )
                              ]
                              spids: [44381]
                            )
                          ]
                          spids: [-1 44378]
                        )
                      ]
                      spids: [-1 44396]
                    )
                    (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: [44413]
                                )
                              ]
                              spids: [44413]
                            )
                          ]
                          spids: [-1 44410]
                        )
                      ]
                      spids: [-1 44427]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_var)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [44431]
                        )
                      ]
                      spids: [44431]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_var)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [44434]
                        )
                      ]
                      spids: [44434]
                    )
                    (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: [44469]
                                        )
                                      ]
                                      spids: [44469]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name "$perm_rpath")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$rpath") ($ VSub_Name "$dir") 
                                                        (":")
                                                      )
                                                    }
                                                  spids: [44484]
                                                )
                                              ]
                                              spids: [44484]
                                            )
                                          ]
                                          spids: [44481 44492]
                                        )
                                      spids: [44477 44479]
                                    )
                                    (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: [44495]
                                        )
                                      ]
                                      spids: [44495]
                                    )
                                  ]
                                  spids: [-1 44462]
                                )
                              ]
                              spids: [-1 44508]
                            )
                            (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: [44529]
                                        )
                                      ]
                                      spids: [44529]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name "$finalize_perm_rpath")}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rpath)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$rpath") ($ VSub_Name "$dir") 
                                                        (":")
                                                      )
                                                    }
                                                  spids: [44544]
                                                )
                                              ]
                                              spids: [44544]
                                            )
                                          ]
                                          spids: [44541 44552]
                                        )
                                      spids: [44537 44539]
                                    )
                                    (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: [44555]
                                        )
                                      ]
                                      spids: [44555]
                                    )
                                  ]
                                  spids: [-1 44522]
                                )
                              ]
                              spids: [-1 44568]
                            )
                          ]
                          spids: [-1 44448]
                        )
                      ]
                      spids: [-1 44571]
                    )
                    (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: [44595]
                                )
                              ]
                              spids: [44595]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (X) ($ VSub_Name "$link_command"))}
                                                  )
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {(SQ <"s%@OUTPUT@%">) 
                                                      (DQ ($ VSub_Name "$output")) (SQ <"%g">)
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [44608 44631]
                                      )
                                    }
                                  spids: [44607]
                                )
                              ]
                              spids: [44607]
                            )
                            (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 $?">)})
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [-1 44588]
                        )
                      ]
                      spids: [-1 44667]
                    )
                    (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: [44691]
                                )
                              ]
                              spids: [44691]
                            )
                            (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: [44699]
                                )
                              ]
                              spids: [44699]
                            )
                            (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 44684]
                        )
                      ]
                      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: [44744]
                                    )
                                  ]
                                  spids: [44744]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(DQ ($ VSub_Name "$fast_install"))} 
                                              {(Lit_Other "=")} {(yes)}
                                            )
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:relink_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name "$ECHO")} 
                                                                {
                                                                  (DQ (X) ($ VSub_Name "$compile_var") 
                                                                    ($ VSub_Name "$compile_command") ($ VSub_Name "$compile_rpath")
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                                {
                                                                  (SQ 
                                                                    <
"s%@OUTPUT@%\\$progdir/\\$file%g"
                                                                    >
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [44769 44788]
                                                  )
                                                }
                                              spids: [44768]
                                            )
                                          ]
                                          spids: [44768]
                                        )
                                      ]
                                      spids: [-1 44765]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [44798]
                                        )
                                      ]
                                      spids: [44798]
                                    )
                                  ]
                                  spids: [44791 44801]
                                )
                              ]
                              spids: [-1 44741]
                            )
                          ]
                          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: [44807]
                                )
                              ]
                              spids: [44807]
                            )
                            (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: [44815]
                                )
                              ]
                              spids: [44815]
                            )
                          ]
                          spids: [44804 44823]
                        )
                      ]
                      spids: [44724 44826]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:link_command)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name "$ECHO")} 
                                            {(DQ (X) ($ VSub_Name "$link_command"))}
                                          )
                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                            {(SQ <"s%@OUTPUT@%">) 
                                              (DQ ($ VSub_Name "$output_objdir") (/) 
                                                ($ VSub_Name "$outputname")
                                              ) (SQ <"%g">)
                                            }
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [44835 44860]
                              )
                            }
                          spids: [44834]
                        )
                      ]
                      spids: [44834]
                    )
                    (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 $?">)})
                    (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: [44966]
                                                )
                                              ]
                                              spids: [44966]
                                            )
                                          ]
                                          spids: [-1 44963]
                                        )
                                        (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: [45009]
                                                )
                                              ]
                                              spids: [45009]
                                            )
                                          ]
                                          spids: [44988 45006]
                                        )
                                      ]
                                      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: [45029]
                                            )
                                          ]
                                          spids: [45029]
                                        )
                                      ]
                                      spids: [45019 45041]
                                    )
                                  ]
                                  spids: [44942 45044]
                                )
                              spids: [44938 44940]
                            )
                            (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: [45050 45052]
                                        ) ("; ") ($ VSub_Name "$relink_command") (")")
                                      )
                                    }
                                  spids: [45047]
                                )
                              ]
                              spids: [45047]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (X) ($ VSub_Name "$relink_command"))}
                                                  )
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {(DQ ($ VSub_Name "$sed_quote_subst"))}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [45060 45077]
                                      )
                                    }
                                  spids: [45059]
                                )
                              ]
                              spids: [45059]
                            )
                          ]
                          spids: [-1 44926]
                        )
                      ]
                      spids: [-1 45080]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ (X) ($ VSub_Name "$ECHO"))} {(Lit_Other "=")} 
                                  {
                                    (DQ (X) ($ VSub_Name "$SHELL") (" ") ($ VSub_Name "$progpath") 
                                      (" --fallback-echo")
                                    )
                                  }
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Case
                              to_match: {($ VSub_Name "$progpath")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "[") 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\\\">
                                      ) (/) (Lit_Other "]") (Lit_Other "*")
                                    }
                                    {(Lit_Other "[") (A-Za-z) (Lit_Other "]") (Lit_Other ":") 
                                      (Lit_Other "[") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (/) (Lit_Other "]") (Lit_Other "*")
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:qecho)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$SHELL") (" ") 
                                                ($ VSub_Name "$progpath") (" --fallback-echo")
                                              )
                                            }
                                          spids: [45137]
                                        )
                                      ]
                                      spids: [45137]
                                    )
                                  ]
                                  spids: [45118 45135 45144 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:qecho)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$SHELL") (" ") 
                                                (CommandSubPart
                                                  command_list: (CommandList children:[(C {(pwd)})])
                                                  left_token: <Left_Backtick "`">
                                                  spids: [45154 45156]
                                                ) (/) ($ VSub_Name "$progpath") (" --fallback-echo")
                                              )
                                            }
                                          spids: [45150]
                                        )
                                      ]
                                      spids: [45150]
                                    )
                                  ]
                                  spids: [45147 45148 45161 -1]
                                )
                              ]
                              spids: [45111 45115 45164]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:qecho)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name "$ECHO")} 
                                                    {(DQ (X) ($ VSub_Name "$qecho"))}
                                                  )
                                                  (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                    {(DQ ($ VSub_Name "$sed_quote_subst"))}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [45168 45185]
                                      )
                                    }
                                  spids: [45167]
                                )
                              ]
                              spids: [45167]
                            )
                          ]
                          spids: [-1 45108]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:qecho)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {($ VSub_Name "$ECHO")} 
                                                {(DQ (X) ($ VSub_Name "$ECHO"))}
                                              )
                                              (C {($ VSub_Name "$Xsed")} {(-e)} 
                                                {(DQ ($ VSub_Name "$sed_quote_subst"))}
                                              )
                                            ]
                                            negated: False
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [45192 45209]
                                  )
                                }
                              spids: [45191]
                            )
                          ]
                          spids: [45191]
                        )
                      ]
                      spids: [45188 45212]
                    )
                    (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: [45260]
                                        )
                                      ]
                                      spids: [45260]
                                    )
                                  ]
                                  spids: [45242 45244 45263 -1]
                                )
                              ]
                              spids: [45235 45239 45266]
                            )
                            (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: [45286]
                                        )
                                      ]
                                      spids: [45286]
                                    )
                                    (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: [45304]
                                        )
                                      ]
                                      spids: [45304]
                                    )
                                  ]
                                  spids: [45280 45283 45307 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:exeext)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [45313]
                                        )
                                      ]
                                      spids: [45313]
                                    )
                                  ]
                                  spids: [45310 45311 45315 -1]
                                )
                              ]
                              spids: [45273 45277 45318]
                            )
                            (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: [45355]
                                        )
                                      ]
                                      spids: [45355]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output_path)
                                          op: Equal
                                          rhs: {($ VSub_Name "$func_dirname_result")}
                                          spids: [45359]
                                        )
                                      ]
                                      spids: [45359]
                                    )
                                    (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: [45363]
                                        )
                                      ]
                                      spids: [45363]
                                    )
                                    (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: [45374]
                                        )
                                      ]
                                      spids: [45374]
                                    )
                                    (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: [45412]
                                        )
                                      ]
                                    )
                                    (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: [45438]
                                        )
                                      ]
                                      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: [45528]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [-1 45521]
                                                )
                                              ]
                                              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: [45540]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [45533 45545]
                                            )
                                          ]
                                          spids: [45496]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [45328 45338 45551 -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: [45586]
                                        )
                                      ]
                                    )
                                    (C {(chmod)} {(Lit_Other "+") (x)} {($ VSub_Name "$output")})
                                  ]
                                  spids: [45554 45556 45599 -1]
                                )
                              ]
                              spids: [45321 45325 45602]
                            )
                          ]
                          spids: [45224]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                  ]
                  spids: [42662 42663 45613 -1]
                )
              ]
              spids: [32340 32344 45616]
            )
            (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: [45653]
                                )
                              ]
                              spids: [45653]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$convenience"))}
                                  spids: [45661]
                                )
                              ]
                              spids: [45661]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [45667]
                                )
                              ]
                              spids: [45667]
                            )
                          ]
                          spids: [-1 45650]
                        )
                      ]
                      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: [45690]
                                    )
                                  ]
                                  spids: [45690]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:build_libtool_libs)
                                      op: Equal
                                      rhs: {(no)}
                                      spids: [45696]
                                    )
                                  ]
                                  spids: [45696]
                                )
                              ]
                              spids: [-1 45687]
                            )
                          ]
                          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: [45703]
                                )
                              ]
                              spids: [45703]
                            )
                            (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: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:oldobjs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$oldobjs") (" ") 
                                                ($ VSub_Name "$symfileobj")
                                              )
                                            }
                                          spids: [45737]
                                        )
                                      ]
                                      spids: [45737]
                                    )
                                  ]
                                  spids: [-1 45734]
                                )
                              ]
                              spids: [-1 45745]
                            )
                          ]
                          spids: [45700 45748]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:addlibs)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$old_convenience"))}
                              spids: [45751]
                            )
                          ]
                          spids: [45751]
                        )
                      ]
                      spids: [45671 45757]
                    )
                    (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: [45775]
                                )
                              ]
                              spids: [45775]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:generated)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$generated") (" ") ($ VSub_Name "$gentop"))}
                                  spids: [45786]
                                )
                              ]
                              spids: [45786]
                            )
                            (C {(func_extract_archives)} {($ VSub_Name "$gentop")} 
                              {($ VSub_Name "$addlibs")}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$oldobjs") (" ") 
                                        ($ VSub_Name "$func_extract_archives_result")
                                      )
                                    }
                                  spids: [45802]
                                )
                              ]
                              spids: [45802]
                            )
                          ]
                          spids: [-1 45772]
                        )
                      ]
                      spids: [-1 45810]
                    )
                    (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: [45844]
                                )
                              ]
                              spids: [45844]
                            )
                          ]
                          spids: [-1 45841]
                        )
                      ]
                      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: [45870]
                                    )
                                  ]
                                  spids: [45870]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:generated)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name "$generated") (" ") ($ VSub_Name "$gentop"))
                                        }
                                      spids: [45881]
                                    )
                                  ]
                                  spids: [45881]
                                )
                                (C {(func_extract_archives)} {($ VSub_Name "$gentop")} 
                                  {($ VSub_Name "$dlprefiles")}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:oldobjs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name "$oldobjs") (" ") 
                                            ($ VSub_Name "$func_extract_archives_result")
                                          )
                                        }
                                      spids: [45897]
                                    )
                                  ]
                                  spids: [45897]
                                )
                              ]
                              spids: [-1 45867]
                            )
                          ]
                          spids: [-1 45905]
                        )
                        (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: [45945 45962]
                                                )
                                              spids: [45941 -1]
                                            )
                                            (C {(sort)})
                                            (SimpleCommand
                                              words: [{(sort)} {(-uc)}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                  spids: [45974]
                                                )
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: 2
                                                  arg_word: {(1)}
                                                  spids: [45977]
                                                )
                                              ]
                                            )
                                          ]
                                          negated: False
                                        )
                                      spids: [45935 45979]
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              action: [(C {(Lit_Other ":")})]
                              spids: [-1 45982]
                            )
                          ]
                          else_action: [
                            (C {($ VSub_Name "$ECHO")} 
                              {(DQ ("copying selected object files to avoid basename conflicts..."))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:gentop)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$output_objdir") (/) (${ VSub_Name outputname) 
                                        (x)
                                      )
                                    }
                                  spids: [45998]
                                )
                              ]
                              spids: [45998]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:generated)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$generated") (" ") ($ VSub_Name "$gentop"))}
                                  spids: [46009]
                                )
                              ]
                              spids: [46009]
                            )
                            (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: [46024]
                                )
                              ]
                              spids: [46024]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [46028]
                                )
                              ]
                              spids: [46028]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:counter)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [46031]
                                )
                              ]
                              spids: [46031]
                            )
                            (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: [46054]
                                        )
                                      ]
                                      spids: [46054]
                                    )
                                    (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: [46076]
                                                )
                                              ]
                                              spids: [46076]
                                            )
                                          ]
                                          spids: [46072 46074 46079 -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: [46111]
                                                        )
                                                      ]
                                                      spids: [46111]
                                                    )
                                                    (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: [46127]
                                                        )
                                                      ]
                                                      spids: [46127]
                                                    )
                                                    (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: [46142 46152 46154 -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 46175]
                                                                )
                                                              ]
                                                              spids: [-1 46180]
                                                            )
                                                          ]
                                                          spids: [46157 46158 46182 -1]
                                                        )
                                                      ]
                                                      spids: [46131 46139 46185]
                                                    )
                                                  ]
                                                  spids: [46100 46188]
                                                )
                                            )
                                            (C {(func_show_eval)} 
                                              {
                                                (DQ ("ln ") ($ VSub_Name "$obj") (" ") 
                                                  ($ VSub_Name "$gentop") (/) ($ VSub_Name "$newobj") (" || cp ") ($ VSub_Name "$obj") (" ") ($ VSub_Name "$gentop") (/) 
                                                  ($ VSub_Name "$newobj")
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:oldobjs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$oldobjs") (" ") 
                                                        ($ VSub_Name "$gentop") (/) ($ VSub_Name "$newobj")
                                                      )
                                                    }
                                                  spids: [46209]
                                                )
                                              ]
                                              spids: [46209]
                                            )
                                          ]
                                          spids: [46082 46092 46219 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:oldobjs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$oldobjs") (" ") 
                                                        ($ VSub_Name "$obj")
                                                      )
                                                    }
                                                  spids: [46225]
                                                )
                                              ]
                                              spids: [46225]
                                            )
                                          ]
                                          spids: [46222 46223 46232 -1]
                                        )
                                      ]
                                      spids: [46060 46068 46235]
                                    )
                                  ]
                                  spids: [46044 46238]
                                )
                              spids: [46040 -1]
                            )
                          ]
                          spids: [45988 46241]
                        )
                        (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: [46261]
                            )
                          ]
                          spids: [46261]
                        )
                        (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: [46295]
                                    )
                                  ]
                                  spids: [46295]
                                )
                              ]
                              spids: [-1 46292]
                            )
                          ]
                          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: [46313]
                                )
                              ]
                              spids: [46313]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {(Lit_Other ":")}
                                  spids: [46317]
                                )
                              ]
                              spids: [46317]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objlist)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [46321]
                                )
                              ]
                              spids: [46321]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:concat_cmds)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [46324]
                                )
                              ]
                              spids: [46324]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$oldobjs")}
                                  spids: [46327]
                                )
                              ]
                              spids: [46327]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [46331]
                                )
                              ]
                              spids: [46331]
                            )
                            (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: [46350]
                                        )
                                      ]
                                      spids: [46350]
                                    )
                                  ]
                                  spids: [46347 46354]
                                )
                              spids: [46343 -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: [46373]
                                )
                              ]
                              spids: [46373]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:len)
                                  op: Equal
                                  rhs: {($ VSub_Name "$len0")}
                                  spids: [46377]
                                )
                              ]
                              spids: [46377]
                            )
                            (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: [46410]
                                        )
                                      ]
                                      spids: [46410]
                                    )
                                    (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 46439]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:oldobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name "$objlist")}
                                              spids: [46452]
                                            )
                                          ]
                                          spids: [46452]
                                        )
                                        (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: [46475]
                                                    )
                                                  ]
                                                  spids: [46475]
                                                )
                                              ]
                                              spids: [-1 46472]
                                            )
                                          ]
                                          spids: [-1 46479]
                                        )
                                        (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: [46492]
                                                )
                                              ]
                                              spids: [46492]
                                            )
                                          ]
                                          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: [46509]
                                            )
                                          ]
                                          spids: [46509]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:len)
                                              op: Equal
                                              rhs: {($ VSub_Name "$len0")}
                                              spids: [46512]
                                            )
                                          ]
                                          spids: [46512]
                                        )
                                      ]
                                      spids: [46445 46516]
                                    )
                                  ]
                                  spids: [46390 46519]
                                )
                              spids: [46386 -1]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {($ VSub_Name "$save_RANLIB")}
                                  spids: [46522]
                                )
                              ]
                              spids: [46522]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$objlist")}
                                  spids: [46526]
                                )
                              ]
                              spids: [46526]
                            )
                            (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 46547]
                                )
                              ]
                              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: [46559 46574]
                            )
                          ]
                          spids: [46299 46577]
                        )
                      ]
                      spids: [45848 46580]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$cmds"))} {(SQ <"exit $?">)})
                  ]
                  spids: [45633 46594]
                )
              spids: [45629 45631]
            )
            (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: [46638]
                        )
                      ]
                      spids: [46638]
                    )
                    (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: [46653]
                            )
                          ]
                          spids: [46653]
                        )
                      ]
                      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: [46707]
                                        )
                                      ]
                                      spids: [46707]
                                    )
                                  ]
                                  spids: [-1 46704]
                                )
                                (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: [46750]
                                        )
                                      ]
                                      spids: [46750]
                                    )
                                  ]
                                  spids: [46729 46747]
                                )
                              ]
                              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: [46770]
                                    )
                                  ]
                                  spids: [46770]
                                )
                              ]
                              spids: [46760 46782]
                            )
                          ]
                          spids: [46683 46785]
                        )
                      spids: [46679 46681]
                    )
                    (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: [46795 46797]
                                ) ("; ") ($ VSub_Name "$SHELL") (" ") ($ VSub_Name "$progpath") (" ") ($ VSub_Name "$preserve_args") 
                                (" --mode=relink ") ($ VSub_Name "$libtool_args") (" @inst_prefix_dir@)")
                              )
                            }
                          spids: [46792]
                        )
                      ]
                      spids: [46792]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:relink_command)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name "$ECHO")} 
                                            {(DQ (X) ($ VSub_Name "$relink_command"))}
                                          )
                                          (C {($ VSub_Name "$Xsed")} {(-e)} 
                                            {(DQ ($ VSub_Name "$sed_quote_subst"))}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [46811 46828]
                              )
                            }
                          spids: [46810]
                        )
                      ]
                      spids: [46810]
                    )
                    (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: [46848]
                                )
                              ]
                              spids: [46848]
                            )
                          ]
                          spids: [-1 46845]
                        )
                      ]
                      spids: [-1 46851]
                    )
                    (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 46907]
                                                )
                                              ]
                                              spids: [-1 46913]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:output)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$outputname")
                                                      ) (i)
                                                    }
                                                  spids: [46916]
                                                )
                                              ]
                                              spids: [46916]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [46929]
                                                )
                                              ]
                                              spids: [46929]
                                            )
                                            (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: [46963]
                                                                )
                                                              ]
                                                              spids: [46963]
                                                            )
                                                            (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: [46972 46986]
                                                                )
                                                              }
                                                            )
                                                            (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
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: newdependency_libs
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$newdependency_libs"
                                                                        ) (" ") ($ VSub_Name "$libdir") (/) ($ VSub_Name "$name")
                                                                      )
                                                                    }
                                                                  spids: [47010]
                                                                )
                                                              ]
                                                              spids: [47010]
                                                            )
                                                          ]
                                                          spids: [46951 46953 47020 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: newdependency_libs
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
"$newdependency_libs"
                                                                        ) (" ") ($ VSub_Name "$deplib")
                                                                      )
                                                                    }
                                                                  spids: [47026]
                                                                )
                                                              ]
                                                              spids: [47026]
                                                            )
                                                          ]
                                                          spids: [47023 47024 47033 -1]
                                                        )
                                                      ]
                                                      spids: [46944 46948 47036]
                                                    )
                                                  ]
                                                  spids: [46941 47039]
                                                )
                                              spids: [46937 46939]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$newdependency_libs"))}
                                                  spids: [47042]
                                                )
                                              ]
                                              spids: [47042]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlfiles)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [47048]
                                                )
                                              ]
                                              spids: [47048]
                                            )
                                            (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: [47083]
                                                                )
                                                              ]
                                                              spids: [47083]
                                                            )
                                                            (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: [47092 47106]
                                                                )
                                                              }
                                                            )
                                                            (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
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:newdlfiles)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$newdlfiles") 
                                                                        (" ") ($ VSub_Name "$libdir") (/) ($ VSub_Name "$name")
                                                                      )
                                                                    }
                                                                  spids: [47130]
                                                                )
                                                              ]
                                                              spids: [47130]
                                                            )
                                                          ]
                                                          spids: [47071 47073 47140 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:newdlfiles)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name "$newdlfiles") 
                                                                        (" ") ($ VSub_Name "$lib")
                                                                      )
                                                                    }
                                                                  spids: [47146]
                                                                )
                                                              ]
                                                              spids: [47146]
                                                            )
                                                          ]
                                                          spids: [47143 47144 47153 -1]
                                                        )
                                                      ]
                                                      spids: [47064 47068 47156]
                                                    )
                                                  ]
                                                  spids: [47061 47159]
                                                )
                                              spids: [47057 47059]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlfiles)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$newdlfiles"))}
                                                  spids: [47162]
                                                )
                                              ]
                                              spids: [47162]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [47168]
                                                )
                                              ]
                                              spids: [47168]
                                            )
                                            (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: [47218]
                                                                )
                                                              ]
                                                              spids: [47218]
                                                            )
                                                            (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: [47227 47241]
                                                                )
                                                              }
                                                            )
                                                            (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
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:newdlprefiles)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name "$newdlprefiles") (" ") ($ VSub_Name "$libdir") (/) ($ VSub_Name "$name")
                                                                      )
                                                                    }
                                                                  spids: [47265]
                                                                )
                                                              ]
                                                              spids: [47265]
                                                            )
                                                          ]
                                                          spids: [47190 47192 47275 -1]
                                                        )
                                                      ]
                                                      spids: [47183 47187 47278]
                                                    )
                                                  ]
                                                  spids: [47180 47281]
                                                )
                                              spids: [47176 47178]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlprefiles)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$newdlprefiles"))}
                                                  spids: [47284]
                                                )
                                              ]
                                              spids: [47284]
                                            )
                                          ]
                                          spids: [-1 46893]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [47293]
                                            )
                                          ]
                                          spids: [47293]
                                        )
                                        (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: [47334]
                                                            )
                                                          ]
                                                          spids: [47334]
                                                        )
                                                      ]
                                                      spids: [47315 47332 47339 -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: [47346 47348]
                                                                  ) (DQ (/) ($ VSub_Name "$lib"))
                                                                }
                                                              spids: [47345]
                                                            )
                                                          ]
                                                          spids: [47345]
                                                        )
                                                      ]
                                                      spids: [47342 47343 47354 -1]
                                                    )
                                                  ]
                                                  spids: [47308 47312 47357]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdlfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$newdlfiles") (" ") 
                                                            ($ VSub_Name "$abs")
                                                          )
                                                        }
                                                      spids: [47360]
                                                    )
                                                  ]
                                                  spids: [47360]
                                                )
                                              ]
                                              spids: [47305 47368]
                                            )
                                          spids: [47301 47303]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlfiles)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$newdlfiles"))}
                                              spids: [47371]
                                            )
                                          ]
                                          spids: [47371]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlprefiles)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [47377]
                                            )
                                          ]
                                          spids: [47377]
                                        )
                                        (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: [47418]
                                                            )
                                                          ]
                                                          spids: [47418]
                                                        )
                                                      ]
                                                      spids: [47399 47416 47423 -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: [47430 47432]
                                                                  ) (DQ (/) ($ VSub_Name "$lib"))
                                                                }
                                                              spids: [47429]
                                                            )
                                                          ]
                                                          spids: [47429]
                                                        )
                                                      ]
                                                      spids: [47426 47427 47438 -1]
                                                    )
                                                  ]
                                                  spids: [47392 47396 47441]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdlprefiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$newdlprefiles") (" ") 
                                                            ($ VSub_Name "$abs")
                                                          )
                                                        }
                                                      spids: [47444]
                                                    )
                                                  ]
                                                  spids: [47444]
                                                )
                                              ]
                                              spids: [47389 47452]
                                            )
                                          spids: [47385 47387]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlprefiles)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name "$newdlprefiles"))}
                                              spids: [47455]
                                            )
                                          ]
                                          spids: [47455]
                                        )
                                      ]
                                      spids: [47290 47461]
                                    )
                                    (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: [47473]
                                        )
                                      ]
                                      spids: [47473]
                                    )
                                    (Case
                                      to_match: 
                                        {($ VSub_Name "$host") (Lit_Comma ",") 
                                          ($ VSub_Name "$output") (Lit_Comma ",") ($ VSub_Name "$installed") (Lit_Comma ",") ($ VSub_Name "$module") (Lit_Comma ",") 
                                          ($ VSub_Name "$dlname")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (cygwin) (Lit_Other "*") (Lit_Comma ",") 
                                              (Lit_Other "*") (lai) (Lit_Comma ",") (yes) (Lit_Comma ",") (no) (Lit_Comma ",") (Lit_Other "*") (.dll)
                                            }
                                            {(Lit_Other "*") (mingw) (Lit_Other "*") (Lit_Comma ",") 
                                              (Lit_Other "*") (lai) (Lit_Comma ",") (yes) (Lit_Comma ",") (no) (Lit_Comma ",") (Lit_Other "*") (.dll)
                                            }
                                            {(Lit_Other "*") (cegcc) (Lit_Other "*") (Lit_Comma ",") 
                                              (Lit_Other "*") (lai) (Lit_Comma ",") (yes) (Lit_Comma ",") (no) (Lit_Comma ",") (Lit_Other "*") (.dll)
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tdlname)
                                                  op: Equal
                                                  rhs: {(../bin/) ($ VSub_Name "$dlname")}
                                                  spids: [47539]
                                                )
                                              ]
                                              spids: [47539]
                                            )
                                          ]
                                          spids: [47492 47537 47543 -1]
                                        )
                                      ]
                                      spids: [47477 47489 47546]
                                    )
                                    (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: [47551]
                                        )
                                      ]
                                    )
                                    (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: [47670]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [-1 47665]
                                        )
                                      ]
                                      spids: [-1 47683]
                                    )
                                  ]
                                  spids: [46877 47686]
                                )
                              spids: [46871 46875]
                            )
                          ]
                          spids: [46863]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(func_show_eval)} 
                      {
                        (SQ 
                          <
"( cd \"$output_objdir\" && $RM \"$outputname\" && $LN_S \"../$outputname\" \"$outputname\" )"
                          >
                        )
                      } {(SQ <"exit $?">)}
                    )
                  ]
                  spids: [46633 46635 47712 -1]
                )
              ]
              spids: [46626 46630 47715]
            )
            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
          ]
          spids: [18255]
        )
      spids: [18250 18254]
    )
    (AndOr
      children: [
        (BraceGroup
          children: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(test)} {(DQ ($ VSub_Name "$mode"))} {(Lit_Other "=")} {(link)})
                    (C {(test)} {(DQ ($ VSub_Name "$mode"))} {(Lit_Other "=")} {(relink)})
                  ]
                  op_id: Op_DPipe
                )
              terminator: <Op_Semi ";">
            )
          ]
          spids: [47725]
        )
        (C {(func_mode_link)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
              spids: [47757 47763]
            )
          }
        )
      ]
      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: [47781]
                )
              ]
              spids: [47781]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(SQ )} spids:[47787])]
              spids: [47787]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rmforce) op:Equal rhs:{(SQ )} spids:[47790])]
              spids: [47790]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:exit_status) op:Equal rhs:{(0)} spids:[47793])]
              spids: [47793]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$magic"))}
                  spids: [47806]
                )
              ]
              spids: [47806]
            )
            (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: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:RM)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name "$RM") (" ") ($ VSub_Name "$arg"))}
                                      spids: [47831]
                                    )
                                  ]
                                  spids: [47831]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rmforce)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [47839]
                                )
                              ]
                              spids: [47839]
                            )
                          ]
                          spids: [47828 47829 47842 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RM)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$RM") (" ") ($ VSub_Name "$arg"))}
                                  spids: [47849]
                                )
                              ]
                              spids: [47849]
                            )
                          ]
                          spids: [47845 47847 47856 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:files)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$files") (" ") ($ VSub_Name "$arg"))}
                                  spids: [47862]
                                )
                              ]
                              spids: [47862]
                            )
                          ]
                          spids: [47859 47860 47869 -1]
                        )
                      ]
                      spids: [47821 47825 47872]
                    )
                  ]
                  spids: [47818 47875]
                )
              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:[47899])]
              spids: [47899]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:origobjdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$objdir"))}
                  spids: [47903]
                )
              ]
              spids: [47903]
            )
            (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: [47935]
                        )
                      ]
                      spids: [47935]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ (X) ($ VSub_Name "$dir"))} {(Lit_Other "=")} {(X.)})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objdir)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name "$origobjdir"))}
                                  spids: [47958]
                                )
                              ]
                              spids: [47958]
                            )
                          ]
                          spids: [-1 47955]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:objdir)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$dir") (/) ($ VSub_Name "$origobjdir"))}
                              spids: [47967]
                            )
                          ]
                          spids: [47967]
                        )
                      ]
                      spids: [47964 47975]
                    )
                    (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: [47985]
                        )
                      ]
                      spids: [47985]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name "$mode"))} {(Lit_Other "=")} {(uninstall)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:objdir)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name "$dir"))}
                              spids: [48003]
                            )
                          ]
                          spids: [48003]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$mode"))} {(Lit_Other "=")} {(clean)})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Case
                              to_match: {(DQ (" ") ($ VSub_Name "$rmdirs") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$objdir") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  spids: [48041 48048 48050 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rmdirs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$rmdirs") (" ") ($ VSub_Name "$objdir"))
                                            }
                                          spids: [48056]
                                        )
                                      ]
                                      spids: [48056]
                                    )
                                  ]
                                  spids: [48053 48054 48063 -1]
                                )
                              ]
                              spids: [48030 48038 48066]
                            )
                          ]
                          spids: [-1 48027]
                        )
                      ]
                      spids: [-1 48069]
                    )
                    (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: [48092]
                                        )
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 2
                                          arg_word: {(1)}
                                          spids: [48095]
                                        )
                                      ]
                                      spids: [48079]
                                    )
                                    (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: [48114]
                                            )
                                            (Redir
                                              op_id: Redir_GreatAnd
                                              fd: 2
                                              arg_word: {(1)}
                                              spids: [48117]
                                            )
                                          ]
                                          spids: [48101]
                                        )
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name "$file"))})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(Lit_Other ":")})]
                          spids: [-1 48132]
                        )
                        (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: [48152]
                                )
                              ]
                              spids: [48152]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [48138 48149]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name "$rmforce"))} {(Lit_Other "=")} {(yes)})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [48159 48172]
                        )
                      ]
                      spids: [-1 48178]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rmfiles)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name "$file"))}
                          spids: [48182]
                        )
                      ]
                      spids: [48182]
                    )
                    (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: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$rmfiles") (" ") 
                                                        ($ VSub_Name "$objdir") (/) ($ VSub_Name "$n")
                                                      )
                                                    }
                                                  spids: [48241]
                                                )
                                              ]
                                              spids: [48241]
                                            )
                                          ]
                                          spids: [48238 48251]
                                        )
                                      spids: [48234 48236]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name "$old_library"))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:rmfiles)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$rmfiles") (" ") 
                                                    ($ VSub_Name "$objdir") (/) ($ VSub_Name "$old_library")
                                                  )
                                                }
                                              spids: [48264]
                                            )
                                          ]
                                          spids: [48264]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Case
                                      to_match: {(DQ ($ VSub_Name "$mode"))}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(clean)}]
                                          action: [
                                            (Case
                                              to_match: 
                                                {(DQ ("  ") ($ VSub_Name "$library_names") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$dlname") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [48303 48310 48312 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rmfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$rmfiles") (" ") 
                                                                ($ VSub_Name "$objdir") (/) ($ VSub_Name "$dlname")
                                                              )
                                                            }
                                                          spids: [48318]
                                                        )
                                                      ]
                                                      spids: [48318]
                                                    )
                                                  ]
                                                  spids: [48315 48316 48327 -1]
                                                )
                                              ]
                                              spids: [48288 48296 48330]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name "$libdir"))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:rmfiles)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$rmfiles") (" ") 
                                                            ($ VSub_Name "$objdir") (/) ($ VSub_Name "$name") (" ") ($ VSub_Name "$objdir") (/) (${ VSub_Name name) (i)
                                                          )
                                                        }
                                                      spids: [48343]
                                                    )
                                                  ]
                                                  spids: [48343]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [48284 48285 48360 -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 48378]
                                                )
                                              ]
                                              spids: [-1 48396]
                                            )
                                            (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 48411]
                                                )
                                              ]
                                              spids: [-1 48429]
                                            )
                                          ]
                                          spids: [48363 48364 48436 -1]
                                        )
                                      ]
                                      spids: [48275 48281 48439]
                                    )
                                  ]
                                  spids: [-1 48214]
                                )
                              ]
                              spids: [-1 48442]
                            )
                          ]
                          spids: [48196 48198 48445 -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: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$rmfiles") (" ") 
                                                        ($ VSub_Name "$dir") (/) ($ VSub_Name "$pic_object")
                                                      )
                                                    }
                                                  spids: [48515]
                                                )
                                              ]
                                              spids: [48515]
                                            )
                                          ]
                                          spids: [-1 48512]
                                        )
                                      ]
                                      spids: [-1 48525]
                                    )
                                    (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: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$rmfiles") (" ") 
                                                        ($ VSub_Name "$dir") (/) ($ VSub_Name "$non_pic_object")
                                                      )
                                                    }
                                                  spids: [48561]
                                                )
                                              ]
                                              spids: [48561]
                                            )
                                          ]
                                          spids: [-1 48558]
                                        )
                                      ]
                                      spids: [-1 48571]
                                    )
                                  ]
                                  spids: [-1 48467]
                                )
                              ]
                              spids: [-1 48574]
                            )
                          ]
                          spids: [48449 48451 48577 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name "$mode"))} {(Lit_Other "=")} 
                                          {(clean)}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:noexename)
                                          op: Equal
                                          rhs: {($ VSub_Name "$name")}
                                          spids: [48602]
                                        )
                                      ]
                                      spids: [48602]
                                    )
                                    (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: [48632]
                                                )
                                              ]
                                              spids: [48632]
                                            )
                                            (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: [48650]
                                                )
                                              ]
                                              spids: [48650]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$rmfiles") (" ") 
                                                        ($ VSub_Name "$file")
                                                      )
                                                    }
                                                  spids: [48662]
                                                )
                                              ]
                                              spids: [48662]
                                            )
                                          ]
                                          spids: [48613 48615 48670 -1]
                                        )
                                      ]
                                      spids: [48606 48610 48673]
                                    )
                                    (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: [48711]
                                                        )
                                                      ]
                                                      spids: [48711]
                                                    )
                                                    (C {(func_source)} 
                                                      {
                                                        ($ VSub_Name 
"$func_ltwrapper_scriptname_result"
                                                        )
                                                      }
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rmfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$rmfiles") (" ") 
                                                                ($ VSub_Name 
"$func_ltwrapper_scriptname_result"
                                                                )
                                                              )
                                                            }
                                                          spids: [48719]
                                                        )
                                                      ]
                                                      spids: [48719]
                                                    )
                                                  ]
                                                  spids: [-1 48701]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:relink_command)
                                                      op: Equal
                                                      rhs: {(SQ )}
                                                      spids: [48730]
                                                    )
                                                  ]
                                                  spids: [48730]
                                                )
                                                (C {(func_source)} 
                                                  {($ VSub_Name "$dir") (/) 
                                                    ($ VSub_Name "$noexename")
                                                  }
                                                )
                                              ]
                                              spids: [48727 48740]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rmfiles)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$rmfiles") (" ") 
                                                        ($ VSub_Name "$objdir") (/) ($ VSub_Name "$name") (" ") ($ VSub_Name "$objdir") (/) (${ VSub_Name name) (S.) (${ VSub_Name objext)
                                                      )
                                                    }
                                                  spids: [48752]
                                                )
                                              ]
                                              spids: [48752]
                                            )
                                            (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: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rmfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$rmfiles") (" ") 
                                                                ($ VSub_Name "$objdir") (/lt-) ($ VSub_Name "$name")
                                                              )
                                                            }
                                                          spids: [48798]
                                                        )
                                                      ]
                                                      spids: [48798]
                                                    )
                                                  ]
                                                  spids: [-1 48795]
                                                )
                                              ]
                                              spids: [-1 48808]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ (X) ($ VSub_Name "$noexename"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ (X) ($ VSub_Name "$name"))}
                                                        )
                                                      terminator: <Op_Semi ";">
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:rmfiles)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$rmfiles") (" ") 
                                                                ($ VSub_Name "$objdir") (/lt-) (${ VSub_Name noexename) (.c)
                                                              )
                                                            }
                                                          spids: [48833]
                                                        )
                                                      ]
                                                      spids: [48833]
                                                    )
                                                  ]
                                                  spids: [-1 48830]
                                                )
                                              ]
                                              spids: [-1 48846]
                                            )
                                          ]
                                          spids: [-1 48689]
                                        )
                                      ]
                                      spids: [-1 48849]
                                    )
                                  ]
                                  spids: [-1 48599]
                                )
                              ]
                              spids: [-1 48852]
                            )
                          ]
                          spids: [48581 48582 48855 -1]
                        )
                      ]
                      spids: [48189 48193 48858]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name "$RM") (" ") ($ VSub_Name "$rmfiles"))} 
                      {(SQ <"exit_status=1">)}
                    )
                  ]
                  spids: [47918 48874]
                )
              spids: [47914 47916]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:objdir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$origobjdir"))}
                  spids: [48877]
                )
              ]
              spids: [48877]
            )
            (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 48911]
                        )
                      ]
                      spids: [-1 48923]
                    )
                  ]
                  spids: [48897 48926]
                )
              spids: [48893 48895]
            )
            (C {(exit)} {($ VSub_Name "$exit_status")})
          ]
          spids: [47775]
        )
      spids: [47770 47774]
    )
    (AndOr
      children: [
        (BraceGroup
          children: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(test)} {(DQ ($ VSub_Name "$mode"))} {(Lit_Other "=")} {(uninstall)})
                    (C {(test)} {(DQ ($ VSub_Name "$mode"))} {(Lit_Other "=")} {(clean)})
                  ]
                  op_id: Op_DPipe
                )
              terminator: <Op_Semi ";">
            )
          ]
          spids: [48937]
        )
        (C {(func_mode_uninstall)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
              spids: [48969 48975]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name "$mode"))})
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:help)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$generic_help"))}
                  spids: [48991]
                )
              ]
              spids: [48991]
            )
            (C {(func_fatal_help)} {(DQ ("you must specify a MODE"))})
          ]
          spids: [48988]
        )
      ]
      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 "$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 49039]
        )
      ]
      spids: [-1 49055]
    )
    (C {(exit)} {($ VSub_Name "$exit_status")})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_libtool_libs) op:Equal rhs:{(no)} spids:[49098])]
      spids: [49098]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_old_libs) op:Equal rhs:{(yes)} spids:[49101])]
      spids: [49101]
    )
    (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: [49119 49120 49125 -1]
                          )
                          (case_arm
                            pat_list: [{(Lit_Other "*")}]
                            action: [(C {(echo)} {(yes)})]
                            spids: [49127 49128 49133 -1]
                          )
                        ]
                        spids: [49113 49117 49135]
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [49112 49136]
              )
            }
          spids: [49111]
        )
      ]
      spids: [49111]
    )
  ]
)