(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:basename)
          op: assign_op.Equal
          rhs: {(DQ <'s,^.*/,,g'>)}
          spids: [76]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:progpath)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_Number '$0'))}
          spids: [97]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:progname)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<echo>} {(DQ ($ Id.VSub_DollarName '$progpath'))})
                      (C {($ Id.VSub_DollarName '$SED')} {($ Id.VSub_DollarName '$basename')})
                    ]
                    negated: F
                  )
              )
            }
          spids: [106]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:modename)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$progname'))}
          spids: [123]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:EXIT_SUCCESS)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [132]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:EXIT_FAILURE)
          op: assign_op.Equal
          rhs: {<1>}
          spids: [135]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PROGRAM)
          op: assign_op.Equal
          rhs: {<ltmain.sh>}
          spids: [139]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PACKAGE)
          op: assign_op.Equal
          rhs: {<libtool>}
          spids: [142]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:VERSION)
          op: assign_op.Equal
          rhs: {<1.5.22>}
          spids: [145]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TIMESTAMP)
          op: assign_op.Equal
          rhs: {(DQ <' (1.1220.2.365 2005/12/18 22:14:06)'>)}
          spids: [148]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<test>} {<-n>} 
                      {
                        (DQ 
                          (braced_var_sub
                            token: <Id.VSub_Name ZSH_VERSION>
                            suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{<set>})
                          )
                        )
                      }
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(C {<setopt>} {<NO_GLOB_SUBST>})]
          spids: [160 176]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<test>} {(DQ <X> ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {<X--no-reexec>})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(C {<shift>})]
          spids: [189 203]
        )
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<test>} {(DQ <X> ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} 
                      {<X--fallback-echo>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(C {<Id.Lit_Colon ':'>})]
          spids: [212 226]
        )
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<test>} 
                      {
                        (DQ <X> 
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: 
                              (command.Subshell
                                child: (C {($ Id.VSub_DollarName '$echo')} {(SQ <'\\t'>)})
                                redirects: [
                                  (redir
                                    op: <Id.Redir_Great '2>'>
                                    loc: (redir_loc.Fd fd:2)
                                    arg: {<'/dev/null'>}
                                  )
                                ]
                              )
                          )
                        )
                      } {<Id.Lit_Equals '='>} {(SQ <'X\\t'>)}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(C {<Id.Lit_Colon ':'>})]
          spids: [235 266]
        )
      ]
      else_action: [
        (C {<exec>} {($ Id.VSub_DollarName '$SHELL')} {(DQ ($ Id.VSub_DollarName '$progpath'))} 
          {<--no-reexec>} 
          {
            (braced_var_sub
              token: <Id.VSub_Number 1>
              suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{(DQ ($ Id.VSub_At '$@'))})
            )
          }
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<test>} {(DQ <X> ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} 
                      {<X--fallback-echo>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<shift>})
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<EOF>}
                      here_end_span_id: 335
                      stdin_parts: [($ Id.VSub_Star '$*') <'\n'>]
                    )
                )
              ]
              do_fork: T
            )
            (command.ControlFlow
              token: <Id.ControlFlow_Exit exit>
              arg_word: {($ Id.VSub_DollarName '$EXIT_SUCCESS')}
            )
          ]
          spids: [303 317]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:default_mode)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [344]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:help)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'Try '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) 
                ($ Id.VSub_DollarName '$progname') <' --help\' for more information.'>
              )
            }
          spids: [346]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:magic)
          op: assign_op.Equal
          rhs: {(DQ <'%%%MAGIC variable%%%'>)}
          spids: [354]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:mkdir)
          op: assign_op.Equal
          rhs: {(DQ <mkdir>)}
          spids: [359]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:mv)
          op: assign_op.Equal
          rhs: {(DQ <'mv -f'>)}
          spids: [364]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:rm)
          op: assign_op.Equal
          rhs: {(DQ <'rm -f'>)}
          spids: [369]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:Xsed)
          op: assign_op.Equal
          rhs: {(DQ (${ Id.VSub_Name SED)) (SQ <' -e 1s/^X//'>)}
          spids: [381]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sed_quote_subst)
          op: assign_op.Equal
          rhs: {(SQ <'s/\\([\\\\`\\\\"$\\\\\\\\]\\)/\\\\\\1/g'>)}
          spids: [391]
        )
      ]
    )
    (command.Case
      to_match: 
        {
          (command_sub
            left_token: <Id.Left_Backtick '`'>
            child: 
              (command.Pipeline
                children: [(C {<echo>} {<X>}) (C {<tr>} {<X>} {(SQ <'\\101'>)})]
                negated: F
              )
          )
        }
      arms: [
        (case_arm
          pat_list: [{<A>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:SP2NL)
                  op: assign_op.Equal
                  rhs: {(SQ <'tr \\040 \\012'>)}
                  spids: [433]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:NL2SP)
                  op: assign_op.Equal
                  rhs: {(SQ <'tr \\015\\012 \\040\\040'>)}
                  spids: [439]
                )
              ]
            )
          ]
          spids: [422 423 445 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:SP2NL)
                  op: assign_op.Equal
                  rhs: {(SQ <'tr \\100 \\n'>)}
                  spids: [455]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:NL2SP)
                  op: assign_op.Equal
                  rhs: {(SQ <'tr \\r\\n \\100\\100'>)}
                  spids: [461]
                )
              ]
            )
          ]
          spids: [448 449 467 -1]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<test>} 
                      {
                        (DQ 
                          (braced_var_sub
                            token: <Id.VSub_Name LC_ALL>
                            suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{<set>})
                          )
                        )
                      } {<Id.Lit_Equals '='>} {<set>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:save_LC_ALL)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_DollarName '$LC_ALL'))}
                      spids: [507]
                    )
                  ]
                )
              terminator: <Id.Op_Semi _>
            )
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:LC_ALL)
                      op: assign_op.Equal
                      rhs: {<C>}
                      spids: [513]
                    )
                  ]
                )
              terminator: <Id.Op_Semi _>
            )
            (C {<export>} {<LC_ALL>})
          ]
          spids: [487 504]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<test>} 
                      {
                        (DQ 
                          (braced_var_sub
                            token: <Id.VSub_Name LANG>
                            suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{<set>})
                          )
                        )
                      } {<Id.Lit_Equals '='>} {<set>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:save_LANG)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_DollarName '$LANG'))}
                      spids: [543]
                    )
                  ]
                )
              terminator: <Id.Op_Semi _>
            )
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:LANG)
                      op: assign_op.Equal
                      rhs: {<C>}
                      spids: [549]
                    )
                  ]
                )
              terminator: <Id.Op_Semi _>
            )
            (C {<export>} {<LANG>})
          ]
          spids: [523 540]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:lt_nl)
          op: assign_op.Equal
          rhs: {(SQ <'\n'>)}
          spids: [563]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:IFS)
          op: assign_op.Equal
          rhs: {(DQ <' \t'> ($ Id.VSub_DollarName '$lt_nl'))}
          spids: [568]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$build_libtool_libs'))} 
                          {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>}
                        )
                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$build_old_libs'))} 
                          {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>}
                        )
                      ]
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.Simple
              words: [
                {($ Id.VSub_DollarName '$echo')}
                {
                  (DQ ($ Id.VSub_DollarName '$modename') 
                    <': not configured to build any kind of library'>
                  )
                }
              ]
              redirects: [(redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.Simple
              words: [
                {($ Id.VSub_DollarName '$echo')}
                {
                  (DQ <'Fatal configuration error.  See the '> ($ Id.VSub_DollarName '$PACKAGE') 
                    <' docs for more information.'>
                  )
                }
              ]
              redirects: [(redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow
              token: <Id.ControlFlow_Exit exit>
              arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
            )
          ]
          spids: [575 602]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:mode)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$default_mode')}
          spids: [638]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:nonopt)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [641]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:prev)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [643]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:prevopt)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [645]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:run)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [647]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:show)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$echo'))}
          spids: [649]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:show_help)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [654]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:execute_dlfiles)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [656]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:duplicate_deps)
          op: assign_op.Equal
          rhs: {<no>}
          spids: [658]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:preserve_args)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [661]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:lo2o)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'s/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <.lo> 
                (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'/.'> (${ Id.VSub_Name objext) <'/'>
              )
            }
          spids: [663]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:o2lo)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'s/'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <.> 
                (${ Id.VSub_Name objext) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'/.lo/'>
              )
            }
          spids: [676]
        )
      ]
    )
    (command.ShFunction
      name: func_mktempdir
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:my_template)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (braced_var_sub
                          token: <Id.VSub_Name TMPDIR>
                          suffix_op: 
                            (suffix_op.Unary
                              tok: <Id.VTest_Hyphen ->
                              arg_word: {<Id.Lit_Slash '/'> <tmp>}
                            )
                        ) <'/'> 
                        (braced_var_sub
                          token: <Id.VSub_Number 1>
                          suffix_op: 
                            (suffix_op.Unary
                              tok: <Id.VTest_Hyphen ->
                              arg_word: {($ Id.VSub_DollarName '$progname')}
                            )
                        )
                      )
                    }
                  spids: [719]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<test>} {(DQ ($ Id.VSub_DollarName '$run'))} {<Id.Lit_Equals '='>} 
                              {(DQ <':'>)}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:my_tmpdir)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name my_template) <-> ($ Id.VSub_Dollar '$$'))}
                          spids: [759]
                        )
                      ]
                    )
                  ]
                  spids: [737 752]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:my_tmpdir)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: 
                              (command.Simple
                                words: [
                                  {<mktemp>}
                                  {<-d>}
                                  {(DQ (${ Id.VSub_Name my_template) <-XXXXXXXX>)}
                                ]
                                redirects: [
                                  (redir
                                    op: <Id.Redir_Great '2>'>
                                    loc: (redir_loc.Fd fd:2)
                                    arg: {<'/dev/null'>}
                                  )
                                ]
                                do_fork: T
                              )
                          )
                        }
                      spids: [777]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<test>} {<Id.KW_Bang '!'>} {<-d>} 
                                  {(DQ ($ Id.VSub_DollarName '$my_tmpdir'))}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:my_tmpdir)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ (${ Id.VSub_Name my_template) <-> 
                                    (braced_var_sub
                                      token: <Id.VSub_Name RANDOM>
                                      suffix_op: 
                                        (suffix_op.Unary
                                          tok: <Id.VTest_Hyphen ->
                                          arg_word: {<0>}
                                        )
                                    ) ($ Id.VSub_Dollar '$$')
                                  )
                                }
                              spids: [818]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:save_mktempdir_umask)
                              op: assign_op.Equal
                              rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<umask>}))}
                              spids: [834]
                            )
                          ]
                        )
                        (C {<umask>} {<0077>})
                        (C {($ Id.VSub_DollarName '$mkdir')} {(DQ ($ Id.VSub_DollarName '$my_tmpdir'))})
                        (C {<umask>} {($ Id.VSub_DollarName '$save_mktempdir_umask')})
                      ]
                      spids: [798 811]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<test>} {<-d>} {(DQ ($ Id.VSub_DollarName '$my_tmpdir'))})
                    (BraceGroup
                      children: [
                        (command.Simple
                          words: [
                            {($ Id.VSub_DollarName '$echo')}
                            {
                              (DQ <'cannot create temporary directory '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\`'>
                                ) ($ Id.VSub_DollarName '$my_tmpdir') <'\''>
                              )
                            }
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_GreatAnd '1>&'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<2>}
                            )
                          ]
                          do_fork: T
                        )
                        (command.ControlFlow
                          token: <Id.ControlFlow_Exit exit>
                          arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                        )
                      ]
                    )
                  ]
                )
              ]
            )
            (command.Pipeline
              children: [
                (C {($ Id.VSub_DollarName '$echo')} {(DQ <X> ($ Id.VSub_DollarName '$my_tmpdir'))})
                (C {($ Id.VSub_DollarName '$Xsed')})
              ]
              negated: F
            )
          ]
        )
    )
    (command.ShFunction
      name: func_win32_libid
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:win32_libid_type)
                  op: assign_op.Equal
                  rhs: {(DQ <unknown>)}
                  spids: [946]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:win32_fileres)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (command.Simple
                            words: [{<file>} {<-L>} {($ Id.VSub_Number '$1')}]
                            redirects: [
                              (redir
                                op: <Id.Redir_Great '2>'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<'/dev/null'>}
                              )
                            ]
                            do_fork: T
                          )
                      )
                    }
                  spids: [952]
                )
              ]
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName '$win32_fileres')}
              arms: [
                (case_arm
                  pat_list: [
                    {<Id.Lit_Star '*'> <ar> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '>) 
                      <archive> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '>) <Id.KW_Import import> 
                      (word_part.EscapedLiteral
                        token: <Id.Lit_EscapedChar '\\ '>
                      ) <library> <Id.Lit_Star '*'>
                    }
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:win32_libid_type)
                          op: assign_op.Equal
                          rhs: {(DQ <'x86 archive import'>)}
                          spids: [989]
                        )
                      ]
                    )
                  ]
                  spids: [974 983 995 -1]
                )
                (case_arm
                  pat_list: [
                    {<Id.Lit_Star '*'> <ar> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '>) 
                      <archive> <Id.Lit_Star '*'>
                    }
                  ]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<eval>} {($ Id.VSub_DollarName '$OBJDUMP')} {<-f>} 
                                          {($ Id.VSub_Number '$1')}
                                        )
                                        (command.Simple
                                          words: [{($ Id.VSub_DollarName '$SED')} {<-e>} {(SQ <10q>)}]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_Great '2>'>
                                              loc: (redir_loc.Fd fd:2)
                                              arg: {<'/dev/null'>}
                                            )
                                          ]
                                          do_fork: T
                                        )
                                        (command.Simple
                                          words: [
                                            {($ Id.VSub_DollarName '$EGREP')}
                                            {<-e>}
                                            {(SQ <'file format pe-i386(.*architecture: i386)?'>)}
                                          ]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_Great '>'>
                                              loc: (redir_loc.Fd fd:1)
                                              arg: {<'/dev/null'>}
                                            )
                                          ]
                                          do_fork: T
                                        )
                                      ]
                                      negated: F
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:win32_nmres)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_Backtick '`'>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<eval>} {($ Id.VSub_DollarName '$NM')} {<-f>} {<posix>} 
                                                {<-A>} {($ Id.VSub_Number '$1')}
                                              )
                                              (C {($ Id.VSub_DollarName '$SED')} {<-n>} {<-e>} 
                                                {(SQ <'1,100{/ I /{s,.*,import,;p;q;};}'>)}
                                              )
                                            ]
                                            negated: F
                                          )
                                      )
                                    }
                                  spids: [1052]
                                )
                              ]
                            )
                            (command.Case
                              to_match: {($ Id.VSub_DollarName '$win32_nmres')}
                              arms: [
                                (case_arm
                                  pat_list: [{<Id.KW_Import import> <Id.Lit_Star '*'>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:win32_libid_type)
                                          op: assign_op.Equal
                                          rhs: {(DQ <'x86 archive import'>)}
                                          spids: [1098]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1094 1096 1102 -1]
                                )
                                (case_arm
                                  pat_list: [{<Id.Lit_Star '*'>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:win32_libid_type)
                                          op: assign_op.Equal
                                          rhs: {(DQ <'x86 archive static'>)}
                                          spids: [1108]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1105 1106 1112 -1]
                                )
                              ]
                            )
                          ]
                          spids: [1009 1049]
                        )
                      ]
                    )
                  ]
                  spids: [998 1003 1121 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'> <DLL> <Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:win32_libid_type)
                          op: assign_op.Equal
                          rhs: {(DQ <'x86 DLL'>)}
                          spids: [1130]
                        )
                      ]
                    )
                  ]
                  spids: [1124 1127 1136 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'> <executable> <Id.Lit_Star '*'>}]
                  action: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$win32_fileres')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {<Id.Lit_Star '*'> <MS> 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\ '>
                              ) <Windows> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\ '>) <PE> 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\ '>
                              ) <Intel> <Id.Lit_Star '*'>
                            }
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:win32_libid_type)
                                  op: assign_op.Equal
                                  rhs: {(DQ <'x86 DLL'>)}
                                  spids: [1167]
                                )
                              ]
                            )
                          ]
                          spids: [1155 1164 1173 -1]
                        )
                      ]
                    )
                  ]
                  spids: [1139 1142 1179 -1]
                )
              ]
            )
            (C {($ Id.VSub_DollarName '$echo')} {($ Id.VSub_DollarName '$win32_libid_type')})
          ]
        )
    )
    (command.ShFunction
      name: func_infer_tag
      body: 
        (BraceGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$available_tags'))})
                                (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$tagname'))})
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:CC_quoted)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [1243]
                        )
                      ]
                    )
                    (command.ForEach
                      iter_name: arg
                      iter_words: [{($ Id.VSub_DollarName '$CC')}]
                      do_arg_iter: F
                      body: 
                        (command.DoGroup
                          children: [
                            (command.Case
                              to_match: {($ Id.VSub_DollarName '$arg')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\['>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\#'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\&'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\('>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\{'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\|'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\<'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\?'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\ '>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                    }
                                    {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>}
                                    {(DQ )}
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:arg)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (word_part.EscapedLiteral
                                                  token: <Id.Lit_EscapedChar '\\"'>
                                                ) ($ Id.VSub_DollarName '$arg') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                              )
                                            }
                                          spids: [1297]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1265 1294 1305 -1]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:CC_quoted)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ ($ Id.VSub_DollarName '$CC_quoted') <' '> 
                                        ($ Id.VSub_DollarName '$arg')
                                      )
                                    }
                                  spids: [1311]
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.Case
                      to_match: {($ Id.VSub_At '$@')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(DQ <' '> ($ Id.VSub_DollarName '$CC') <' '>) <Id.Lit_Star '*'>}
                            {(DQ ($ Id.VSub_DollarName '$CC') <' '>) <Id.Lit_Star '*'>}
                            {
                              (DQ <' '> 
                                (command_sub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (C {($ Id.VSub_DollarName '$echo')} {($ Id.VSub_DollarName '$CC')})
                                ) <' '>
                              ) <Id.Lit_Star '*'>
                            }
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (C {($ Id.VSub_DollarName '$echo')} {($ Id.VSub_DollarName '$CC')})
                                ) <' '>
                              ) <Id.Lit_Star '*'>
                            }
                            {(DQ <' '> ($ Id.VSub_DollarName '$CC_quoted')) <Id.Lit_Star '*'>}
                            {(DQ ($ Id.VSub_DollarName '$CC_quoted') <' '>) <Id.Lit_Star '*'>}
                            {
                              (DQ <' '> 
                                (command_sub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (C {($ Id.VSub_DollarName '$echo')} 
                                      {($ Id.VSub_DollarName '$CC_quoted')}
                                    )
                                ) <' '>
                              ) <Id.Lit_Star '*'>
                            }
                            {
                              (DQ 
                                (command_sub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (C {($ Id.VSub_DollarName '$echo')} 
                                      {($ Id.VSub_DollarName '$CC_quoted')}
                                    )
                                ) <' '>
                              ) <Id.Lit_Star '*'>
                            }
                          ]
                          spids: [1337 1425 1427 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [
                            (command.ForEach
                              iter_name: z
                              iter_words: [{($ Id.VSub_DollarName '$available_tags')}]
                              do_arg_iter: F
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.Simple
                                                      words: [
                                                        {<grep>}
                                                        {
                                                          (DQ <'^# ### BEGIN LIBTOOL TAG CONFIG: '> 
                                                            ($ Id.VSub_DollarName '$z') <Id.Lit_Dollar '$'>
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_Less '<'>
                                                          loc: (redir_loc.Fd fd:0)
                                                          arg: 
                                                            {(DQ ($ Id.VSub_DollarName '$progpath'))}
                                                        )
                                                        (redir
                                                          op: <Id.Redir_Great '>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {<'/dev/null'>}
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<eval>} 
                                              {
                                                (DQ 
                                                  (command_sub
                                                    left_token: <Id.Left_Backtick '`'>
                                                    child: 
                                                      (command.Simple
                                                        words: [
                                                          {(${ Id.VSub_Name SED)}
                                                          {<-n>}
                                                          {<-e>}
                                                          {
                                                            (SQ 
                                                              <'/^# ### BEGIN LIBTOOL TAG CONFIG: '>
                                                            ) ($ Id.VSub_DollarName '$z') (SQ <'$/,/^# ### END LIBTOOL TAG CONFIG: '>) ($ Id.VSub_DollarName '$z') 
                                                            (SQ <'$/p'>)
                                                          }
                                                        ]
                                                        redirects: [
                                                          (redir
                                                            op: <Id.Redir_Less '<'>
                                                            loc: (redir_loc.Fd fd:0)
                                                            arg: {($ Id.VSub_DollarName '$progpath')}
                                                          )
                                                        ]
                                                        do_fork: T
                                                      )
                                                  )
                                                )
                                              }
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:CC_quoted)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [1515]
                                                )
                                              ]
                                            )
                                            (command.ForEach
                                              iter_name: arg
                                              iter_words: [{($ Id.VSub_DollarName '$CC')}]
                                              do_arg_iter: F
                                              body: 
                                                (command.DoGroup
                                                  children: [
                                                    (command.Case
                                                      to_match: {($ Id.VSub_DollarName '$arg')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\['>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\#'>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\&'>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\('>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\{'>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\|'>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\<'>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\?'>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\ '>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                                            }
                                                            {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> 
                                                              <Id.Lit_Star '*'>
                                                            }
                                                            {(DQ )}
                                                          ]
                                                          action: [
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (sh_lhs_expr.Name name:arg)
                                                                  op: assign_op.Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        (word_part.EscapedLiteral
                                                                          token: 
                                                                            <Id.Lit_EscapedChar 
'\\"'
                                                                            >
                                                                        ) ($ Id.VSub_DollarName '$arg') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                                                      )
                                                                    }
                                                                  spids: [1573]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [1541 1570 1581 -1]
                                                        )
                                                      ]
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:CC_quoted)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ Id.VSub_DollarName '$CC_quoted') 
                                                                <' '> ($ Id.VSub_DollarName '$arg')
                                                              )
                                                            }
                                                          spids: [1587]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                            )
                                            (command.Case
                                              to_match: {(DQ ($ Id.VSub_At '$@') <' '>)}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(DQ <' '> ($ Id.VSub_DollarName '$CC') <' '>) 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {(DQ ($ Id.VSub_DollarName '$CC') <' '>) 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {
                                                      (DQ <' '> 
                                                        (command_sub
                                                          left_token: <Id.Left_Backtick '`'>
                                                          child: 
                                                            (C {($ Id.VSub_DollarName '$echo')} 
                                                              {($ Id.VSub_DollarName '$CC')}
                                                            )
                                                        ) <' '>
                                                      ) <Id.Lit_Star '*'>
                                                    }
                                                    {
                                                      (DQ 
                                                        (command_sub
                                                          left_token: <Id.Left_Backtick '`'>
                                                          child: 
                                                            (C {($ Id.VSub_DollarName '$echo')} 
                                                              {($ Id.VSub_DollarName '$CC')}
                                                            )
                                                        ) <' '>
                                                      ) <Id.Lit_Star '*'>
                                                    }
                                                    {(DQ <' '> ($ Id.VSub_DollarName '$CC_quoted')) 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {(DQ ($ Id.VSub_DollarName '$CC_quoted') <' '>) 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {
                                                      (DQ <' '> 
                                                        (command_sub
                                                          left_token: <Id.Left_Backtick '`'>
                                                          child: 
                                                            (C {($ Id.VSub_DollarName '$echo')} 
                                                              {($ Id.VSub_DollarName '$CC_quoted')}
                                                            )
                                                        ) <' '>
                                                      ) <Id.Lit_Star '*'>
                                                    }
                                                    {
                                                      (DQ 
                                                        (command_sub
                                                          left_token: <Id.Left_Backtick '`'>
                                                          child: 
                                                            (C {($ Id.VSub_DollarName '$echo')} 
                                                              {($ Id.VSub_DollarName '$CC_quoted')}
                                                            )
                                                        ) <' '>
                                                      ) <Id.Lit_Star '*'>
                                                    }
                                                  ]
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:tagname)
                                                          op: assign_op.Equal
                                                          rhs: {($ Id.VSub_DollarName '$z')}
                                                          spids: [1711]
                                                        )
                                                      ]
                                                    )
                                                    (command.ControlFlow
                                                      token: <Id.ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [1608 1696 1718 -1]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [1454 1475]
                                        )
                                      ]
                                    )
                                  ]
                                )
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$tagname'))})
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {($ Id.VSub_DollarName '$echo')} 
                                      {
                                        (DQ ($ Id.VSub_DollarName '$modename') 
                                          <': unable to infer tagged configuration'>
                                        )
                                      }
                                    )
                                    (command.Simple
                                      words: [
                                        {($ Id.VSub_DollarName '$echo')}
                                        {
                                          (DQ ($ Id.VSub_DollarName '$modename') 
                                            <': specify a tag with '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) <'--tag\''>
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_GreatAnd '1>&'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {<2>}
                                        )
                                      ]
                                      do_fork: T
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Exit exit>
                                      arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                    )
                                  ]
                                  spids: [1742 1753]
                                )
                              ]
                            )
                          ]
                          spids: [1438 1439 1791 -1]
                        )
                      ]
                    )
                  ]
                  spids: [1219 1240]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: func_extract_an_archive
      body: 
        (BraceGroup
          children: [
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:f_ex_an_ar_dir)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$1'))}
                      spids: [1814]
                    )
                  ]
                )
              terminator: <Id.Op_Semi _>
            )
            (C {<shift>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:f_ex_an_ar_oldlib)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number '$1'))}
                  spids: [1823]
                )
              ]
            )
            (C {($ Id.VSub_DollarName '$show')} 
              {
                (DQ <'(cd '> ($ Id.VSub_DollarName '$f_ex_an_ar_dir') <' && '> 
                  ($ Id.VSub_DollarName '$AR') <' x '> ($ Id.VSub_DollarName '$f_ex_an_ar_oldlib') <')'>
                )
              }
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {($ Id.VSub_DollarName '$run')} {<eval>} 
                  {
                    (DQ <'(cd '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) 
                      <'f_ex_an_ar_dir && '> ($ Id.VSub_DollarName '$AR') <' x '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) 
                      <'f_ex_an_ar_oldlib)'>
                    )
                  }
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Exit exit>
                  arg_word: {($ Id.VSub_QMark '$?')}
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Subshell
                              child: 
                                (command.Pipeline
                                  children: [
                                    (C {($ Id.VSub_DollarName '$AR')} {<t>} 
                                      {(DQ ($ Id.VSub_DollarName '$f_ex_an_ar_oldlib'))}
                                    )
                                    (C {<sort>})
                                    (command.Simple
                                      words: [{<sort>} {<-uc>}]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_Great '>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {<'/dev/null'>}
                                        )
                                        (redir
                                          op: <Id.Redir_GreatAnd '2>&'>
                                          loc: (redir_loc.Fd fd:2)
                                          arg: {<1>}
                                        )
                                      ]
                                      do_fork: T
                                    )
                                  ]
                                  negated: F
                                )
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Id.Lit_Colon ':'>})]
                  spids: [1864 1893]
                )
              ]
              else_action: [
                (command.Simple
                  words: [
                    {($ Id.VSub_DollarName '$echo')}
                    {
                      (DQ ($ Id.VSub_DollarName '$modename') <': ERROR: object name conflicts: '> 
                        ($ Id.VSub_DollarName '$f_ex_an_ar_dir') <'/'> ($ Id.VSub_DollarName '$f_ex_an_ar_oldlib')
                      )
                    }
                  ]
                  redirects: [(redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                  do_fork: T
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Exit exit>
                  arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: func_extract_archives
      body: 
        (BraceGroup
          children: [
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:my_gentop)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_Number '$1'))}
                      spids: [1937]
                    )
                  ]
                )
              terminator: <Id.Op_Semi _>
            )
            (C {<shift>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:my_oldlibs)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (braced_var_sub
                        token: <Id.VSub_Number 1>
                        suffix_op: 
                          (suffix_op.Unary
                            tok: <Id.VTest_Plus '+'>
                            arg_word: {(DQ ($ Id.VSub_At '$@'))}
                          )
                      )
                    }
                  spids: [1946]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:my_oldobjs)
                  op: assign_op.Equal
                  rhs: {(DQ )}
                  spids: [1956]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:my_xlib)
                  op: assign_op.Equal
                  rhs: {(DQ )}
                  spids: [1961]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:my_xabs)
                  op: assign_op.Equal
                  rhs: {(DQ )}
                  spids: [1966]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:my_xdir)
                  op: assign_op.Equal
                  rhs: {(DQ )}
                  spids: [1971]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:my_status)
                  op: assign_op.Equal
                  rhs: {(DQ )}
                  spids: [1976]
                )
              ]
            )
            (C {($ Id.VSub_DollarName '$show')} 
              {(DQ (${ Id.VSub_Name rm) <'r '> ($ Id.VSub_DollarName '$my_gentop'))}
            )
            (C {($ Id.VSub_DollarName '$run')} {(${ Id.VSub_Name rm) <r>} 
              {(DQ ($ Id.VSub_DollarName '$my_gentop'))}
            )
            (C {($ Id.VSub_DollarName '$show')} 
              {(DQ ($ Id.VSub_DollarName '$mkdir') <' '> ($ Id.VSub_DollarName '$my_gentop'))}
            )
            (C {($ Id.VSub_DollarName '$run')} {($ Id.VSub_DollarName '$mkdir')} 
              {(DQ ($ Id.VSub_DollarName '$my_gentop'))}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:my_status)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '$?')}
                  spids: [2023]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {<test>} {(DQ ($ Id.VSub_DollarName '$my_status'))} {<-ne>} {<0>})
                                (C {<test>} {<Id.KW_Bang '!'>} {<-d>} 
                                  {(DQ ($ Id.VSub_DollarName '$my_gentop'))}
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_DollarName '$my_status')}
                    )
                  ]
                  spids: [2027 2052]
                )
              ]
            )
            (command.ForEach
              iter_name: my_xlib
              iter_words: [{($ Id.VSub_DollarName '$my_oldlibs')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$my_xlib')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {<Id.Lit_LBracket '['> 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\\\'>
                              ) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                            }
                            {<Id.Lit_LBracket '['> <A-Za-z> <Id.Lit_RBracket ']'> <Id.Lit_Colon ':'> 
                              <Id.Lit_LBracket '['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'/'> <Id.Lit_RBracket ']'> 
                              <Id.Lit_Star '*'>
                            }
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:my_xabs)
                                  op: assign_op.Equal
                                  rhs: {(DQ ($ Id.VSub_DollarName '$my_xlib'))}
                                  spids: [2106]
                                )
                              ]
                            )
                          ]
                          spids: [2087 2104 2111 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:my_xabs)
                                  op: assign_op.Equal
                                  rhs: 
                                    {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>})) 
                                      (DQ <'/'> ($ Id.VSub_DollarName '$my_xlib'))
                                    }
                                  spids: [2117]
                                )
                              ]
                            )
                          ]
                          spids: [2114 2115 2128 -1]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:my_xlib)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {($ Id.VSub_DollarName '$echo')} 
                                        {(DQ <X> ($ Id.VSub_DollarName '$my_xlib'))}
                                      )
                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} {(SQ <'s%^.*/%%'>)})
                                    ]
                                    negated: F
                                  )
                              )
                            }
                          spids: [2134]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:my_xdir)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName '$my_gentop') <'/'> 
                                ($ Id.VSub_DollarName '$my_xlib')
                              )
                            }
                          spids: [2157]
                        )
                      ]
                    )
                    (C {($ Id.VSub_DollarName '$show')} 
                      {(DQ (${ Id.VSub_Name rm) <'r '> ($ Id.VSub_DollarName '$my_xdir'))}
                    )
                    (C {($ Id.VSub_DollarName '$run')} {(${ Id.VSub_Name rm) <r>} 
                      {(DQ ($ Id.VSub_DollarName '$my_xdir'))}
                    )
                    (C {($ Id.VSub_DollarName '$show')} 
                      {(DQ ($ Id.VSub_DollarName '$mkdir') <' '> ($ Id.VSub_DollarName '$my_xdir'))}
                    )
                    (C {($ Id.VSub_DollarName '$run')} {($ Id.VSub_DollarName '$mkdir')} 
                      {(DQ ($ Id.VSub_DollarName '$my_xdir'))}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:exit_status)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '$?')}
                          spids: [2207]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.AndOr
                                      ops: [Id.Op_DAmp]
                                      children: [
                                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$exit_status'))} {<-ne>} 
                                          {<0>}
                                        )
                                        (C {<test>} {<Id.KW_Bang '!'>} {<-d>} 
                                          {(DQ ($ Id.VSub_DollarName '$my_xdir'))}
                                        )
                                      ]
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ControlFlow
                              token: <Id.ControlFlow_Exit exit>
                              arg_word: {($ Id.VSub_DollarName '$exit_status')}
                            )
                          ]
                          spids: [2211 2236]
                        )
                      ]
                    )
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <-darwin> <Id.Lit_Star '*'>}]
                          action: [
                            (C {($ Id.VSub_DollarName '$show')} 
                              {(DQ <'Extracting '> ($ Id.VSub_DollarName '$my_xabs'))}
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$run'))})
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:darwin_orig_dir)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: (C {<pwd>})
                                              )
                                            }
                                          spids: [2286]
                                        )
                                      ]
                                    )
                                    (command.AndOr
                                      ops: [Id.Op_DPipe]
                                      children: [
                                        (C {<cd>} {($ Id.VSub_DollarName '$my_xdir')})
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Exit exit>
                                          arg_word: {($ Id.VSub_QMark '$?')}
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:darwin_archive)
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName '$my_xabs')}
                                          spids: [2305]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:darwin_curdir)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: (C {<pwd>})
                                              )
                                            }
                                          spids: [2309]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:darwin_base_archive)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {($ Id.VSub_DollarName '$echo')} 
                                                        {
                                                          (DQ <X> 
                                                            ($ Id.VSub_DollarName '$darwin_archive')
                                                          )
                                                        }
                                                      )
                                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                        {(SQ <'s%^.*/%%'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                              )
                                            }
                                          spids: [2317]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:darwin_arches)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (command.Simple
                                                        words: [
                                                          {<lipo>}
                                                          {<-info>}
                                                          {
                                                            (DQ 
                                                              ($ Id.VSub_DollarName '$darwin_archive')
                                                            )
                                                          }
                                                        ]
                                                        redirects: [
                                                          (redir
                                                            op: <Id.Redir_Great '2>'>
                                                            loc: (redir_loc.Fd fd:2)
                                                            arg: {<'/dev/null'>}
                                                          )
                                                        ]
                                                        do_fork: T
                                                      )
                                                      (command.Simple
                                                        words: [
                                                          {($ Id.VSub_DollarName '$EGREP')}
                                                          {<Architectures>}
                                                        ]
                                                        redirects: [
                                                          (redir
                                                            op: <Id.Redir_Great '2>'>
                                                            loc: (redir_loc.Fd fd:2)
                                                            arg: {<'/dev/null'>}
                                                          )
                                                        ]
                                                        do_fork: T
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                              )
                                            }
                                          spids: [2340]
                                        )
                                      ]
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<test>} {<-n>} 
                                                      {(DQ ($ Id.VSub_DollarName '$darwin_arches'))}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:darwin_arches)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (command_sub
                                                        left_token: <Id.Left_Backtick '`'>
                                                        child: 
                                                          (command.Pipeline
                                                            children: [
                                                              (C {<echo>} 
                                                                {
                                                                  (DQ 
                                                                    ($ Id.VSub_DollarName 
'$darwin_arches'
                                                                    )
                                                                  )
                                                                }
                                                              )
                                                              (C {($ Id.VSub_DollarName '$SED')} {<-e>} 
                                                                {(SQ <'s/.*are://'>)}
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                      )
                                                    }
                                                  spids: [2381]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:darwin_arch)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [2403]
                                                )
                                              ]
                                            )
                                            (C {($ Id.VSub_DollarName '$show')} 
                                              {
                                                (DQ ($ Id.VSub_DollarName '$darwin_base_archive') 
                                                  <' has multiple architectures '> ($ Id.VSub_DollarName '$darwin_arches')
                                                )
                                              }
                                            )
                                            (command.ForEach
                                              iter_name: darwin_arch
                                              iter_words: [{($ Id.VSub_DollarName '$darwin_arches')}]
                                              do_arg_iter: F
                                              body: 
                                                (command.DoGroup
                                                  children: [
                                                    (C {<mkdir>} {<-p>} 
                                                      {
                                                        (DQ <unfat-> ($ Id.VSub_Dollar '$$') <'/'> 
                                                          (${ Id.VSub_Name darwin_base_archive) <-> (${ Id.VSub_Name darwin_arch)
                                                        )
                                                      }
                                                    )
                                                    (C {<lipo>} {<-thin>} 
                                                      {($ Id.VSub_DollarName '$darwin_arch')} {<-output>} 
                                                      {
                                                        (DQ <unfat-> ($ Id.VSub_Dollar '$$') <'/'> 
                                                          (${ Id.VSub_Name darwin_base_archive) <-> (${ Id.VSub_Name darwin_arch) <'/'> (${ Id.VSub_Name darwin_base_archive)
                                                        )
                                                      } {(DQ (${ Id.VSub_Name darwin_archive))}
                                                    )
                                                    (C {<cd>} 
                                                      {
                                                        (DQ <unfat-> ($ Id.VSub_Dollar '$$') <'/'> 
                                                          (${ Id.VSub_Name darwin_base_archive) <-> (${ Id.VSub_Name darwin_arch)
                                                        )
                                                      }
                                                    )
                                                    (C {<func_extract_an_archive>} 
                                                      {
                                                        (DQ 
                                                          (command_sub
                                                            left_token: <Id.Left_Backtick '`'>
                                                            child: (C {<pwd>})
                                                          )
                                                        )
                                                      } {(DQ (${ Id.VSub_Name darwin_base_archive))}
                                                    )
                                                    (C {<cd>} 
                                                      {(DQ ($ Id.VSub_DollarName '$darwin_curdir'))}
                                                    )
                                                    (C {($ Id.VSub_DollarName '$rm')} 
                                                      {
                                                        (DQ <unfat-> ($ Id.VSub_Dollar '$$') <'/'> 
                                                          (${ Id.VSub_Name darwin_base_archive) <-> (${ Id.VSub_Name darwin_arch) <'/'> (${ Id.VSub_Name darwin_base_archive)
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:darwin_filelist)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (command_sub
                                                        left_token: <Id.Left_Backtick '`'>
                                                        child: 
                                                          (command.Pipeline
                                                            children: [
                                                              (C {<find>} 
                                                                {<unfat-> ($ Id.VSub_Dollar '$$')} {<-type>} {<f>} {<-name>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) <.o>} {<-print>} 
                                                                {<-o>} {<-name>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) <.lo>} {<-print>}
                                                              )
                                                              (C {<xargs>} {<basename>})
                                                              (C {<sort>} {<-u>})
                                                              (C {($ Id.VSub_DollarName '$NL2SP')})
                                                            ]
                                                            negated: F
                                                          )
                                                      )
                                                    }
                                                  spids: [2548]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:darwin_file)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [2598]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:darwin_files)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [2601]
                                                )
                                              ]
                                            )
                                            (command.ForEach
                                              iter_name: darwin_file
                                              iter_words: [{($ Id.VSub_DollarName '$darwin_filelist')}]
                                              do_arg_iter: F
                                              body: 
                                                (command.DoGroup
                                                  children: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:darwin_files)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (command_sub
                                                                left_token: <Id.Left_Backtick '`'>
                                                                child: 
                                                                  (command.Pipeline
                                                                    children: [
                                                                      (C {<find>} 
                                                                        {<unfat-> 
                                                                          ($ Id.VSub_Dollar '$$')
                                                                        } {<-name>} {($ Id.VSub_DollarName '$darwin_file')} {<-print>}
                                                                      )
                                                                      (C 
                                                                        {
                                                                          ($ Id.VSub_DollarName 
'$NL2SP'
                                                                          )
                                                                        }
                                                                      )
                                                                    ]
                                                                    negated: F
                                                                  )
                                                              )
                                                            }
                                                          spids: [2616]
                                                        )
                                                      ]
                                                    )
                                                    (C {<lipo>} {<-create>} {<-output>} 
                                                      {(DQ ($ Id.VSub_DollarName '$darwin_file'))} {($ Id.VSub_DollarName '$darwin_files')}
                                                    )
                                                  ]
                                                )
                                            )
                                            (C {(${ Id.VSub_Name rm) <r>} 
                                              {<unfat-> ($ Id.VSub_Dollar '$$')}
                                            )
                                            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$darwin_orig_dir'))})
                                          ]
                                          spids: [2366 2377]
                                        )
                                      ]
                                      else_action: [
                                        (C {<cd>} {(DQ ($ Id.VSub_DollarName '$darwin_orig_dir'))})
                                        (C {<func_extract_an_archive>} 
                                          {(DQ ($ Id.VSub_DollarName '$my_xdir'))} {(DQ ($ Id.VSub_DollarName '$my_xabs'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [2272 2283]
                                )
                              ]
                            )
                          ]
                          spids: [2254 2257 2705 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [
                            (C {<func_extract_an_archive>} {(DQ ($ Id.VSub_DollarName '$my_xdir'))} 
                              {(DQ ($ Id.VSub_DollarName '$my_xabs'))}
                            )
                          ]
                          spids: [2708 2709 2723 -1]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:my_oldobjs)
                          op: assign_op.Equal
                          rhs: 
                            {(DQ ($ Id.VSub_DollarName '$my_oldobjs') <' '>) 
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<find>} {($ Id.VSub_DollarName '$my_xdir')} {<-name>} 
                                        {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) 
                                          <.> ($ Id.VSub_DollarName '$objext')
                                        } {<-print>} {<-o>} {<-name>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) <.lo>} {<-print>}
                                      )
                                      (C {($ Id.VSub_DollarName '$NL2SP')})
                                    ]
                                    negated: F
                                  )
                              )
                            }
                          spids: [2729]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:func_extract_archives_result)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$my_oldobjs'))}
                  spids: [2771]
                )
              ]
            )
          ]
        )
    )
    (C {<eval>} 
      {<Id.Lit_VarLike 'std_shrext='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
        ($ Id.VSub_DollarName '$shrext_cmds') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
      }
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:disable_libs)
          op: assign_op.Equal
          rhs: {<no>}
          spids: [2796]
        )
      ]
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: (condition.Shell commands:[(C {<test>} {(DQ ($ Id.VSub_Pound '$#'))} {<-gt>} {<0>})])
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:arg)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_Number '$1'))}
                  spids: [2818]
                )
              ]
            )
            (C {<shift>})
            (command.Case
              to_match: {($ Id.VSub_DollarName '$arg')}
              arms: [
                (case_arm
                  pat_list: [{<-> <Id.Lit_Star '*'> <Id.Lit_Equals '='> <Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:optarg)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {($ Id.VSub_DollarName '$echo')} 
                                        {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                      )
                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                        {(SQ <'s/[-_a-zA-Z0-9]*=//'>)}
                                      )
                                    ]
                                    negated: F
                                  )
                              )
                            }
                          spids: [2841]
                        )
                      ]
                    )
                  ]
                  spids: [2835 2839 2863 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:optarg)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [2869]
                        )
                      ]
                    )
                  ]
                  spids: [2866 2867 2871 -1]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$prev'))})
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$prev')}
                      arms: [
                        (case_arm
                          pat_list: [{<execute_dlfiles>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:execute_dlfiles)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ ($ Id.VSub_DollarName '$execute_dlfiles') <' '> 
                                        ($ Id.VSub_DollarName '$arg')
                                      )
                                    }
                                  spids: [2907]
                                )
                              ]
                            )
                          ]
                          spids: [2903 2904 2915 -1]
                        )
                        (case_arm
                          pat_list: [{<tag>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:tagname)
                                  op: assign_op.Equal
                                  rhs: {(DQ ($ Id.VSub_DollarName '$arg'))}
                                  spids: [2922]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:preserve_args)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ (${ Id.VSub_Name preserve_args) <'='> 
                                        ($ Id.VSub_DollarName '$arg')
                                      )
                                    }
                                  spids: [2928]
                                )
                              ]
                            )
                            (command.Case
                              to_match: {($ Id.VSub_DollarName '$tagname')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <Id.KW_Bang '!'> 
                                      <-_A-Za-z0-9> <Id.Lit_Comma ','> <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                    }
                                  ]
                                  action: [
                                    (command.Simple
                                      words: [
                                        {($ Id.VSub_DollarName '$echo')}
                                        {
                                          (DQ ($ Id.VSub_DollarName '$progname') 
                                            <': invalid tag name: '> ($ Id.VSub_DollarName '$tagname')
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_GreatAnd '1>&'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {<2>}
                                        )
                                      ]
                                      do_fork: T
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Exit exit>
                                      arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                    )
                                  ]
                                  spids: [2950 2958 2978 -1]
                                )
                              ]
                            )
                            (command.Case
                              to_match: {($ Id.VSub_DollarName '$tagname')}
                              arms: [
                                (case_arm
                                  pat_list: [{<CC>}]
                                  spids: [2992 2993 3004 -1]
                                )
                                (case_arm
                                  pat_list: [{<Id.Lit_Star '*'>}]
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.Simple
                                                      words: [
                                                        {<grep>}
                                                        {
                                                          (DQ <'^# ### BEGIN LIBTOOL TAG CONFIG: '> 
                                                            ($ Id.VSub_DollarName '$tagname') <Id.Lit_Dollar '$'>
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_Less '<'>
                                                          loc: (redir_loc.Fd fd:0)
                                                          arg: 
                                                            {(DQ ($ Id.VSub_DollarName '$progpath'))}
                                                        )
                                                        (redir
                                                          op: <Id.Redir_Great '>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {<'/dev/null'>}
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:taglist)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$taglist') <' '> 
                                                        ($ Id.VSub_DollarName '$tagname')
                                                      )
                                                    }
                                                  spids: [3035]
                                                )
                                              ]
                                            )
                                            (C {<eval>} 
                                              {
                                                (DQ 
                                                  (command_sub
                                                    left_token: <Id.Left_Backtick '`'>
                                                    child: 
                                                      (command.Simple
                                                        words: [
                                                          {(${ Id.VSub_Name SED)}
                                                          {<-n>}
                                                          {<-e>}
                                                          {
                                                            (SQ 
                                                              <'/^# ### BEGIN LIBTOOL TAG CONFIG: '>
                                                            ) ($ Id.VSub_DollarName '$tagname') (SQ <'$/,/^# ### END LIBTOOL TAG CONFIG: '>) 
                                                            ($ Id.VSub_DollarName '$tagname') (SQ <'$/p'>)
                                                          }
                                                        ]
                                                        redirects: [
                                                          (redir
                                                            op: <Id.Redir_Less '<'>
                                                            loc: (redir_loc.Fd fd:0)
                                                            arg: {($ Id.VSub_DollarName '$progpath')}
                                                          )
                                                        ]
                                                        do_fork: T
                                                      )
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [3011 3032]
                                        )
                                      ]
                                      else_action: [
                                        (command.Simple
                                          words: [
                                            {($ Id.VSub_DollarName '$echo')}
                                            {
                                              (DQ ($ Id.VSub_DollarName '$progname') 
                                                <': ignoring unknown tag '> ($ Id.VSub_DollarName '$tagname')
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_GreatAnd '1>&'>
                                              loc: (redir_loc.Fd fd:1)
                                              arg: {<2>}
                                            )
                                          ]
                                          do_fork: T
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [3007 3008 3098 -1]
                                )
                              ]
                            )
                          ]
                          spids: [2918 2919 3104 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [
                            (C {<eval>} 
                              {
                                (DQ ($ Id.VSub_DollarName '$prev') <'='> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\$'>
                                  ) <arg>
                                )
                              }
                            )
                          ]
                          spids: [3107 3108 3121 -1]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:prev)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [3128]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:prevopt)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [3131]
                        )
                      ]
                    )
                    (command.ControlFlow token:<Id.ControlFlow_Continue continue>)
                  ]
                  spids: [2882 2893]
                )
              ]
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName '$arg')}
              arms: [
                (case_arm
                  pat_list: [{<--help>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:show_help)
                          op: assign_op.Equal
                          rhs: {<yes>}
                          spids: [3156]
                        )
                      ]
                    )
                  ]
                  spids: [3152 3153 3160 -1]
                )
                (case_arm
                  pat_list: [{<--version>}]
                  action: [
                    (C {($ Id.VSub_DollarName '$echo')} 
                      {
                        (DQ ($ Id.VSub_DollarName '$PROGRAM') <' (GNU '> 
                          ($ Id.VSub_DollarName '$PACKAGE') <') '> ($ Id.VSub_DollarName '$VERSION') ($ Id.VSub_DollarName '$TIMESTAMP')
                        )
                      }
                    )
                    (C {($ Id.VSub_DollarName '$echo')})
                    (C {($ Id.VSub_DollarName '$echo')} 
                      {(DQ <'Copyright (C) 2005  Free Software Foundation, Inc.'>)}
                    )
                    (C {($ Id.VSub_DollarName '$echo')} 
                      {
                        (DQ 
                          <
'This is free software; see the source for copying conditions.  There is NO'
                          >
                        )
                      }
                    )
                    (C {($ Id.VSub_DollarName '$echo')} 
                      {
                        (DQ 
                          <
'warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.'
                          >
                        )
                      }
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_QMark '$?')}
                    )
                  ]
                  spids: [3164 3165 3209 -1]
                )
                (case_arm
                  pat_list: [{<--config>}]
                  action: [
                    (C {(${ Id.VSub_Name SED)} {<-e>} {(SQ <'1,/^# ### BEGIN LIBTOOL CONFIG/d'>)} {<-e>} 
                      {(SQ <'/^# ### END LIBTOOL CONFIG/,$d'>)} {($ Id.VSub_DollarName '$progpath')}
                    )
                    (command.ForEach
                      iter_name: tagname
                      iter_words: [{($ Id.VSub_DollarName '$taglist')}]
                      do_arg_iter: F
                      body: 
                        (command.DoGroup
                          children: [
                            (command.Simple
                              words: [
                                {(${ Id.VSub_Name SED)}
                                {<-n>}
                                {<-e>}
                                {
                                  (DQ <'/^# ### BEGIN LIBTOOL TAG CONFIG: '> 
                                    ($ Id.VSub_DollarName '$tagname') <Id.Lit_Dollar '$'> <'/,/^# ### END LIBTOOL TAG CONFIG: '> ($ Id.VSub_DollarName '$tagname') 
                                    <Id.Lit_Dollar '$'> <'/p'>
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Less '<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: {(DQ ($ Id.VSub_DollarName '$progpath'))}
                                )
                              ]
                              do_fork: T
                            )
                          ]
                        )
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_QMark '$?')}
                    )
                  ]
                  spids: [3213 3214 3285 -1]
                )
                (case_arm
                  pat_list: [{<--debug>}]
                  action: [
                    (C {($ Id.VSub_DollarName '$echo')} 
                      {(DQ ($ Id.VSub_DollarName '$progname') <': enabling shell trace mode'>)}
                    )
                    (C {<set>} {<-x>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:preserve_args)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName '$preserve_args') <' '> 
                                ($ Id.VSub_DollarName '$arg')
                              )
                            }
                          spids: [3306]
                        )
                      ]
                    )
                  ]
                  spids: [3289 3290 3314 -1]
                )
                (case_arm
                  pat_list: [{<--dry-run>} {<-n>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:run)
                          op: assign_op.Equal
                          rhs: {<Id.Lit_Colon ':'>}
                          spids: [3326]
                        )
                      ]
                    )
                  ]
                  spids: [3318 3323 3330 -1]
                )
                (case_arm
                  pat_list: [{<--features>}]
                  action: [
                    (C {($ Id.VSub_DollarName '$echo')} {(DQ <'host: '> ($ Id.VSub_DollarName '$host'))})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName '$build_libtool_libs'))} 
                                      {<Id.Lit_Equals '='>} {<yes>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {($ Id.VSub_DollarName '$echo')} {(DQ <'enable shared libraries'>)})
                          ]
                          spids: [3346 3359]
                        )
                      ]
                      else_action: [
                        (C {($ Id.VSub_DollarName '$echo')} {(DQ <'disable shared libraries'>)})
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName '$build_old_libs'))} 
                                      {<Id.Lit_Equals '='>} {<yes>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {($ Id.VSub_DollarName '$echo')} {(DQ <'enable static libraries'>)})
                          ]
                          spids: [3382 3395]
                        )
                      ]
                      else_action: [
                        (C {($ Id.VSub_DollarName '$echo')} {(DQ <'disable static libraries'>)})
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_QMark '$?')}
                    )
                  ]
                  spids: [3334 3335 3423 -1]
                )
                (case_arm
                  pat_list: [{<--finish>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:mode)
                          op: assign_op.Equal
                          rhs: {(DQ <finish>)}
                          spids: [3430]
                        )
                      ]
                    )
                  ]
                  spids: [3427 3428 3435 -1]
                )
                (case_arm
                  pat_list: [{<--mode>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:prevopt)
                          op: assign_op.Equal
                          rhs: {(DQ <--mode>)}
                          spids: [3442]
                        )
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:prev)
                          op: assign_op.Equal
                          rhs: {<mode>}
                          spids: [3447]
                        )
                      ]
                    )
                  ]
                  spids: [3439 3440 3450 -1]
                )
                (case_arm
                  pat_list: [{<--mode> <Id.Lit_Equals '='> <Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:mode)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$optarg'))}
                          spids: [3458]
                        )
                      ]
                    )
                  ]
                  spids: [3453 3456 3463 -1]
                )
                (case_arm
                  pat_list: [{<--preserve-dup-deps>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:duplicate_deps)
                          op: assign_op.Equal
                          rhs: {(DQ <yes>)}
                          spids: [3470]
                        )
                      ]
                    )
                  ]
                  spids: [3467 3468 3475 -1]
                )
                (case_arm
                  pat_list: [{<--quiet>} {<--silent>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:show)
                          op: assign_op.Equal
                          rhs: {<Id.Lit_Colon ':'>}
                          spids: [3487]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:preserve_args)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName '$preserve_args') <' '> 
                                ($ Id.VSub_DollarName '$arg')
                              )
                            }
                          spids: [3491]
                        )
                      ]
                    )
                  ]
                  spids: [3479 3484 3499 -1]
                )
                (case_arm
                  pat_list: [{<--tag>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:prevopt)
                          op: assign_op.Equal
                          rhs: {(DQ <--tag>)}
                          spids: [3507]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:prev)
                          op: assign_op.Equal
                          rhs: {<tag>}
                          spids: [3513]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:preserve_args)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$preserve_args') <' --tag'>)}
                          spids: [3517]
                        )
                      ]
                    )
                  ]
                  spids: [3503 3504 3524 -1]
                )
                (case_arm
                  pat_list: [{<--tag> <Id.Lit_Equals '='> <Id.Lit_Star '*'>}]
                  action: [
                    (C {<set>} {<tag>} {(DQ ($ Id.VSub_DollarName '$optarg'))} 
                      {
                        (braced_var_sub
                          token: <Id.VSub_Number 1>
                          suffix_op: 
                            (suffix_op.Unary
                              tok: <Id.VTest_Plus '+'>
                              arg_word: {(DQ ($ Id.VSub_At '$@'))}
                            )
                        )
                      }
                    )
                    (C {<shift>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:prev)
                          op: assign_op.Equal
                          rhs: {<tag>}
                          spids: [3553]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:preserve_args)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$preserve_args') <' --tag'>)}
                          spids: [3557]
                        )
                      ]
                    )
                  ]
                  spids: [3527 3530 3564 -1]
                )
                (case_arm
                  pat_list: [{<-dlopen>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:prevopt)
                          op: assign_op.Equal
                          rhs: {(DQ <-dlopen>)}
                          spids: [3572]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:prev)
                          op: assign_op.Equal
                          rhs: {<execute_dlfiles>}
                          spids: [3578]
                        )
                      ]
                    )
                  ]
                  spids: [3568 3569 3582 -1]
                )
                (case_arm
                  pat_list: [{<-> <Id.Lit_Star '*'>}]
                  action: [
                    (command.Simple
                      words: [
                        {($ Id.VSub_DollarName '$echo')}
                        {
                          (DQ ($ Id.VSub_DollarName '$modename') <': unrecognized option '> 
                            (word_part.EscapedLiteral
                              token: <Id.Lit_EscapedChar '\\`'>
                            ) ($ Id.VSub_DollarName '$arg') <'\''>
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_GreatAnd '1>&'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<2>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Simple
                      words: [{($ Id.VSub_DollarName '$echo')} {(DQ ($ Id.VSub_DollarName '$help'))}]
                      redirects: [
                        (redir
                          op: <Id.Redir_GreatAnd '1>&'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<2>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                    )
                  ]
                  spids: [3586 3588 3620 -1]
                )
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:nonopt)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$arg'))}
                          spids: [3628]
                        )
                      ]
                    )
                    (command.ControlFlow token:<Id.ControlFlow_Break break>)
                  ]
                  spids: [3624 3625 3637 -1]
                )
              ]
            )
          ]
        )
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$prevopt'))})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.Simple
              words: [
                {($ Id.VSub_DollarName '$echo')}
                {
                  (DQ ($ Id.VSub_DollarName '$modename') <': option '> 
                    (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) ($ Id.VSub_DollarName '$prevopt') <'\' requires an argument'>
                  )
                }
              ]
              redirects: [(redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.Simple
              words: [{($ Id.VSub_DollarName '$echo')} {(DQ ($ Id.VSub_DollarName '$help'))}]
              redirects: [(redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow
              token: <Id.ControlFlow_Exit exit>
              arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
            )
          ]
          spids: [3645 3656]
        )
      ]
    )
    (command.Case
      to_match: {($ Id.VSub_DollarName '$disable_libs')}
      arms: [
        (case_arm pat_list:[{<no>}] spids:[3696 3697 3701 -1])
        (case_arm
          pat_list: [{<shared>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:build_libtool_libs)
                  op: assign_op.Equal
                  rhs: {<no>}
                  spids: [3707]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:build_old_libs)
                  op: assign_op.Equal
                  rhs: {<yes>}
                  spids: [3711]
                )
              ]
            )
          ]
          spids: [3703 3704 3715 -1]
        )
        (case_arm
          pat_list: [{<static>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:build_old_libs)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (command.Case
                            to_match: {($ Id.VSub_DollarName '$build_libtool_libs')}
                            arms: [
                              (case_arm
                                pat_list: [{<yes>}]
                                action: [(C {<echo>} {<no>})]
                                spids: [3731 3732 3737 -1]
                              )
                              (case_arm
                                pat_list: [{<Id.Lit_Star '*'>}]
                                action: [(C {<echo>} {<yes>})]
                                spids: [3739 3740 3745 -1]
                              )
                            ]
                          )
                      )
                    }
                  spids: [3721]
                )
              ]
            )
          ]
          spids: [3717 3718 3751 -1]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:exec_cmd)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [3765]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$show_help'))})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$mode'))})
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Simple
                      words: [
                        {($ Id.VSub_DollarName '$echo')}
                        {(DQ <'*** Warning: inferring the mode of operation is deprecated.'>)}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_GreatAnd '1>&'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<2>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Simple
                      words: [
                        {($ Id.VSub_DollarName '$echo')}
                        {
                          (DQ 
                            <
'*** Future versions of Libtool will require --mode=MODE be specified.'
                            >
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_GreatAnd '1>&'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<2>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$nonopt')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {<Id.Lit_Star '*'> <cc>}
                            {<cc> <Id.Lit_Star '*'>}
                            {<Id.Lit_Star '*'> <Id.Lit_Other '+'> <Id.Lit_Other '+'>}
                            {<gcc> <Id.Lit_Star '*'>}
                            {<Id.Lit_Star '*'> <-gcc> <Id.Lit_Star '*'>}
                            {<g> <Id.Lit_Other '+'> <Id.Lit_Other '+'> <Id.Lit_Star '*'>}
                            {<xlc> <Id.Lit_Star '*'>}
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:mode)
                                  op: assign_op.Equal
                                  rhs: {<link>}
                                  spids: [3867]
                                )
                              ]
                            )
                            (command.ForEach
                              iter_name: arg
                              do_arg_iter: T
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{<-c>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:mode)
                                                  op: assign_op.Equal
                                                  rhs: {<compile>}
                                                  spids: [3890]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Break break>
                                            )
                                          ]
                                          spids: [3886 3887 3897 -1]
                                        )
                                      ]
                                    )
                                  ]
                                )
                            )
                          ]
                          spids: [3828 3864 3906 -1]
                        )
                        (case_arm
                          pat_list: [
                            {<Id.Lit_Star '*'> <db>}
                            {<Id.Lit_Star '*'> <dbx>}
                            {<Id.Lit_Star '*'> <strace>}
                            {<Id.Lit_Star '*'> <truss>}
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:mode)
                                  op: assign_op.Equal
                                  rhs: {<execute>}
                                  spids: [3929]
                                )
                              ]
                            )
                          ]
                          spids: [3909 3926 3933 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <install> <Id.Lit_Star '*'>} {<cp>} {<mv>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:mode)
                                  op: assign_op.Equal
                                  rhs: {<install>}
                                  spids: [3946]
                                )
                              ]
                            )
                          ]
                          spids: [3936 3943 3950 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <rm>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:mode)
                                  op: assign_op.Equal
                                  rhs: {<uninstall>}
                                  spids: [3958]
                                )
                              ]
                            )
                          ]
                          spids: [3953 3955 3962 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$execute_dlfiles'))})
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:mode)
                                      op: assign_op.Equal
                                      rhs: {<execute>}
                                      spids: [3983]
                                    )
                                  ]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$mode'))})
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<test>} {<-n>} 
                                                      {(DQ ($ Id.VSub_DollarName '$nonopt'))}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.Simple
                                              words: [
                                                {($ Id.VSub_DollarName '$echo')}
                                                {
                                                  (DQ ($ Id.VSub_DollarName '$modename') 
                                                    <': warning: cannot infer operation mode from '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) ($ Id.VSub_DollarName '$nonopt') <'\''>
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_GreatAnd '1>&'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<2>}
                                                )
                                              ]
                                              do_fork: T
                                            )
                                          ]
                                          spids: [4006 4017]
                                        )
                                      ]
                                      else_action: [
                                        (command.Simple
                                          words: [
                                            {($ Id.VSub_DollarName '$echo')}
                                            {
                                              (DQ ($ Id.VSub_DollarName '$modename') 
                                                <
': warning: cannot infer operation mode without MODE-ARGS'
                                                >
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_GreatAnd '1>&'>
                                              loc: (redir_loc.Fd fd:1)
                                              arg: {<2>}
                                            )
                                          ]
                                          do_fork: T
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [3992 4003]
                                )
                              ]
                            )
                          ]
                          spids: [3965 3966 4054 -1]
                        )
                      ]
                    )
                  ]
                  spids: [3787 3798]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$execute_dlfiles'))})
                                (C {<test>} {(DQ ($ Id.VSub_DollarName '$mode'))} 
                                  {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<execute>}
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Simple
                      words: [
                        {($ Id.VSub_DollarName '$echo')}
                        {
                          (DQ ($ Id.VSub_DollarName '$modename') <': unrecognized option '> 
                            (word_part.EscapedLiteral
                              token: <Id.Lit_EscapedChar '\\`'>
                            ) <'-dlopen\''>
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_GreatAnd '1>&'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<2>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Simple
                      words: [{($ Id.VSub_DollarName '$echo')} {(DQ ($ Id.VSub_DollarName '$help'))}]
                      redirects: [
                        (redir
                          op: <Id.Redir_GreatAnd '1>&'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<2>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                    )
                  ]
                  spids: [4068 4092]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:generic_help)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$help'))}
                  spids: [4131]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:help)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <'Try '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) 
                        ($ Id.VSub_DollarName '$modename') <' --help --mode='> ($ Id.VSub_DollarName '$mode') <'\' for more information.'>
                      )
                    }
                  spids: [4137]
                )
              ]
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName '$mode')}
              arms: [
                (case_arm
                  pat_list: [{<compile>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:modename)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$modename') <': compile'>)}
                          spids: [4168]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:base_compile)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [4179]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:srcfile)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$nonopt'))}
                          spids: [4182]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:suppress_opt)
                          op: assign_op.Equal
                          rhs: {<yes>}
                          spids: [4191]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:suppress_output)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [4195]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:arg_mode)
                          op: assign_op.Equal
                          rhs: {<normal>}
                          spids: [4198]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:libobj)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [4202]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:later)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [4205]
                        )
                      ]
                    )
                    (command.ForEach
                      iter_name: arg
                      do_arg_iter: T
                      body: 
                        (command.DoGroup
                          children: [
                            (command.Case
                              to_match: {($ Id.VSub_DollarName '$arg_mode')}
                              arms: [
                                (case_arm
                                  pat_list: [{<arg>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:lastarg)
                                          op: assign_op.Equal
                                          rhs: {(DQ ($ Id.VSub_DollarName '$arg'))}
                                          spids: [4233]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:arg_mode)
                                          op: assign_op.Equal
                                          rhs: {<normal>}
                                          spids: [4239]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [4224 4226 4243 -1]
                                )
                                (case_arm
                                  pat_list: [{<target>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:libobj)
                                          op: assign_op.Equal
                                          rhs: {(DQ ($ Id.VSub_DollarName '$arg'))}
                                          spids: [4252]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:arg_mode)
                                          op: assign_op.Equal
                                          rhs: {<normal>}
                                          spids: [4258]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [4247 4249 4265 -1]
                                )
                                (case_arm
                                  pat_list: [{<normal>}]
                                  action: [
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{<-o>}]
                                          action: [
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (C {<test>} {<-n>} 
                                                              {(DQ ($ Id.VSub_DollarName '$libobj'))}
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.Simple
                                                      words: [
                                                        {($ Id.VSub_DollarName '$echo')}
                                                        {
                                                          (DQ ($ Id.VSub_DollarName '$modename') 
                                                            <': you cannot specify '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) <'-o\' more than once'>
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_GreatAnd '1>&'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {<2>}
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                    (command.ControlFlow
                                                      token: <Id.ControlFlow_Exit exit>
                                                      arg_word: 
                                                        {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                                    )
                                                  ]
                                                  spids: [4289 4301]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:arg_mode)
                                                  op: assign_op.Equal
                                                  rhs: {<target>}
                                                  spids: [4325]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [4285 4286 4332 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<-static>} {<-prefer-pic>} {<-prefer-non-pic>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:later)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$later') <' '> 
                                                        ($ Id.VSub_DollarName '$arg')
                                                      )
                                                    }
                                                  spids: [4348]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [4336 4345 4359 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<-no-suppress>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:suppress_opt)
                                                  op: assign_op.Equal
                                                  rhs: {<no>}
                                                  spids: [4367]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [4363 4364 4374 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<-Xcompiler>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:arg_mode)
                                                  op: assign_op.Equal
                                                  rhs: {<arg>}
                                                  spids: [4382]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [4378 4379 4395 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<-Wc> <Id.Lit_Comma ','> <Id.Lit_Star '*'>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:args)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (command_sub
                                                        left_token: <Id.Left_Backtick '`'>
                                                        child: 
                                                          (command.Pipeline
                                                            children: [
                                                              (C {($ Id.VSub_DollarName '$echo')} 
                                                                {
                                                                  (DQ <X> 
                                                                    ($ Id.VSub_DollarName '$arg')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ Id.VSub_DollarName '$Xsed')} 
                                                                {<-e>} {(DQ <'s/^-Wc,//'>)}
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                      )
                                                    }
                                                  spids: [4408]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:lastarg)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [4431]
                                                )
                                              ]
                                            )
                                            (command.Sentence
                                              child: 
                                                (command.ShAssignment
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (sh_lhs_expr.Name name:save_ifs)
                                                      op: assign_op.Equal
                                                      rhs: {(DQ ($ Id.VSub_DollarName '$IFS'))}
                                                      spids: [4434]
                                                    )
                                                  ]
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:IFS)
                                                  op: assign_op.Equal
                                                  rhs: {(SQ <','>)}
                                                  spids: [4440]
                                                )
                                              ]
                                            )
                                            (command.ForEach
                                              iter_name: arg
                                              iter_words: [{($ Id.VSub_DollarName '$args')}]
                                              do_arg_iter: F
                                              body: 
                                                (command.DoGroup
                                                  children: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:IFS)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {(DQ ($ Id.VSub_DollarName '$save_ifs'))}
                                                          spids: [4458]
                                                        )
                                                      ]
                                                    )
                                                    (command.Case
                                                      to_match: {($ Id.VSub_DollarName '$arg')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\['>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\#'>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\&'>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\('>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\{'>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\|'>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\<'>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\?'>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) 
                                                              (word_part.EscapedLiteral
                                                                token: <Id.Lit_EscapedChar '\\ '>
                                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                                            }
                                                            {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> 
                                                              <Id.Lit_Star '*'>
                                                            }
                                                            {(DQ )}
                                                          ]
                                                          action: [
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (sh_lhs_expr.Name name:arg)
                                                                  op: assign_op.Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        (word_part.EscapedLiteral
                                                                          token: 
                                                                            <Id.Lit_EscapedChar 
'\\"'
                                                                            >
                                                                        ) ($ Id.VSub_DollarName '$arg') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                                                      )
                                                                    }
                                                                  spids: [4516]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [4484 4513 4524 -1]
                                                        )
                                                      ]
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:lastarg)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ Id.VSub_DollarName '$lastarg') 
                                                                <' '> ($ Id.VSub_DollarName '$arg')
                                                              )
                                                            }
                                                          spids: [4530]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:IFS)
                                                  op: assign_op.Equal
                                                  rhs: {(DQ ($ Id.VSub_DollarName '$save_ifs'))}
                                                  spids: [4541]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:lastarg)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (command_sub
                                                        left_token: <Id.Left_Backtick '`'>
                                                        child: 
                                                          (command.Pipeline
                                                            children: [
                                                              (C {($ Id.VSub_DollarName '$echo')} 
                                                                {
                                                                  (DQ <X> 
                                                                    ($ Id.VSub_DollarName '$lastarg')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ Id.VSub_DollarName '$Xsed')} 
                                                                {<-e>} {(DQ <'s/^ //'>)}
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                      )
                                                    }
                                                  spids: [4547]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:base_compile)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$base_compile') <' '> 
                                                        ($ Id.VSub_DollarName '$lastarg')
                                                      )
                                                    }
                                                  spids: [4575]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [4402 4405 4586 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<Id.Lit_Star '*'>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:lastarg)
                                                  op: assign_op.Equal
                                                  rhs: {(DQ ($ Id.VSub_DollarName '$srcfile'))}
                                                  spids: [4607]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:srcfile)
                                                  op: assign_op.Equal
                                                  rhs: {(DQ ($ Id.VSub_DollarName '$arg'))}
                                                  spids: [4613]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [4590 4592 4619 -1]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [4269 4271 4628 -1]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:lastarg)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_Backtick '`'>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {($ Id.VSub_DollarName '$echo')} 
                                                {(DQ <X> ($ Id.VSub_DollarName '$lastarg'))}
                                              )
                                              (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                {(DQ ($ Id.VSub_DollarName '$sed_quote_subst'))}
                                              )
                                            ]
                                            negated: F
                                          )
                                      )
                                    }
                                  spids: [4642]
                                )
                              ]
                            )
                            (command.Case
                              to_match: {($ Id.VSub_DollarName '$lastarg')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\['>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\#'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\&'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\('>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\{'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\|'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\<'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\?'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\ '>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                    }
                                    {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>}
                                    {(DQ )}
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:lastarg)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ 
                                                (word_part.EscapedLiteral
                                                  token: <Id.Lit_EscapedChar '\\"'>
                                                ) ($ Id.VSub_DollarName '$lastarg') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                              )
                                            }
                                          spids: [4729]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [4697 4726 4737 -1]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:base_compile)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ ($ Id.VSub_DollarName '$base_compile') <' '> 
                                        ($ Id.VSub_DollarName '$lastarg')
                                      )
                                    }
                                  spids: [4744]
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$arg_mode')}
                      arms: [
                        (case_arm
                          pat_list: [{<arg>}]
                          action: [
                            (C {($ Id.VSub_DollarName '$echo')} 
                              {
                                (DQ ($ Id.VSub_DollarName '$modename') 
                                  <': you must specify an argument for -Xcompile'>
                                )
                              }
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Exit exit>
                              arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                            )
                          ]
                          spids: [4766 4767 4783 -1]
                        )
                        (case_arm
                          pat_list: [{<target>}]
                          action: [
                            (command.Simple
                              words: [
                                {($ Id.VSub_DollarName '$echo')}
                                {
                                  (DQ ($ Id.VSub_DollarName '$modename') 
                                    <': you must specify a target with '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) <'-o\''>
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_GreatAnd '1>&'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<2>}
                                )
                              ]
                              do_fork: T
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Exit exit>
                              arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                            )
                          ]
                          spids: [4786 4787 4808 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$libobj'))} 
                                  {<Id.Lit_RBracket ']'>}
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:libobj)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_Backtick '`'>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {($ Id.VSub_DollarName '$echo')} 
                                                    {(DQ <X> ($ Id.VSub_DollarName '$srcfile'))}
                                                  )
                                                  (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                    {(SQ <'s%^.*/%%'>)}
                                                  )
                                                ]
                                                negated: F
                                              )
                                          )
                                        }
                                      spids: [4831]
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                          spids: [4811 4812 4854 -1]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:xform)
                          op: assign_op.Equal
                          rhs: {(SQ <'[cCFSifmso]'>)}
                          spids: [4869]
                        )
                      ]
                    )
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$libobj')}
                      arms: [
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.ada>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xform)
                                  op: assign_op.Equal
                                  rhs: {<ada>}
                                  spids: [4886]
                                )
                              ]
                            )
                          ]
                          spids: [4882 4884 4889 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.adb>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xform)
                                  op: assign_op.Equal
                                  rhs: {<adb>}
                                  spids: [4896]
                                )
                              ]
                            )
                          ]
                          spids: [4892 4894 4899 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.ads>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xform)
                                  op: assign_op.Equal
                                  rhs: {<ads>}
                                  spids: [4906]
                                )
                              ]
                            )
                          ]
                          spids: [4902 4904 4909 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.asm>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xform)
                                  op: assign_op.Equal
                                  rhs: {<asm>}
                                  spids: [4916]
                                )
                              ]
                            )
                          ]
                          spids: [4912 4914 4919 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.c> <Id.Lit_Other '+'> <Id.Lit_Other '+'>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xform)
                                  op: assign_op.Equal
                                  rhs: {<c> <Id.Lit_Other '+'> <Id.Lit_Other '+'>}
                                  spids: [4928]
                                )
                              ]
                            )
                          ]
                          spids: [4922 4926 4933 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.cc>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xform)
                                  op: assign_op.Equal
                                  rhs: {<cc>}
                                  spids: [4940]
                                )
                              ]
                            )
                          ]
                          spids: [4936 4938 4943 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.ii>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xform)
                                  op: assign_op.Equal
                                  rhs: {<ii>}
                                  spids: [4950]
                                )
                              ]
                            )
                          ]
                          spids: [4946 4948 4953 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.class>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xform)
                                  op: assign_op.Equal
                                  rhs: {<Id.KW_Class class>}
                                  spids: [4960]
                                )
                              ]
                            )
                          ]
                          spids: [4956 4958 4963 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.cpp>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xform)
                                  op: assign_op.Equal
                                  rhs: {<cpp>}
                                  spids: [4970]
                                )
                              ]
                            )
                          ]
                          spids: [4966 4968 4973 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.cxx>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xform)
                                  op: assign_op.Equal
                                  rhs: {<cxx>}
                                  spids: [4980]
                                )
                              ]
                            )
                          ]
                          spids: [4976 4978 4983 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.f90>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xform)
                                  op: assign_op.Equal
                                  rhs: {<f90>}
                                  spids: [4990]
                                )
                              ]
                            )
                          ]
                          spids: [4986 4988 4993 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.for>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xform)
                                  op: assign_op.Equal
                                  rhs: {<Id.KW_For for>}
                                  spids: [5000]
                                )
                              ]
                            )
                          ]
                          spids: [4996 4998 5003 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.java>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xform)
                                  op: assign_op.Equal
                                  rhs: {<java>}
                                  spids: [5010]
                                )
                              ]
                            )
                          ]
                          spids: [5006 5008 5013 -1]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:libobj)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {($ Id.VSub_DollarName '$echo')} 
                                        {(DQ <X> ($ Id.VSub_DollarName '$libobj'))}
                                      )
                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                        {
                                          (DQ <'s/'> <Id.Lit_BadBackslash '\\'> <.> 
                                            ($ Id.VSub_DollarName '$xform') <Id.Lit_Dollar '$'> <'/.lo/'>
                                          )
                                        }
                                      )
                                    ]
                                    negated: F
                                  )
                              )
                            }
                          spids: [5020]
                        )
                      ]
                    )
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$libobj')}
                      arms: [
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'> <.lo>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:obj)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_Backtick '`'>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {($ Id.VSub_DollarName '$echo')} 
                                                {(DQ <X> ($ Id.VSub_DollarName '$libobj'))}
                                              )
                                              (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                {(DQ ($ Id.VSub_DollarName '$lo2o'))}
                                              )
                                            ]
                                            negated: F
                                          )
                                      )
                                    }
                                  spids: [5062]
                                )
                              ]
                            )
                          ]
                          spids: [5058 5060 5084 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [
                            (command.Simple
                              words: [
                                {($ Id.VSub_DollarName '$echo')}
                                {
                                  (DQ ($ Id.VSub_DollarName '$modename') 
                                    <': cannot determine name of library object from '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) ($ Id.VSub_DollarName '$libobj') <'\''>
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_GreatAnd '1>&'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<2>}
                                )
                              ]
                              do_fork: T
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Exit exit>
                              arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                            )
                          ]
                          spids: [5087 5088 5110 -1]
                        )
                      ]
                    )
                    (C {<func_infer_tag>} {($ Id.VSub_DollarName '$base_compile')})
                    (command.ForEach
                      iter_name: arg
                      iter_words: [{($ Id.VSub_DollarName '$later')}]
                      do_arg_iter: F
                      body: 
                        (command.DoGroup
                          children: [
                            (command.Case
                              to_match: {($ Id.VSub_DollarName '$arg')}
                              arms: [
                                (case_arm
                                  pat_list: [{<-static>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:build_old_libs)
                                          op: assign_op.Equal
                                          rhs: {<yes>}
                                          spids: [5146]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [5142 5143 5153 -1]
                                )
                                (case_arm
                                  pat_list: [{<-prefer-pic>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:pic_mode)
                                          op: assign_op.Equal
                                          rhs: {<yes>}
                                          spids: [5161]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [5157 5158 5168 -1]
                                )
                                (case_arm
                                  pat_list: [{<-prefer-non-pic>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:pic_mode)
                                          op: assign_op.Equal
                                          rhs: {<no>}
                                          spids: [5176]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [5172 5173 5183 -1]
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:qlibobj)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {($ Id.VSub_DollarName '$echo')} 
                                        {(DQ <X> ($ Id.VSub_DollarName '$libobj'))}
                                      )
                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                        {(DQ ($ Id.VSub_DollarName '$sed_quote_subst'))}
                                      )
                                    ]
                                    negated: F
                                  )
                              )
                            }
                          spids: [5193]
                        )
                      ]
                    )
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$qlibobj')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\['>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\#'>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\&'>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\('>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\{'>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\|'>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\<'>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\?'>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\ '>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                            }
                            {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>}
                            {(DQ )}
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:qlibobj)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
                                        ($ Id.VSub_DollarName '$qlibobj') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                      )
                                    }
                                  spids: [5255]
                                )
                              ]
                            )
                          ]
                          spids: [5223 5252 5262 -1]
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DAmp]
                      children: [
                        (C {<test>} {(DQ <X> ($ Id.VSub_DollarName '$libobj'))} 
                          {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$qlibobj'))}
                        )
                        (command.Pipeline
                          children: [
                            (C {($ Id.VSub_DollarName '$echo')} 
                              {(DQ <X> ($ Id.VSub_DollarName '$libobj'))}
                            )
                            (C {<grep>} {(SQ <'[]~#^*{};<>?"'>) (DQ <'\''>) (SQ <' \t&()|`$[]'>)})
                          ]
                          negated: F
                        )
                        (C {($ Id.VSub_DollarName '$echo')} 
                          {
                            (DQ ($ Id.VSub_DollarName '$modename') <': libobj name '> 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\`'>
                              ) ($ Id.VSub_DollarName '$libobj') <'\' may not contain shell special characters.'>
                            )
                          }
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:objname)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {($ Id.VSub_DollarName '$echo')} 
                                        {(DQ <X> ($ Id.VSub_DollarName '$obj'))}
                                      )
                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} {(SQ <'s%^.*/%%'>)})
                                    ]
                                    negated: F
                                  )
                              )
                            }
                          spids: [5323]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:xdir)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {($ Id.VSub_DollarName '$echo')} 
                                        {(DQ <X> ($ Id.VSub_DollarName '$obj'))}
                                      )
                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} {(SQ <'s%/[^/]*$%%'>)})
                                    ]
                                    negated: F
                                  )
                              )
                            }
                          spids: [5346]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<test>} {(DQ <X> ($ Id.VSub_DollarName '$xdir'))} 
                                      {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$obj'))}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:xdir)
                                  op: assign_op.Equal
                                  rhs: (word.Empty)
                                  spids: [5389]
                                )
                              ]
                            )
                          ]
                          spids: [5369 5386]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:xdir)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName '$xdir') <'/'>}
                              spids: [5395]
                            )
                          ]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:lobj)
                          op: assign_op.Equal
                          rhs: 
                            {(${ Id.VSub_Name xdir) ($ Id.VSub_DollarName '$objdir') <'/'> 
                              ($ Id.VSub_DollarName '$objname')
                            }
                          spids: [5403]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$base_compile'))})
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [
                                {($ Id.VSub_DollarName '$echo')}
                                {
                                  (DQ ($ Id.VSub_DollarName '$modename') 
                                    <': you must specify a compilation command'>
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_GreatAnd '1>&'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<2>}
                                )
                              ]
                              do_fork: T
                            )
                            (command.Simple
                              words: [
                                {($ Id.VSub_DollarName '$echo')}
                                {(DQ ($ Id.VSub_DollarName '$help'))}
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_GreatAnd '1>&'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<2>}
                                )
                              ]
                              do_fork: T
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Exit exit>
                              arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                            )
                          ]
                          spids: [5413 5424]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName '$build_old_libs'))} 
                                      {<Id.Lit_Equals '='>} {<yes>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:removelist)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ ($ Id.VSub_DollarName '$obj') <' '> 
                                        ($ Id.VSub_DollarName '$lobj') <' '> ($ Id.VSub_DollarName '$libobj') <' '> (${ Id.VSub_Name libobj) <T>
                                      )
                                    }
                                  spids: [5477]
                                )
                              ]
                            )
                          ]
                          spids: [5461 5474]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:removelist)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ ($ Id.VSub_DollarName '$lobj') <' '> 
                                    ($ Id.VSub_DollarName '$libobj') <' '> (${ Id.VSub_Name libobj) <T>
                                  )
                                }
                              spids: [5495]
                            )
                          ]
                        )
                      ]
                    )
                    (C {($ Id.VSub_DollarName '$run')} {($ Id.VSub_DollarName '$rm')} 
                      {($ Id.VSub_DollarName '$removelist')}
                    )
                    (C {<trap>} 
                      {
                        (DQ ($ Id.VSub_DollarName '$run') <' '> ($ Id.VSub_DollarName '$rm') <' '> 
                          ($ Id.VSub_DollarName '$removelist') <'; exit '> ($ Id.VSub_DollarName '$EXIT_FAILURE')
                        )
                      } {<1>} {<2>} {<15>}
                    )
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$host_os')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {<cygwin> <Id.Lit_Star '*'>}
                            {<mingw> <Id.Lit_Star '*'>}
                            {<pw32> <Id.Lit_Star '*'>}
                            {<os2> <Id.Lit_Star '*'>}
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:pic_mode)
                                  op: assign_op.Equal
                                  rhs: {<default>}
                                  spids: [5570]
                                )
                              ]
                            )
                          ]
                          spids: [5550 5567 5574 -1]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.AndOr
                                      ops: [Id.Op_DAmp]
                                      children: [
                                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$pic_mode'))} 
                                          {<Id.Lit_Equals '='>} {<no>}
                                        )
                                        (C {<test>} 
                                          {(DQ ($ Id.VSub_DollarName '$deplibs_check_method'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<pass_all>}
                                        )
                                      ]
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:pic_mode)
                                  op: assign_op.Equal
                                  rhs: {<default>}
                                  spids: [5613]
                                )
                              ]
                            )
                          ]
                          spids: [5580 5606]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName '$compiler_c_o'))} 
                                      {<Id.Lit_Equals '='>} {<no>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:output_obj)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_Backtick '`'>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {($ Id.VSub_DollarName '$echo')} 
                                                {(DQ <X> ($ Id.VSub_DollarName '$srcfile'))}
                                              )
                                              (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                {(SQ <'s%^.*/%%'>)} {<-e>} {(SQ <'s%\\.[^.]*$%%'>)}
                                              )
                                            ]
                                            negated: F
                                          )
                                      ) <.> (${ Id.VSub_Name objext)
                                    }
                                  spids: [5645]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:lockfile)
                                  op: assign_op.Equal
                                  rhs: {(DQ ($ Id.VSub_DollarName '$output_obj') <.lock>)}
                                  spids: [5680]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:removelist)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ ($ Id.VSub_DollarName '$removelist') <' '> 
                                        ($ Id.VSub_DollarName '$output_obj') <' '> ($ Id.VSub_DollarName '$lockfile')
                                      )
                                    }
                                  spids: [5687]
                                )
                              ]
                            )
                            (C {<trap>} 
                              {
                                (DQ ($ Id.VSub_DollarName '$run') <' '> ($ Id.VSub_DollarName '$rm') 
                                  <' '> ($ Id.VSub_DollarName '$removelist') <'; exit '> ($ Id.VSub_DollarName '$EXIT_FAILURE')
                                )
                              } {<1>} {<2>} {<15>}
                            )
                          ]
                          spids: [5629 5642]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:output_obj)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [5719]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:need_locks)
                              op: assign_op.Equal
                              rhs: {<no>}
                              spids: [5722]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:lockfile)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [5726]
                            )
                          ]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName '$need_locks'))} 
                                      {<Id.Lit_Equals '='>} {<yes>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.WhileUntil
                              keyword: <Id.KW_Until until>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          words: [
                                            {($ Id.VSub_DollarName '$run')}
                                            {<ln>}
                                            {(DQ ($ Id.VSub_DollarName '$progpath'))}
                                            {(DQ ($ Id.VSub_DollarName '$lockfile'))}
                                          ]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_Great '2>'>
                                              loc: (redir_loc.Fd fd:2)
                                              arg: {<'/dev/null'>}
                                            )
                                          ]
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              body: 
                                (command.DoGroup
                                  children: [
                                    (C {($ Id.VSub_DollarName '$show')} 
                                      {
                                        (DQ <'Waiting for '> ($ Id.VSub_DollarName '$lockfile') 
                                          <' to be removed'>
                                        )
                                      }
                                    )
                                    (C {<sleep>} {<2>})
                                  ]
                                )
                            )
                          ]
                          spids: [5741 5754]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName '$need_locks'))} 
                                      {<Id.Lit_Equals '='>} {<warn>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {<-f>} {(DQ ($ Id.VSub_DollarName '$lockfile'))})
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {($ Id.VSub_DollarName '$echo')} 
                                      {
                                        (DQ <'*** ERROR, '> ($ Id.VSub_DollarName '$lockfile') 
                                          <' exists and contains:\n'> 
                                          (command_sub
                                            left_token: <Id.Left_Backtick '`'>
                                            child: 
                                              (command.Simple
                                                words: [{<cat>} {($ Id.VSub_DollarName '$lockfile')}]
                                                redirects: [
                                                  (redir
                                                    op: <Id.Redir_Great '2>'>
                                                    loc: (redir_loc.Fd fd:2)
                                                    arg: {<'/dev/null'>}
                                                  )
                                                ]
                                                do_fork: T
                                              )
                                          ) <'\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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) 
                                          <'-c\' and '> (word_part.EscapedLiteral token:<Id.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.>
                                        )
                                      }
                                    )
                                    (C {($ Id.VSub_DollarName '$run')} {($ Id.VSub_DollarName '$rm')} 
                                      {($ Id.VSub_DollarName '$removelist')}
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Exit exit>
                                      arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                    )
                                  ]
                                  spids: [5811 5822]
                                )
                              ]
                            )
                            (command.Simple
                              words: [
                                {($ Id.VSub_DollarName '$echo')}
                                {(DQ ($ Id.VSub_DollarName '$srcfile'))}
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName '$lockfile'))}
                                )
                              ]
                              do_fork: T
                            )
                          ]
                          spids: [5795 5808]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$fix_srcfile_path'))})
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<eval>} 
                              {<Id.Lit_VarLike 'srcfile='> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                ) ($ Id.VSub_DollarName '$fix_srcfile_path') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                              }
                            )
                          ]
                          spids: [5890 5901]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:qsrcfile)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {($ Id.VSub_DollarName '$echo')} 
                                        {(DQ <X> ($ Id.VSub_DollarName '$srcfile'))}
                                      )
                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                        {(DQ ($ Id.VSub_DollarName '$sed_quote_subst'))}
                                      )
                                    ]
                                    negated: F
                                  )
                              )
                            }
                          spids: [5915]
                        )
                      ]
                    )
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$qsrcfile')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\['>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\#'>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\&'>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\('>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\{'>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\|'>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\<'>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\?'>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\ '>
                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                            }
                            {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>}
                            {(DQ )}
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:qsrcfile)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) 
                                        ($ Id.VSub_DollarName '$qsrcfile') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                      )
                                    }
                                  spids: [5977]
                                )
                              ]
                            )
                          ]
                          spids: [5945 5974 5984 -1]
                        )
                      ]
                    )
                    (C {($ Id.VSub_DollarName '$run')} {($ Id.VSub_DollarName '$rm')} 
                      {(DQ ($ Id.VSub_DollarName '$libobj'))} {(DQ (${ Id.VSub_Name libobj) <T>)}
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$run'))})
                        (command.Simple
                          words: [{<cat>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(${ Id.VSub_Name libobj) <T>}
                            )
                            (redir
                              op: <Id.Redir_DLess '<<'>
                              loc: (redir_loc.Fd fd:0)
                              arg: 
                                (redir_param.HereDoc
                                  here_begin: {<EOF>}
                                  here_end_span_id: 6055
                                  stdin_parts: [
                                    <'# '>
                                    ($ Id.VSub_DollarName '$libobj')
                                    <' - a libtool object file\n'>
                                    <'# Generated by '>
                                    ($ Id.VSub_DollarName '$PROGRAM')
                                    <' - GNU '>
                                    ($ Id.VSub_DollarName '$PACKAGE')
                                    <' '>
                                    ($ Id.VSub_DollarName '$VERSION')
                                    ($ Id.VSub_DollarName '$TIMESTAMP')
                                    <'\n'>
                                    <'#\n'>
                                    <'# Please DO NOT delete this file!\n'>
                                    <'# It is necessary for linking the library.\n'>
                                    <'\n'>
                                    <'# Name of the PIC object.\n'>
                                  ]
                                )
                            )
                          ]
                          do_fork: T
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName '$build_libtool_libs'))} 
                                      {<Id.Lit_Equals '='>} {<yes>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:fbsd_hideous_sh_bug)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName '$base_compile')}
                                  spids: [6082]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {(DQ ($ Id.VSub_DollarName '$pic_mode'))} 
                                              {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:command)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$base_compile') <' '> 
                                                ($ Id.VSub_DollarName '$qsrcfile') <' '> ($ Id.VSub_DollarName '$pic_flag')
                                              )
                                            }
                                          spids: [6104]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [6087 6101]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:command)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (DQ ($ Id.VSub_DollarName '$base_compile') <' '> 
                                            ($ Id.VSub_DollarName '$qsrcfile')
                                          )
                                        }
                                      spids: [6121]
                                    )
                                  ]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {<Id.KW_Bang '!'>} {<-d>} 
                                              {
                                                (DQ (${ Id.VSub_Name xdir) 
                                                  ($ Id.VSub_DollarName '$objdir')
                                                )
                                              }
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {($ Id.VSub_DollarName '$show')} 
                                      {
                                        (DQ ($ Id.VSub_DollarName '$mkdir') <' '> 
                                          (${ Id.VSub_Name xdir) ($ Id.VSub_DollarName '$objdir')
                                        )
                                      }
                                    )
                                    (C {($ Id.VSub_DollarName '$run')} 
                                      {($ Id.VSub_DollarName '$mkdir')} {(${ Id.VSub_Name xdir) ($ Id.VSub_DollarName '$objdir')}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:exit_status)
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '$?')}
                                          spids: [6174]
                                        )
                                      ]
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp]
                                                      children: [
                                                        (C {<test>} 
                                                          {(DQ ($ Id.VSub_DollarName '$exit_status'))} {<-ne>} {<0>}
                                                        )
                                                        (C {<test>} {<Id.KW_Bang '!'>} {<-d>} 
                                                          {
                                                            (DQ (${ Id.VSub_Name xdir) 
                                                              ($ Id.VSub_DollarName '$objdir')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Exit exit>
                                              arg_word: {($ Id.VSub_DollarName '$exit_status')}
                                            )
                                          ]
                                          spids: [6178 6206]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [6133 6149]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {<-z>} 
                                              {(DQ ($ Id.VSub_DollarName '$output_obj'))}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:command)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$command') <' -o '> 
                                                ($ Id.VSub_DollarName '$lobj')
                                              )
                                            }
                                          spids: [6239]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [6221 6232]
                                )
                              ]
                            )
                            (C {($ Id.VSub_DollarName '$run')} {($ Id.VSub_DollarName '$rm')} 
                              {(DQ ($ Id.VSub_DollarName '$lobj'))} {(DQ ($ Id.VSub_DollarName '$output_obj'))}
                            )
                            (C {($ Id.VSub_DollarName '$show')} {(DQ ($ Id.VSub_DollarName '$command'))})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {($ Id.VSub_DollarName '$run')} {<eval>} 
                                              {(DQ ($ Id.VSub_DollarName '$command'))}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [(C {<Id.Lit_Colon ':'>})]
                                  spids: [6272 6283]
                                )
                              ]
                              else_action: [
                                (command.AndOr
                                  ops: [Id.Op_DAmp]
                                  children: [
                                    (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$output_obj'))})
                                    (C {($ Id.VSub_DollarName '$run')} {($ Id.VSub_DollarName '$rm')} 
                                      {($ Id.VSub_DollarName '$removelist')}
                                    )
                                  ]
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Exit exit>
                                  arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.AndOr
                                              ops: [Id.Op_DAmp]
                                              children: [
                                                (C {<test>} {(DQ ($ Id.VSub_DollarName '$need_locks'))} 
                                                  {<Id.Lit_Equals '='>} {<warn>}
                                                )
                                                (C {<test>} 
                                                  {
                                                    (DQ <X> 
                                                      (command_sub
                                                        left_token: <Id.Left_Backtick '`'>
                                                        child: 
                                                          (command.Simple
                                                            words: [
                                                              {<cat>}
                                                              {($ Id.VSub_DollarName '$lockfile')}
                                                            ]
                                                            redirects: [
                                                              (redir
                                                                op: <Id.Redir_Great '2>'>
                                                                loc: (redir_loc.Fd fd:2)
                                                                arg: {<'/dev/null'>}
                                                              )
                                                            ]
                                                            do_fork: T
                                                          )
                                                      )
                                                    )
                                                  } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$srcfile'))}
                                                )
                                              ]
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {($ Id.VSub_DollarName '$echo')} 
                                      {
                                        (DQ <'*** ERROR, '> ($ Id.VSub_DollarName '$lockfile') 
                                          <' contains:\n'> 
                                          (command_sub
                                            left_token: <Id.Left_Backtick '`'>
                                            child: 
                                              (command.Simple
                                                words: [{<cat>} {($ Id.VSub_DollarName '$lockfile')}]
                                                redirects: [
                                                  (redir
                                                    op: <Id.Redir_Great '2>'>
                                                    loc: (redir_loc.Fd fd:2)
                                                    arg: {<'/dev/null'>}
                                                  )
                                                ]
                                                do_fork: T
                                              )
                                          ) <'\n'> <'\n'> <'but it should contain:\n'> ($ Id.VSub_DollarName '$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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) <'-c\' and '> 
                                          (word_part.EscapedLiteral
                                            token: <Id.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.>
                                        )
                                      }
                                    )
                                    (C {($ Id.VSub_DollarName '$run')} {($ Id.VSub_DollarName '$rm')} 
                                      {($ Id.VSub_DollarName '$removelist')}
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Exit exit>
                                      arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                    )
                                  ]
                                  spids: [6317 6357]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.AndOr
                                              ops: [Id.Op_DAmp]
                                              children: [
                                                (C {<test>} {<-n>} 
                                                  {(DQ ($ Id.VSub_DollarName '$output_obj'))}
                                                )
                                                (C {<test>} 
                                                  {(DQ <X> ($ Id.VSub_DollarName '$output_obj'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$lobj'))}
                                                )
                                              ]
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {($ Id.VSub_DollarName '$show')} 
                                      {
                                        (DQ ($ Id.VSub_DollarName '$mv') <' '> 
                                          ($ Id.VSub_DollarName '$output_obj') <' '> ($ Id.VSub_DollarName '$lobj')
                                        )
                                      }
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {($ Id.VSub_DollarName '$run')} 
                                                      {($ Id.VSub_DollarName '$mv')} {($ Id.VSub_DollarName '$output_obj')} {($ Id.VSub_DollarName '$lobj')}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [(C {<Id.Lit_Colon ':'>})]
                                          spids: [6459 6470]
                                        )
                                      ]
                                      else_action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:error)
                                              op: assign_op.Equal
                                              rhs: {($ Id.VSub_QMark '$?')}
                                              spids: [6478]
                                            )
                                          ]
                                        )
                                        (C {($ Id.VSub_DollarName '$run')} 
                                          {($ Id.VSub_DollarName '$rm')} {($ Id.VSub_DollarName '$removelist')}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Exit exit>
                                          arg_word: {($ Id.VSub_DollarName '$error')}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [6417 6445]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$run'))})
                                (command.Simple
                                  words: [{<cat>}]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_DGreat '>>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {(${ Id.VSub_Name libobj) <T>}
                                    )
                                    (redir
                                      op: <Id.Redir_DLess '<<'>
                                      loc: (redir_loc.Fd fd:0)
                                      arg: 
                                        (redir_param.HereDoc
                                          here_begin: {<EOF>}
                                          here_end_span_id: 6534
                                          stdin_parts: [
                                            <'pic_object=\''>
                                            ($ Id.VSub_DollarName '$objdir')
                                            <'/'>
                                            ($ Id.VSub_DollarName '$objname')
                                            <'\'\n'>
                                            <'\n'>
                                          ]
                                        )
                                    )
                                  ]
                                  do_fork: T
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {(DQ ($ Id.VSub_DollarName '$suppress_opt'))} 
                                              {<Id.Lit_Equals '='>} {<yes>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:suppress_output)
                                          op: assign_op.Equal
                                          rhs: {(SQ <' >/dev/null 2>&1'>)}
                                          spids: [6557]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [6541 6554]
                                )
                              ]
                            )
                          ]
                          spids: [6062 6075]
                        )
                      ]
                      else_action: [
                        (command.AndOr
                          ops: [Id.Op_DAmp]
                          children: [
                            (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$run'))})
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(${ Id.VSub_Name libobj) <T>}
                                )
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {<EOF>}
                                      here_end_span_id: 6602
                                      stdin_parts: [<'pic_object=none\n'> <'\n'>]
                                    )
                                )
                              ]
                              do_fork: T
                            )
                          ]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName '$build_old_libs'))} 
                                      {<Id.Lit_Equals '='>} {<yes>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {(DQ ($ Id.VSub_DollarName '$pic_mode'))} 
                                              {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:command)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$base_compile') <' '> 
                                                ($ Id.VSub_DollarName '$qsrcfile')
                                              )
                                            }
                                          spids: [6649]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [6628 6642]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:command)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (DQ ($ Id.VSub_DollarName '$base_compile') <' '> 
                                            ($ Id.VSub_DollarName '$qsrcfile') <' '> ($ Id.VSub_DollarName '$pic_flag')
                                          )
                                        }
                                      spids: [6660]
                                    )
                                  ]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {(DQ ($ Id.VSub_DollarName '$compiler_c_o'))} 
                                              {<Id.Lit_Equals '='>} {<yes>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:command)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$command') <' -o '> 
                                                ($ Id.VSub_DollarName '$obj')
                                              )
                                            }
                                          spids: [6689]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [6673 6686]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:command)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ ($ Id.VSub_DollarName '$command') 
                                        ($ Id.VSub_DollarName '$suppress_output')
                                      )
                                    }
                                  spids: [6705]
                                )
                              ]
                            )
                            (C {($ Id.VSub_DollarName '$run')} {($ Id.VSub_DollarName '$rm')} 
                              {(DQ ($ Id.VSub_DollarName '$obj'))} {(DQ ($ Id.VSub_DollarName '$output_obj'))}
                            )
                            (C {($ Id.VSub_DollarName '$show')} {(DQ ($ Id.VSub_DollarName '$command'))})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {($ Id.VSub_DollarName '$run')} {<eval>} 
                                              {(DQ ($ Id.VSub_DollarName '$command'))}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [(C {<Id.Lit_Colon ':'>})]
                                  spids: [6732 6743]
                                )
                              ]
                              else_action: [
                                (C {($ Id.VSub_DollarName '$run')} {($ Id.VSub_DollarName '$rm')} 
                                  {($ Id.VSub_DollarName '$removelist')}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Exit exit>
                                  arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.AndOr
                                              ops: [Id.Op_DAmp]
                                              children: [
                                                (C {<test>} {(DQ ($ Id.VSub_DollarName '$need_locks'))} 
                                                  {<Id.Lit_Equals '='>} {<warn>}
                                                )
                                                (C {<test>} 
                                                  {
                                                    (DQ <X> 
                                                      (command_sub
                                                        left_token: <Id.Left_Backtick '`'>
                                                        child: 
                                                          (command.Simple
                                                            words: [
                                                              {<cat>}
                                                              {($ Id.VSub_DollarName '$lockfile')}
                                                            ]
                                                            redirects: [
                                                              (redir
                                                                op: <Id.Redir_Great '2>'>
                                                                loc: (redir_loc.Fd fd:2)
                                                                arg: {<'/dev/null'>}
                                                              )
                                                            ]
                                                            do_fork: T
                                                          )
                                                      )
                                                    )
                                                  } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$srcfile'))}
                                                )
                                              ]
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {($ Id.VSub_DollarName '$echo')} 
                                      {
                                        (DQ <'*** ERROR, '> ($ Id.VSub_DollarName '$lockfile') 
                                          <' contains:\n'> 
                                          (command_sub
                                            left_token: <Id.Left_Backtick '`'>
                                            child: 
                                              (command.Simple
                                                words: [{<cat>} {($ Id.VSub_DollarName '$lockfile')}]
                                                redirects: [
                                                  (redir
                                                    op: <Id.Redir_Great '2>'>
                                                    loc: (redir_loc.Fd fd:2)
                                                    arg: {<'/dev/null'>}
                                                  )
                                                ]
                                                do_fork: T
                                              )
                                          ) <'\n'> <'\n'> <'but it should contain:\n'> ($ Id.VSub_DollarName '$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 '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) <'-c\' and '> 
                                          (word_part.EscapedLiteral
                                            token: <Id.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.>
                                        )
                                      }
                                    )
                                    (C {($ Id.VSub_DollarName '$run')} {($ Id.VSub_DollarName '$rm')} 
                                      {($ Id.VSub_DollarName '$removelist')}
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Exit exit>
                                      arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                    )
                                  ]
                                  spids: [6767 6807]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.AndOr
                                              ops: [Id.Op_DAmp]
                                              children: [
                                                (C {<test>} {<-n>} 
                                                  {(DQ ($ Id.VSub_DollarName '$output_obj'))}
                                                )
                                                (C {<test>} 
                                                  {(DQ <X> ($ Id.VSub_DollarName '$output_obj'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$obj'))}
                                                )
                                              ]
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {($ Id.VSub_DollarName '$show')} 
                                      {
                                        (DQ ($ Id.VSub_DollarName '$mv') <' '> 
                                          ($ Id.VSub_DollarName '$output_obj') <' '> ($ Id.VSub_DollarName '$obj')
                                        )
                                      }
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {($ Id.VSub_DollarName '$run')} 
                                                      {($ Id.VSub_DollarName '$mv')} {($ Id.VSub_DollarName '$output_obj')} {($ Id.VSub_DollarName '$obj')}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [(C {<Id.Lit_Colon ':'>})]
                                          spids: [6909 6920]
                                        )
                                      ]
                                      else_action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:error)
                                              op: assign_op.Equal
                                              rhs: {($ Id.VSub_QMark '$?')}
                                              spids: [6928]
                                            )
                                          ]
                                        )
                                        (C {($ Id.VSub_DollarName '$run')} 
                                          {($ Id.VSub_DollarName '$rm')} {($ Id.VSub_DollarName '$removelist')}
                                        )
                                        (command.ControlFlow
                                          token: <Id.ControlFlow_Exit exit>
                                          arg_word: {($ Id.VSub_DollarName '$error')}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [6867 6895]
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$run'))})
                                (command.Simple
                                  words: [{<cat>}]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_DGreat '>>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {(${ Id.VSub_Name libobj) <T>}
                                    )
                                    (redir
                                      op: <Id.Redir_DLess '<<'>
                                      loc: (redir_loc.Fd fd:0)
                                      arg: 
                                        (redir_param.HereDoc
                                          here_begin: {<EOF>}
                                          here_end_span_id: 6987
                                          stdin_parts: [
                                            <'# Name of the non-PIC object.\n'>
                                            <'non_pic_object=\''>
                                            ($ Id.VSub_DollarName '$objname')
                                            <'\'\n'>
                                            <'\n'>
                                          ]
                                        )
                                    )
                                  ]
                                  do_fork: T
                                )
                              ]
                            )
                          ]
                          spids: [6612 6625]
                        )
                      ]
                      else_action: [
                        (command.AndOr
                          ops: [Id.Op_DAmp]
                          children: [
                            (C {<test>} {<-z>} {(DQ ($ Id.VSub_DollarName '$run'))})
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(${ Id.VSub_Name libobj) <T>}
                                )
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {<EOF>}
                                      here_end_span_id: 7026
                                      stdin_parts: [
                                        <'# Name of the non-PIC object.\n'>
                                        <'non_pic_object=none\n'>
                                        <'\n'>
                                      ]
                                    )
                                )
                              ]
                              do_fork: T
                            )
                          ]
                        )
                      ]
                    )
                    (C {($ Id.VSub_DollarName '$run')} {($ Id.VSub_DollarName '$mv')} 
                      {(DQ (${ Id.VSub_Name libobj) <T>)} {(DQ (${ Id.VSub_Name libobj))}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<test>} {(DQ ($ Id.VSub_DollarName '$need_locks'))} 
                                      {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {($ Id.VSub_DollarName '$run')} {($ Id.VSub_DollarName '$rm')} 
                              {(DQ ($ Id.VSub_DollarName '$lockfile'))}
                            )
                          ]
                          spids: [7055 7069]
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_DollarName '$EXIT_SUCCESS')}
                    )
                  ]
                  spids: [4164 4165 7090 -1]
                )
                (case_arm
                  pat_list: [{<link>} {<relink>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:modename)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$modename') <': link'>)}
                          spids: [7106]
                        )
                      ]
                    )
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$host')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-cygwin> <Id.Lit_Star '*'>}
                            {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-mingw> <Id.Lit_Star '*'>}
                            {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-pw32> <Id.Lit_Star '*'>}
                            {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-os2> <Id.Lit_Star '*'>}
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:allow_undefined)
                                  op: assign_op.Equal
                                  rhs: {<yes>}
                                  spids: [7193]
                                )
                              ]
                            )
                          ]
                          spids: [7120 7149 7197 -1]
                        )
                        (case_arm
                          pat_list: [{<Id.Lit_Star '*'>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:allow_undefined)
                                  op: assign_op.Equal
                                  rhs: {<yes>}
                                  spids: [7204]
                                )
                              ]
                            )
                          ]
                          spids: [7200 7201 7208 -1]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:libtool_args)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$nonopt'))}
                          spids: [7214]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:base_compile)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$nonopt') <' '> ($ Id.VSub_At '$@'))}
                          spids: [7220]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:compile_command)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$nonopt'))}
                          spids: [7228]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:finalize_command)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName '$nonopt'))}
                          spids: [7234]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:compile_rpath)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7241]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:finalize_rpath)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7244]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:compile_shlibpath)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7247]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:finalize_shlibpath)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7250]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:convenience)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7253]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:old_convenience)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7256]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:deplibs)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7259]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:old_deplibs)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7262]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:compiler_flags)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7265]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:linker_flags)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7268]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:dllsearchpath)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7271]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:lib_search_path)
                          op: assign_op.Equal
                          rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>}))}
                          spids: [7274]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:inst_prefix_dir)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7282]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:avoid_version)
                          op: assign_op.Equal
                          rhs: {<no>}
                          spids: [7286]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:dlfiles)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7290]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:dlprefiles)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7293]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:dlself)
                          op: assign_op.Equal
                          rhs: {<no>}
                          spids: [7296]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:export_dynamic)
                          op: assign_op.Equal
                          rhs: {<no>}
                          spids: [7300]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:export_symbols)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7304]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:export_symbols_regex)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7307]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:generated)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7310]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:libobjs)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7313]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ltlibs)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7316]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:module)
                          op: assign_op.Equal
                          rhs: {<no>}
                          spids: [7319]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:no_install)
                          op: assign_op.Equal
                          rhs: {<no>}
                          spids: [7323]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:objs)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7327]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:non_pic_objects)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7330]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:notinst_path)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7333]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:precious_files_regex)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7339]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:prefer_static_libs)
                          op: assign_op.Equal
                          rhs: {<no>}
                          spids: [7342]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:preload)
                          op: assign_op.Equal
                          rhs: {<no>}
                          spids: [7346]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:prev)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7350]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:prevarg)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7353]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:release)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7356]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:rpath)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7359]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:xrpath)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7362]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:perm_rpath)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7365]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:temp_rpath)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7368]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:thread_safe)
                          op: assign_op.Equal
                          rhs: {<no>}
                          spids: [7371]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:vinfo)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [7375]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:vinfo_number)
                          op: assign_op.Equal
                          rhs: {<no>}
                          spids: [7378]
                        )
                      ]
                    )
                    (C {<func_infer_tag>} {($ Id.VSub_DollarName '$base_compile')})
                    (command.ForEach
                      iter_name: arg
                      do_arg_iter: T
                      body: 
                        (command.DoGroup
                          children: [
                            (command.Case
                              to_match: {($ Id.VSub_DollarName '$arg')}
                              arms: [
                                (case_arm
                                  pat_list: [{<-all-static>} {<-static>}]
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<test>} {(DQ <X> ($ Id.VSub_DollarName '$arg'))} 
                                                      {<Id.Lit_Equals '='>} {(DQ <X-all-static>)}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.AndOr
                                                              ops: [Id.Op_DAmp]
                                                              children: [
                                                                (C {<test>} 
                                                                  {
                                                                    (DQ 
                                                                      ($ Id.VSub_DollarName 
'$build_libtool_libs'
                                                                      )
                                                                    )
                                                                  } {<Id.Lit_Equals '='>} {<yes>}
                                                                )
                                                                (C {<test>} {<-z>} 
                                                                  {
                                                                    (DQ 
                                                                      ($ Id.VSub_DollarName 
'$link_static_flag'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.Simple
                                                      words: [
                                                        {($ Id.VSub_DollarName '$echo')}
                                                        {
                                                          (DQ ($ Id.VSub_DollarName '$modename') 
                                                            <
': warning: complete static linking is impossible in this configuration'
                                                            >
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_GreatAnd '1>&'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {<2>}
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                  ]
                                                  spids: [7435 7458]
                                                )
                                              ]
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (C {<test>} {<-n>} 
                                                              {
                                                                (DQ 
                                                                  ($ Id.VSub_DollarName 
'$link_static_flag'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:dlopen_self)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              ($ Id.VSub_DollarName 
'$dlopen_self_static'
                                                              )
                                                            }
                                                          spids: [7489]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [7475 7486]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prefer_static_libs)
                                                  op: assign_op.Equal
                                                  rhs: {<yes>}
                                                  spids: [7496]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [7416 7432]
                                        )
                                      ]
                                      else_action: [
                                        (command.If
                                          arms: [
                                            (if_arm
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Sentence
                                                      child: 
                                                        (command.AndOr
                                                          ops: [Id.Op_DAmp]
                                                          children: [
                                                            (C {<test>} {<-z>} 
                                                              {
                                                                (DQ 
                                                                  ($ Id.VSub_DollarName '$pic_flag')
                                                                )
                                                              }
                                                            )
                                                            (C {<test>} {<-n>} 
                                                              {
                                                                (DQ 
                                                                  ($ Id.VSub_DollarName 
'$link_static_flag'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                  ]
                                                )
                                              action: [
                                                (command.ShAssignment
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (sh_lhs_expr.Name name:dlopen_self)
                                                      op: assign_op.Equal
                                                      rhs: 
                                                        {
                                                          ($ Id.VSub_DollarName '$dlopen_self_static')
                                                        }
                                                      spids: [7527]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [7503 7524]
                                            )
                                          ]
                                        )
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:prefer_static_libs)
                                              op: assign_op.Equal
                                              rhs: {<built>}
                                              spids: [7534]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:build_libtool_libs)
                                          op: assign_op.Equal
                                          rhs: {<no>}
                                          spids: [7541]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:build_old_libs)
                                          op: assign_op.Equal
                                          rhs: {<yes>}
                                          spids: [7545]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [7408 7413 7552 -1]
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$old_archive_from_new_cmds'))})
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:build_old_libs)
                              op: assign_op.Equal
                              rhs: {<yes>}
                              spids: [7576]
                            )
                          ]
                        )
                      ]
                    )
                    (command.WhileUntil
                      keyword: <Id.KW_While while>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: (C {<test>} {(DQ ($ Id.VSub_Pound '$#'))} {<-gt>} {<0>})
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:arg)
                                  op: assign_op.Equal
                                  rhs: {(DQ ($ Id.VSub_Number '$1'))}
                                  spids: [7601]
                                )
                              ]
                            )
                            (C {<shift>})
                            (command.Case
                              to_match: {($ Id.VSub_DollarName '$arg')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\['>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\#'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\&'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\('>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\{'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\|'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\<'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\?'>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) 
                                      (word_part.EscapedLiteral
                                        token: <Id.Lit_EscapedChar '\\ '>
                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                    }
                                    {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>}
                                    {(DQ )}
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:qarg)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\"'>
                                              ) 
                                              (command_sub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {($ Id.VSub_DollarName '$echo')} 
                                                        {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                      )
                                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                        {
                                                          (DQ 
                                                            ($ Id.VSub_DollarName '$sed_quote_subst')
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                            }
                                          spids: [7649]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [7617 7646 7677 -1]
                                )
                                (case_arm
                                  pat_list: [{<Id.Lit_Star '*'>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:qarg)
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName '$arg')}
                                          spids: [7683]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [7680 7681 7686 -1]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:libtool_args)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ ($ Id.VSub_DollarName '$libtool_args') <' '> 
                                        ($ Id.VSub_DollarName '$qarg')
                                      )
                                    }
                                  spids: [7692]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$prev'))})
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName '$prev')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{<output>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:compile_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$compile_command') 
                                                        <' @OUTPUT@'>
                                                      )
                                                    }
                                                  spids: [7730]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:finalize_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$finalize_command') 
                                                        <' @OUTPUT@'>
                                                      )
                                                    }
                                                  spids: [7737]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [7726 7727 7744 -1]
                                        )
                                      ]
                                    )
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName '$prev')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{<dlfiles>} {<dlprefiles>}]
                                          action: [
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (C {<test>} 
                                                              {(DQ ($ Id.VSub_DollarName '$preload'))} {<Id.Lit_Equals '='>} {<no>}
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              name: compile_command
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                ($ Id.VSub_DollarName 
'$compile_command'
                                                                ) <' @SYMFILE@'>
                                                              )
                                                            }
                                                          spids: [7784]
                                                        )
                                                      ]
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              name: finalize_command
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                ($ Id.VSub_DollarName 
'$finalize_command'
                                                                ) <' @SYMFILE@'>
                                                              )
                                                            }
                                                          spids: [7791]
                                                        )
                                                      ]
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:preload)
                                                          op: assign_op.Equal
                                                          rhs: {<yes>}
                                                          spids: [7798]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [7764 7777]
                                                )
                                              ]
                                            )
                                            (command.Case
                                              to_match: {($ Id.VSub_DollarName '$arg')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_Star '*'> <.la>}
                                                    {<Id.Lit_Star '*'> <.lo>}
                                                  ]
                                                  spids: [7812 7819 7821 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{<force>}]
                                                  action: [
                                                    (command.If
                                                      arms: [
                                                        (if_arm
                                                          cond: 
                                                            (condition.Shell
                                                              commands: [
                                                                (command.Sentence
                                                                  child: 
                                                                    (C {<test>} 
                                                                      {
                                                                        (DQ 
                                                                          ($ Id.VSub_DollarName 
'$dlself'
                                                                          )
                                                                        )
                                                                      } {<Id.Lit_Equals '='>} {<no>}
                                                                    )
                                                                  terminator: <Id.Op_Semi _>
                                                                )
                                                              ]
                                                            )
                                                          action: [
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (sh_lhs_expr.Name name:dlself)
                                                                  op: assign_op.Equal
                                                                  rhs: {<needless>}
                                                                  spids: [7847]
                                                                )
                                                              ]
                                                            )
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      name: export_dynamic
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: {<yes>}
                                                                  spids: [7851]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [7831 7844]
                                                        )
                                                      ]
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:prev)
                                                          op: assign_op.Equal
                                                          rhs: (word.Empty)
                                                          spids: [7858]
                                                        )
                                                      ]
                                                    )
                                                    (command.ControlFlow
                                                      token: <Id.ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [7827 7828 7864 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{<self>}]
                                                  action: [
                                                    (command.If
                                                      arms: [
                                                        (if_arm
                                                          cond: 
                                                            (condition.Shell
                                                              commands: [
                                                                (command.Sentence
                                                                  child: 
                                                                    (C {<test>} 
                                                                      {
                                                                        (DQ 
                                                                          ($ Id.VSub_DollarName 
'$prev'
                                                                          )
                                                                        )
                                                                      } {<Id.Lit_Equals '='>} {<dlprefiles>}
                                                                    )
                                                                  terminator: <Id.Op_Semi _>
                                                                )
                                                              ]
                                                            )
                                                          action: [
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (sh_lhs_expr.Name name:dlself)
                                                                  op: assign_op.Equal
                                                                  rhs: {<yes>}
                                                                  spids: [7887]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [7871 7884]
                                                        )
                                                        (if_arm
                                                          cond: 
                                                            (condition.Shell
                                                              commands: [
                                                                (command.Sentence
                                                                  child: 
                                                                    (command.AndOr
                                                                      ops: [Id.Op_DAmp]
                                                                      children: [
                                                                        (C {<test>} 
                                                                          {
                                                                            (DQ 
                                                                              ($ Id.VSub_DollarName 
'$prev'
                                                                              )
                                                                            )
                                                                          } {<Id.Lit_Equals '='>} {<dlfiles>}
                                                                        )
                                                                        (C {<test>} 
                                                                          {
                                                                            (DQ 
                                                                              ($ Id.VSub_DollarName 
'$dlopen_self'
                                                                              )
                                                                            )
                                                                          } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<yes>}
                                                                        )
                                                                      ]
                                                                    )
                                                                  terminator: <Id.Op_Semi _>
                                                                )
                                                              ]
                                                            )
                                                          action: [
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (sh_lhs_expr.Name name:dlself)
                                                                  op: assign_op.Equal
                                                                  rhs: {<yes>}
                                                                  spids: [7920]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [7891 7917]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (command.ShAssignment
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (sh_lhs_expr.Name name:dlself)
                                                              op: assign_op.Equal
                                                              rhs: {<needless>}
                                                              spids: [7927]
                                                            )
                                                          ]
                                                        )
                                                        (command.ShAssignment
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: 
                                                                (sh_lhs_expr.Name
                                                                  name: export_dynamic
                                                                )
                                                              op: assign_op.Equal
                                                              rhs: {<yes>}
                                                              spids: [7931]
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:prev)
                                                          op: assign_op.Equal
                                                          rhs: (word.Empty)
                                                          spids: [7938]
                                                        )
                                                      ]
                                                    )
                                                    (command.ControlFlow
                                                      token: <Id.ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [7867 7868 7944 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{<Id.Lit_Star '*'>}]
                                                  action: [
                                                    (command.If
                                                      arms: [
                                                        (if_arm
                                                          cond: 
                                                            (condition.Shell
                                                              commands: [
                                                                (command.Sentence
                                                                  child: 
                                                                    (C {<test>} 
                                                                      {
                                                                        (DQ 
                                                                          ($ Id.VSub_DollarName 
'$prev'
                                                                          )
                                                                        )
                                                                      } {<Id.Lit_Equals '='>} {<dlfiles>}
                                                                    )
                                                                  terminator: <Id.Op_Semi _>
                                                                )
                                                              ]
                                                            )
                                                          action: [
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      name: dlfiles
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ Id.VSub_DollarName 
'$dlfiles'
                                                                        ) <' '> ($ Id.VSub_DollarName '$arg')
                                                                      )
                                                                    }
                                                                  spids: [7967]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [7951 7964]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (command.ShAssignment
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (sh_lhs_expr.Name name:dlprefiles)
                                                              op: assign_op.Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ Id.VSub_DollarName 
'$dlprefiles'
                                                                    ) <' '> ($ Id.VSub_DollarName '$arg')
                                                                  )
                                                                }
                                                              spids: [7978]
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:prev)
                                                          op: assign_op.Equal
                                                          rhs: (word.Empty)
                                                          spids: [7989]
                                                        )
                                                      ]
                                                    )
                                                    (command.ControlFlow
                                                      token: <Id.ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [7947 7948 7995 -1]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [7758 7761 8001 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<expsyms>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:export_symbols)
                                                  op: assign_op.Equal
                                                  rhs: {(DQ ($ Id.VSub_DollarName '$arg'))}
                                                  spids: [8008]
                                                )
                                              ]
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (C {<test>} {<Id.KW_Bang '!'>} {<-f>} 
                                                              {(DQ ($ Id.VSub_DollarName '$arg'))}
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (C {($ Id.VSub_DollarName '$echo')} 
                                                      {
                                                        (DQ ($ Id.VSub_DollarName '$modename') 
                                                          <': symbol file '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) ($ Id.VSub_DollarName '$arg') 
                                                          <'\' does not exist'>
                                                        )
                                                      }
                                                    )
                                                    (command.ControlFlow
                                                      token: <Id.ControlFlow_Exit exit>
                                                      arg_word: 
                                                        {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                                    )
                                                  ]
                                                  spids: [8014 8027]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [8049]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [8004 8005 8055 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<expsyms_regex>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:export_symbols_regex)
                                                  op: assign_op.Equal
                                                  rhs: {(DQ ($ Id.VSub_DollarName '$arg'))}
                                                  spids: [8062]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [8068]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [8058 8059 8074 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<inst_prefix>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:inst_prefix_dir)
                                                  op: assign_op.Equal
                                                  rhs: {(DQ ($ Id.VSub_DollarName '$arg'))}
                                                  spids: [8081]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [8087]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [8077 8078 8093 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<precious_regex>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:precious_files_regex)
                                                  op: assign_op.Equal
                                                  rhs: {(DQ ($ Id.VSub_DollarName '$arg'))}
                                                  spids: [8100]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [8106]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [8096 8097 8112 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<release>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:release)
                                                  op: assign_op.Equal
                                                  rhs: {(DQ <-> ($ Id.VSub_DollarName '$arg'))}
                                                  spids: [8119]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [8126]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [8115 8116 8132 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<objectlist>}]
                                          action: [
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (C {<test>} {<-f>} 
                                                              {(DQ ($ Id.VSub_DollarName '$arg'))}
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:save_arg)
                                                          op: assign_op.Equal
                                                          rhs: {($ Id.VSub_DollarName '$arg')}
                                                          spids: [8153]
                                                        )
                                                      ]
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:moreargs)
                                                          op: assign_op.Equal
                                                          rhs: (word.Empty)
                                                          spids: [8157]
                                                        )
                                                      ]
                                                    )
                                                    (command.ForEach
                                                      iter_name: fil
                                                      iter_words: [
                                                        {
                                                          (command_sub
                                                            left_token: <Id.Left_Backtick '`'>
                                                            child: 
                                                              (C {<cat>} 
                                                                {($ Id.VSub_DollarName '$save_arg')}
                                                              )
                                                          )
                                                        }
                                                      ]
                                                      do_arg_iter: F
                                                      body: 
                                                        (command.DoGroup
                                                          children: [
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (sh_lhs_expr.Name name:arg)
                                                                  op: assign_op.Equal
                                                                  rhs: {($ Id.VSub_DollarName '$fil')}
                                                                  spids: [8181]
                                                                )
                                                              ]
                                                            )
                                                            (command.If
                                                              arms: [
                                                                (if_arm
                                                                  cond: 
                                                                    (condition.Shell
                                                                      commands: [
                                                                        (command.Sentence
                                                                          child: 
                                                                            (command.Subshell
                                                                              child: 
                                                                                (command.Pipeline
                                                                                  children: [
                                                                                    (C 
                                                                                      {
                                                                                        (${ 
Id.VSub_Name SED
                                                                                        )
                                                                                      } {<-e>} {(SQ <2q>)} {($ Id.VSub_DollarName '$arg')}
                                                                                    )
                                                                                    (C {<grep>} 
                                                                                      {
                                                                                        (DQ 
                                                                                          <
'^# Generated by .*'
                                                                                          > ($ Id.VSub_DollarName '$PACKAGE')
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                  ]
                                                                                  negated: F
                                                                                )
                                                                              redirects: [
                                                                                (redir
                                                                                  op: 
                                                                                    <Id.Redir_Great 
'>'
                                                                                    >
                                                                                  loc: 
                                                                                    (redir_loc.Fd
                                                                                      fd: 1
                                                                                    )
                                                                                  arg: {<'/dev/null'>}
                                                                                )
                                                                                (redir
                                                                                  op: 
                                                                                    <
Id.Redir_GreatAnd '2>&'
                                                                                    >
                                                                                  loc: 
                                                                                    (redir_loc.Fd
                                                                                      fd: 2
                                                                                    )
                                                                                  arg: {<1>}
                                                                                )
                                                                              ]
                                                                            )
                                                                          terminator: <Id.Op_Semi _>
                                                                        )
                                                                      ]
                                                                    )
                                                                  action: [
                                                                    (command.ShAssignment
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (sh_lhs_expr.Name
                                                                              name: pic_object
                                                                            )
                                                                          op: assign_op.Equal
                                                                          rhs: (word.Empty)
                                                                          spids: [8229]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.ShAssignment
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (sh_lhs_expr.Name
                                                                              name: non_pic_object
                                                                            )
                                                                          op: assign_op.Equal
                                                                          rhs: (word.Empty)
                                                                          spids: [8232]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.Case
                                                                      to_match: 
                                                                        {
                                                                          ($ Id.VSub_DollarName 
'$arg'
                                                                          )
                                                                        }
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {<Id.Lit_Star '*'> <'/'> 
                                                                              <Id.Lit_Star '*'>
                                                                            }
                                                                            {<Id.Lit_Star '*'> 
                                                                              (word_part.EscapedLiteral
                                                                                token: 
                                                                                  <
Id.Lit_EscapedChar '\\\\'
                                                                                  >
                                                                              ) <Id.Lit_Star '*'>
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (C {<.>} 
                                                                              {
                                                                                ($ 
Id.VSub_DollarName '$arg'
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [8251 8260 8266 -1]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {<Id.Lit_Star '*'>}
                                                                          ]
                                                                          action: [
                                                                            (C {<.>} 
                                                                              {<'./'> 
                                                                                ($ 
Id.VSub_DollarName '$arg'
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [8269 8270 8277 -1]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: 
                                                                            (condition.Shell
                                                                              commands: [
                                                                                (command.Sentence
                                                                                  child: 
                                                                                    (command.AndOr
                                                                                      ops: [
Id.Op_DPipe
Id.Op_DPipe
Id.Op_DAmp
                                                                                      ]
                                                                                      children: [
                                                                                        (C {<test>} 
                                                                                          {<-z>} {(DQ ($ Id.VSub_DollarName '$pic_object'))}
                                                                                        )
                                                                                        (C {<test>} 
                                                                                          {<-z>} {(DQ ($ Id.VSub_DollarName '$non_pic_object'))}
                                                                                        )
                                                                                        (C {<test>} 
                                                                                          {
                                                                                            (DQ 
                                                                                              ($ 
Id.VSub_DollarName '$pic_object'
                                                                                              )
                                                                                            )
                                                                                          } {<Id.Lit_Equals '='>} {<none>}
                                                                                        )
                                                                                        (C {<test>} 
                                                                                          {
                                                                                            (DQ 
                                                                                              ($ 
Id.VSub_DollarName '$non_pic_object'
                                                                                              )
                                                                                            )
                                                                                          } {<Id.Lit_Equals '='>} {<none>}
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  terminator: 
                                                                                    <Id.Op_Semi _>
                                                                                )
                                                                              ]
                                                                            )
                                                                          action: [
                                                                            (command.Simple
                                                                              words: [
                                                                                {
                                                                                  ($ 
Id.VSub_DollarName '$echo'
                                                                                  )
                                                                                }
                                                                                {
                                                                                  (DQ 
                                                                                    ($ 
Id.VSub_DollarName '$modename'
                                                                                    ) <': cannot find name of object for '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) 
                                                                                    ($ 
Id.VSub_DollarName '$arg'
                                                                                    ) <'\''>
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (redir
                                                                                  op: 
                                                                                    <
Id.Redir_GreatAnd '1>&'
                                                                                    >
                                                                                  loc: 
                                                                                    (redir_loc.Fd
                                                                                      fd: 1
                                                                                    )
                                                                                  arg: {<2>}
                                                                                )
                                                                              ]
                                                                              do_fork: T
                                                                            )
                                                                            (command.ControlFlow
                                                                              token: 
                                                                                <
Id.ControlFlow_Exit exit
                                                                                >
                                                                              arg_word: 
                                                                                {
                                                                                  ($ 
Id.VSub_DollarName '$EXIT_FAILURE'
                                                                                  )
                                                                                }
                                                                            )
                                                                          ]
                                                                          spids: [8284 8334]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.ShAssignment
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (sh_lhs_expr.Name
                                                                              name: xdir
                                                                            )
                                                                          op: assign_op.Equal
                                                                          rhs: 
                                                                            {
                                                                              (command_sub
                                                                                left_token: 
                                                                                  <Id.Left_Backtick 
'`'
                                                                                  >
                                                                                child: 
                                                                                  (command.Pipeline
                                                                                    children: [
                                                                                      (C 
                                                                                        {
                                                                                          ($ 
Id.VSub_DollarName '$echo'
                                                                                          )
                                                                                        } {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                                                      )
                                                                                      (C 
                                                                                        {
                                                                                          ($ 
Id.VSub_DollarName '$Xsed'
                                                                                          )
                                                                                        } {<-e>} {(SQ <'s%/[^/]*$%%'>)}
                                                                                      )
                                                                                    ]
                                                                                    negated: F
                                                                                  )
                                                                              )
                                                                            }
                                                                          spids: [8364]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: 
                                                                            (condition.Shell
                                                                              commands: [
                                                                                (command.Sentence
                                                                                  child: 
                                                                                    (C {<test>} 
                                                                                      {
                                                                                        (DQ <X> 
                                                                                          ($ 
Id.VSub_DollarName '$xdir'
                                                                                          )
                                                                                        )
                                                                                      } {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Id.Op_Semi _>
                                                                                )
                                                                              ]
                                                                            )
                                                                          action: [
                                                                            (command.ShAssignment
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (sh_lhs_expr.Name
                                                                                      name: xdir
                                                                                    )
                                                                                  op: 
assign_op.Equal
                                                                                  rhs: (word.Empty)
                                                                                  spids: [8407]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [8387 8404]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (command.ShAssignment
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (sh_lhs_expr.Name
                                                                                  name: xdir
                                                                                )
                                                                              op: assign_op.Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ 
Id.VSub_DollarName '$xdir'
                                                                                    ) <'/'>
                                                                                  )
                                                                                }
                                                                              spids: [8413]
                                                                            )
                                                                          ]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: 
                                                                            (condition.Shell
                                                                              commands: [
                                                                                (command.Sentence
                                                                                  child: 
                                                                                    (C {<test>} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
Id.VSub_DollarName '$pic_object'
                                                                                          )
                                                                                        )
                                                                                      } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<none>}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Id.Op_Semi _>
                                                                                )
                                                                              ]
                                                                            )
                                                                          action: [
                                                                            (command.ShAssignment
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (sh_lhs_expr.Name
                                                                                      name: 
pic_object
                                                                                    )
                                                                                  op: 
assign_op.Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ 
Id.VSub_DollarName '$xdir'
                                                                                        ) ($ Id.VSub_DollarName '$pic_object')
                                                                                      )
                                                                                    }
                                                                                  spids: [8445]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (command.If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: 
                                                                                    (condition.Shell
                                                                                      commands: [
                                                                                        (command.Sentence
                                                                                          child: 
                                                                                            (C 
                                                                                              {
                                                                                                <
test
                                                                                                >
                                                                                              } {(DQ ($ Id.VSub_DollarName '$prev'))} {<Id.Lit_Equals '='>} {<dlfiles>}
                                                                                            )
                                                                                          terminator: 
                                                                                            <
Id.Op_Semi _
                                                                                            >
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  action: [
                                                                                    (command.If
                                                                                      arms: [
                                                                                        (if_arm
                                                                                          cond: 
                                                                                            (condition.Shell
                                                                                              commands: [
                                                                                                (command.Sentence
                                                                                                  child: 
                                                                                                    (command.AndOr
                                                                                                      ops: [
Id.Op_DAmp
                                                                                                      ]
                                                                                                      children: [
                                                                                                        (C 
                                                                                                          {
                                                                                                            <
test
                                                                                                            >
                                                                                                          } {(DQ ($ Id.VSub_DollarName '$build_libtool_libs'))} {<Id.Lit_Equals '='>} {<yes>}
                                                                                                        )
                                                                                                        (C 
                                                                                                          {
                                                                                                            <
test
                                                                                                            >
                                                                                                          } {(DQ ($ Id.VSub_DollarName '$dlopen_support'))} {<Id.Lit_Equals '='>} {<yes>}
                                                                                                        )
                                                                                                      ]
                                                                                                    )
                                                                                                  terminator: 
                                                                                                    <
Id.Op_Semi _
                                                                                                    >
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          action: [
                                                                                            (command.ShAssignment
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (sh_lhs_expr.Name
                                                                                                      name: 
dlfiles
                                                                                                    )
                                                                                                  op: 
assign_op.Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (DQ 
                                                                                                        ($ 
Id.VSub_DollarName '$dlfiles'
                                                                                                        ) <' '> ($ Id.VSub_DollarName '$pic_object')
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
8497
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (command.ShAssignment
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (sh_lhs_expr.Name
                                                                                                      name: 
prev
                                                                                                    )
                                                                                                  op: 
assign_op.Equal
                                                                                                  rhs: (word.Empty)
                                                                                                  spids: [
8505
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (command.ControlFlow
                                                                                              token: 
                                                                                                <
Id.ControlFlow_Continue continue
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          spids: [
8469
8494
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      else_action: [
                                                                                        (command.ShAssignment
                                                                                          pairs: [
                                                                                            (assign_pair
                                                                                              lhs: 
                                                                                                (sh_lhs_expr.Name
                                                                                                  name: 
prev
                                                                                                )
                                                                                              op: 
assign_op.Equal
                                                                                              rhs: 
                                                                                                {
                                                                                                  <
dlprefiles
                                                                                                  >
                                                                                                }
                                                                                              spids: [
8518
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [8453 8466]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (command.If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: 
                                                                                    (condition.Shell
                                                                                      commands: [
                                                                                        (command.Sentence
                                                                                          child: 
                                                                                            (C 
                                                                                              {
                                                                                                <
test
                                                                                                >
                                                                                              } {(DQ ($ Id.VSub_DollarName '$prev'))} {<Id.Lit_Equals '='>} {<dlprefiles>}
                                                                                            )
                                                                                          terminator: 
                                                                                            <
Id.Op_Semi _
                                                                                            >
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  action: [
                                                                                    (command.ShAssignment
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (sh_lhs_expr.Name
                                                                                              name: 
dlprefiles
                                                                                            )
                                                                                          op: 
assign_op.Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
Id.VSub_DollarName '$dlprefiles'
                                                                                                ) <' '> ($ Id.VSub_DollarName '$pic_object')
                                                                                              )
                                                                                            }
                                                                                          spids: [
8553
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (command.ShAssignment
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (sh_lhs_expr.Name
                                                                                              name: 
prev
                                                                                            )
                                                                                          op: 
assign_op.Equal
                                                                                          rhs: (word.Empty)
                                                                                          spids: [
8561
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [8533 8546]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (command.ShAssignment
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (sh_lhs_expr.Name
                                                                                      name: libobjs
                                                                                    )
                                                                                  op: 
assign_op.Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ 
Id.VSub_DollarName '$libobjs'
                                                                                        ) <' '> ($ Id.VSub_DollarName '$pic_object')
                                                                                      )
                                                                                    }
                                                                                  spids: [8572]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (command.ShAssignment
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (sh_lhs_expr.Name
                                                                                      name: arg
                                                                                    )
                                                                                  op: 
assign_op.Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ 
Id.VSub_DollarName '$pic_object'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  spids: [8580]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [8424 8438]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: 
                                                                            (condition.Shell
                                                                              commands: [
                                                                                (command.Sentence
                                                                                  child: 
                                                                                    (C {<test>} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
Id.VSub_DollarName '$non_pic_object'
                                                                                          )
                                                                                        )
                                                                                      } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<none>}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Id.Op_Semi _>
                                                                                )
                                                                              ]
                                                                            )
                                                                          action: [
                                                                            (command.ShAssignment
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (sh_lhs_expr.Name
                                                                                      name: 
non_pic_object
                                                                                    )
                                                                                  op: 
assign_op.Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ 
Id.VSub_DollarName '$xdir'
                                                                                        ) ($ Id.VSub_DollarName '$non_pic_object')
                                                                                      )
                                                                                    }
                                                                                  spids: [8615]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (command.ShAssignment
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (sh_lhs_expr.Name
                                                                                      name: 
non_pic_objects
                                                                                    )
                                                                                  op: 
assign_op.Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ 
Id.VSub_DollarName '$non_pic_objects'
                                                                                        ) <' '> ($ Id.VSub_DollarName '$non_pic_object')
                                                                                      )
                                                                                    }
                                                                                  spids: [8627]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (command.If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: 
                                                                                    (condition.Shell
                                                                                      commands: [
                                                                                        (command.Sentence
                                                                                          child: 
                                                                                            (command.AndOr
                                                                                              ops: [
Id.Op_DPipe
                                                                                              ]
                                                                                              children: [
                                                                                                (C 
                                                                                                  {
                                                                                                    <
test
                                                                                                    >
                                                                                                  } {<-z>} {(DQ ($ Id.VSub_DollarName '$pic_object'))}
                                                                                                )
                                                                                                (C 
                                                                                                  {
                                                                                                    <
test
                                                                                                    >
                                                                                                  } {(DQ ($ Id.VSub_DollarName '$pic_object'))} {<Id.Lit_Equals '='>} {<none>}
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          terminator: 
                                                                                            <
Id.Op_Semi _
                                                                                            >
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  action: [
                                                                                    (command.ShAssignment
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (sh_lhs_expr.Name
                                                                                              name: 
arg
                                                                                            )
                                                                                          op: 
assign_op.Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
Id.VSub_DollarName '$non_pic_object'
                                                                                                )
                                                                                              )
                                                                                            }
                                                                                          spids: [
8662
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [8635 8659]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [8594 8608]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (command.ShAssignment
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (sh_lhs_expr.Name
                                                                                  name: 
non_pic_object
                                                                                )
                                                                              op: assign_op.Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ 
Id.VSub_DollarName '$pic_object'
                                                                                    )
                                                                                  )
                                                                                }
                                                                              spids: [8682]
                                                                            )
                                                                          ]
                                                                        )
                                                                        (command.ShAssignment
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (sh_lhs_expr.Name
                                                                                  name: 
non_pic_objects
                                                                                )
                                                                              op: assign_op.Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ 
Id.VSub_DollarName '$non_pic_objects'
                                                                                    ) <' '> ($ Id.VSub_DollarName '$non_pic_object')
                                                                                  )
                                                                                }
                                                                              spids: [8688]
                                                                            )
                                                                          ]
                                                                        )
                                                                      ]
                                                                    )
                                                                  ]
                                                                  spids: [8194 8226]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (command.If
                                                                  arms: [
                                                                    (if_arm
                                                                      cond: 
                                                                        (condition.Shell
                                                                          commands: [
                                                                            (command.Sentence
                                                                              child: 
                                                                                (C {<test>} {<-z>} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ 
Id.VSub_DollarName '$run'
                                                                                      )
                                                                                    )
                                                                                  }
                                                                                )
                                                                              terminator: 
                                                                                <Id.Op_Semi _>
                                                                            )
                                                                          ]
                                                                        )
                                                                      action: [
                                                                        (command.Simple
                                                                          words: [
                                                                            {
                                                                              ($ Id.VSub_DollarName 
'$echo'
                                                                              )
                                                                            }
                                                                            {
                                                                              (DQ 
                                                                                ($ 
Id.VSub_DollarName '$modename'
                                                                                ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) ($ Id.VSub_DollarName '$arg') 
                                                                                <
'\' is not a valid libtool object'
                                                                                >
                                                                              )
                                                                            }
                                                                          ]
                                                                          redirects: [
                                                                            (redir
                                                                              op: 
                                                                                <Id.Redir_GreatAnd 
'1>&'
                                                                                >
                                                                              loc: 
                                                                                (redir_loc.Fd
                                                                                  fd: 1
                                                                                )
                                                                              arg: {<2>}
                                                                            )
                                                                          ]
                                                                          do_fork: T
                                                                        )
                                                                        (command.ControlFlow
                                                                          token: 
                                                                            <Id.ControlFlow_Exit 
exit
                                                                            >
                                                                          arg_word: 
                                                                            {
                                                                              ($ Id.VSub_DollarName 
'$EXIT_FAILURE'
                                                                              )
                                                                            }
                                                                        )
                                                                      ]
                                                                      spids: [8706 8717]
                                                                    )
                                                                  ]
                                                                  else_action: [
                                                                    (command.ShAssignment
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (sh_lhs_expr.Name
                                                                              name: xdir
                                                                            )
                                                                          op: assign_op.Equal
                                                                          rhs: 
                                                                            {
                                                                              (command_sub
                                                                                left_token: 
                                                                                  <Id.Left_Backtick 
'`'
                                                                                  >
                                                                                child: 
                                                                                  (command.Pipeline
                                                                                    children: [
                                                                                      (C 
                                                                                        {
                                                                                          ($ 
Id.VSub_DollarName '$echo'
                                                                                          )
                                                                                        } {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                                                      )
                                                                                      (C 
                                                                                        {
                                                                                          ($ 
Id.VSub_DollarName '$Xsed'
                                                                                          )
                                                                                        } {<-e>} {(SQ <'s%/[^/]*$%%'>)}
                                                                                      )
                                                                                    ]
                                                                                    negated: F
                                                                                  )
                                                                              )
                                                                            }
                                                                          spids: [8751]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: 
                                                                            (condition.Shell
                                                                              commands: [
                                                                                (command.Sentence
                                                                                  child: 
                                                                                    (C {<test>} 
                                                                                      {
                                                                                        (DQ <X> 
                                                                                          ($ 
Id.VSub_DollarName '$xdir'
                                                                                          )
                                                                                        )
                                                                                      } {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Id.Op_Semi _>
                                                                                )
                                                                              ]
                                                                            )
                                                                          action: [
                                                                            (command.ShAssignment
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (sh_lhs_expr.Name
                                                                                      name: xdir
                                                                                    )
                                                                                  op: 
assign_op.Equal
                                                                                  rhs: (word.Empty)
                                                                                  spids: [8794]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [8774 8791]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (command.ShAssignment
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (sh_lhs_expr.Name
                                                                                  name: xdir
                                                                                )
                                                                              op: assign_op.Equal
                                                                              rhs: 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ 
Id.VSub_DollarName '$xdir'
                                                                                    ) <'/'>
                                                                                  )
                                                                                }
                                                                              spids: [8800]
                                                                            )
                                                                          ]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.ShAssignment
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (sh_lhs_expr.Name
                                                                              name: pic_object
                                                                            )
                                                                          op: assign_op.Equal
                                                                          rhs: 
                                                                            {
                                                                              (command_sub
                                                                                left_token: 
                                                                                  <Id.Left_Backtick 
'`'
                                                                                  >
                                                                                child: 
                                                                                  (command.Pipeline
                                                                                    children: [
                                                                                      (C 
                                                                                        {
                                                                                          ($ 
Id.VSub_DollarName '$echo'
                                                                                          )
                                                                                        } {(DQ <X> (${ Id.VSub_Name xdir) (${ Id.VSub_Name objdir) <'/'> (${ Id.VSub_Name arg))}
                                                                                      )
                                                                                      (C 
                                                                                        {
                                                                                          ($ 
Id.VSub_DollarName '$Xsed'
                                                                                          )
                                                                                        } {<-e>} {(DQ ($ Id.VSub_DollarName '$lo2o'))}
                                                                                      )
                                                                                    ]
                                                                                    negated: F
                                                                                  )
                                                                              )
                                                                            }
                                                                          spids: [8811]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.ShAssignment
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (sh_lhs_expr.Name
                                                                              name: non_pic_object
                                                                            )
                                                                          op: assign_op.Equal
                                                                          rhs: 
                                                                            {
                                                                              (command_sub
                                                                                left_token: 
                                                                                  <Id.Left_Backtick 
'`'
                                                                                  >
                                                                                child: 
                                                                                  (command.Pipeline
                                                                                    children: [
                                                                                      (C 
                                                                                        {
                                                                                          ($ 
Id.VSub_DollarName '$echo'
                                                                                          )
                                                                                        } {(DQ <X> (${ Id.VSub_Name xdir) (${ Id.VSub_Name arg))}
                                                                                      )
                                                                                      (C 
                                                                                        {
                                                                                          ($ 
Id.VSub_DollarName '$Xsed'
                                                                                          )
                                                                                        } {<-e>} {(DQ ($ Id.VSub_DollarName '$lo2o'))}
                                                                                      )
                                                                                    ]
                                                                                    negated: F
                                                                                  )
                                                                              )
                                                                            }
                                                                          spids: [8843]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.ShAssignment
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (sh_lhs_expr.Name
                                                                              name: libobjs
                                                                            )
                                                                          op: assign_op.Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ 
Id.VSub_DollarName '$libobjs'
                                                                                ) <' '> ($ Id.VSub_DollarName '$pic_object')
                                                                              )
                                                                            }
                                                                          spids: [8871]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.ShAssignment
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (sh_lhs_expr.Name
                                                                              name: non_pic_objects
                                                                            )
                                                                          op: assign_op.Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ 
Id.VSub_DollarName '$non_pic_objects'
                                                                                ) <' '> ($ Id.VSub_DollarName '$non_pic_object')
                                                                              )
                                                                            }
                                                                          spids: [8879]
                                                                        )
                                                                      ]
                                                                    )
                                                                  ]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                        )
                                                    )
                                                  ]
                                                  spids: [8139 8150]
                                                )
                                              ]
                                              else_action: [
                                                (C {($ Id.VSub_DollarName '$echo')} 
                                                  {
                                                    (DQ ($ Id.VSub_DollarName '$modename') 
                                                      <': link input file '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) ($ Id.VSub_DollarName '$save_arg') 
                                                      <'\' does not exist'>
                                                    )
                                                  }
                                                )
                                                (command.ControlFlow
                                                  token: <Id.ControlFlow_Exit exit>
                                                  arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:arg)
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_DollarName '$save_arg')}
                                                  spids: [8918]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [8922]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [8135 8136 8928 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<rpath>} {<xrpath>}]
                                          action: [
                                            (command.Case
                                              to_match: {($ Id.VSub_DollarName '$arg')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_LBracket '['> 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\\\'>
                                                      ) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_LBracket '['> <A-Za-z> 
                                                      <Id.Lit_RBracket ']'> <Id.Lit_Colon ':'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) 
                                                      <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                                    }
                                                  ]
                                                  spids: [8950 8967 8969 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{<Id.Lit_Star '*'>}]
                                                  action: [
                                                    (command.Simple
                                                      words: [
                                                        {($ Id.VSub_DollarName '$echo')}
                                                        {
                                                          (DQ ($ Id.VSub_DollarName '$modename') 
                                                            <
': only absolute run-paths are allowed'
                                                            >
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_GreatAnd '1>&'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {<2>}
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                    (command.ControlFlow
                                                      token: <Id.ControlFlow_Exit exit>
                                                      arg_word: 
                                                        {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                                    )
                                                  ]
                                                  spids: [8972 8973 8992 -1]
                                                )
                                              ]
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (C {<test>} 
                                                              {(DQ ($ Id.VSub_DollarName '$prev'))} {<Id.Lit_Equals '='>} {<rpath>}
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.Case
                                                      to_match: 
                                                        {(DQ ($ Id.VSub_DollarName '$rpath') <' '>)}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {<Id.Lit_Star '*'> 
                                                              (DQ <' '> ($ Id.VSub_DollarName '$arg') 
                                                                <' '>
                                                              ) <Id.Lit_Star '*'>
                                                            }
                                                          ]
                                                          spids: [9024 9031 9033 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{<Id.Lit_Star '*'>}]
                                                          action: [
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (sh_lhs_expr.Name name:rpath)
                                                                  op: assign_op.Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ Id.VSub_DollarName 
'$rpath'
                                                                        ) <' '> ($ Id.VSub_DollarName '$arg')
                                                                      )
                                                                    }
                                                                  spids: [9039]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [9036 9037 9046 -1]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [8998 9011]
                                                )
                                              ]
                                              else_action: [
                                                (command.Case
                                                  to_match: 
                                                    {(DQ ($ Id.VSub_DollarName '$xrpath') <' '>)}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {<Id.Lit_Star '*'> 
                                                          (DQ <' '> ($ Id.VSub_DollarName '$arg') <' '>) <Id.Lit_Star '*'>
                                                        }
                                                      ]
                                                      spids: [9065 9072 9074 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{<Id.Lit_Star '*'>}]
                                                      action: [
                                                        (command.ShAssignment
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (sh_lhs_expr.Name name:xrpath)
                                                              op: assign_op.Equal
                                                              rhs: 
                                                                {
                                                                  (DQ 
                                                                    ($ Id.VSub_DollarName '$xrpath') <' '> ($ Id.VSub_DollarName '$arg')
                                                                  )
                                                                }
                                                              spids: [9080]
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                      spids: [9077 9078 9087 -1]
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [9096]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [8931 8936 9102 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<xcompiler>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:compiler_flags)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$compiler_flags') 
                                                        <' '> ($ Id.VSub_DollarName '$qarg')
                                                      )
                                                    }
                                                  spids: [9109]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [9117]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:compile_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$compile_command') 
                                                        <' '> ($ Id.VSub_DollarName '$qarg')
                                                      )
                                                    }
                                                  spids: [9120]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:finalize_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$finalize_command') 
                                                        <' '> ($ Id.VSub_DollarName '$qarg')
                                                      )
                                                    }
                                                  spids: [9128]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [9105 9106 9139 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<xlinker>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:linker_flags)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$linker_flags') <' '> 
                                                        ($ Id.VSub_DollarName '$qarg')
                                                      )
                                                    }
                                                  spids: [9146]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:compiler_flags)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$compiler_flags') 
                                                        <' '> ($ Id.VSub_DollarName '$wl') ($ Id.VSub_DollarName '$qarg')
                                                      )
                                                    }
                                                  spids: [9154]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [9163]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:compile_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$compile_command') 
                                                        <' '> ($ Id.VSub_DollarName '$wl') ($ Id.VSub_DollarName '$qarg')
                                                      )
                                                    }
                                                  spids: [9166]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:finalize_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$finalize_command') 
                                                        <' '> ($ Id.VSub_DollarName '$wl') ($ Id.VSub_DollarName '$qarg')
                                                      )
                                                    }
                                                  spids: [9175]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [9142 9143 9187 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<xcclinker>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:linker_flags)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$linker_flags') <' '> 
                                                        ($ Id.VSub_DollarName '$qarg')
                                                      )
                                                    }
                                                  spids: [9194]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:compiler_flags)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$compiler_flags') 
                                                        <' '> ($ Id.VSub_DollarName '$qarg')
                                                      )
                                                    }
                                                  spids: [9202]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [9210]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:compile_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$compile_command') 
                                                        <' '> ($ Id.VSub_DollarName '$qarg')
                                                      )
                                                    }
                                                  spids: [9213]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:finalize_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$finalize_command') 
                                                        <' '> ($ Id.VSub_DollarName '$qarg')
                                                      )
                                                    }
                                                  spids: [9221]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [9190 9191 9232 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<shrext>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:shrext_cmds)
                                                  op: assign_op.Equal
                                                  rhs: {(DQ ($ Id.VSub_DollarName '$arg'))}
                                                  spids: [9239]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [9245]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [9235 9236 9251 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<darwin_framework>} {<darwin_framework_skip>}]
                                          action: [
                                            (command.AndOr
                                              ops: [Id.Op_DAmp]
                                              children: [
                                                (C {<test>} {(DQ ($ Id.VSub_DollarName '$prev'))} 
                                                  {<Id.Lit_Equals '='>} {(DQ <darwin_framework>)}
                                                )
                                                (command.ShAssignment
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (sh_lhs_expr.Name name:compiler_flags)
                                                      op: assign_op.Equal
                                                      rhs: 
                                                        {
                                                          (DQ 
                                                            ($ Id.VSub_DollarName '$compiler_flags') <' '> ($ Id.VSub_DollarName '$arg')
                                                          )
                                                        }
                                                      spids: [9274]
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:compile_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$compile_command') 
                                                        <' '> ($ Id.VSub_DollarName '$arg')
                                                      )
                                                    }
                                                  spids: [9282]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:finalize_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$finalize_command') 
                                                        <' '> ($ Id.VSub_DollarName '$arg')
                                                      )
                                                    }
                                                  spids: [9290]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [9298]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [9254 9257 9304 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<Id.Lit_Star '*'>}]
                                          action: [
                                            (C {<eval>} 
                                              {
                                                (DQ ($ Id.VSub_DollarName '$prev') <'='> 
                                                  (word_part.EscapedLiteral
                                                    token: <Id.Lit_EscapedChar '\\"'>
                                                  ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <arg> 
                                                  (word_part.EscapedLiteral
                                                    token: <Id.Lit_EscapedChar '\\"'>
                                                  )
                                                )
                                              }
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [9323]
                                                )
                                              ]
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [9307 9308 9329 -1]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [7705 7716]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:prevarg)
                                  op: assign_op.Equal
                                  rhs: {(DQ ($ Id.VSub_DollarName '$arg'))}
                                  spids: [9342]
                                )
                              ]
                            )
                            (command.Case
                              to_match: {($ Id.VSub_DollarName '$arg')}
                              arms: [
                                (case_arm
                                  pat_list: [{<-all-static>}]
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<test>} {<-n>} 
                                                      {
                                                        (DQ 
                                                          ($ Id.VSub_DollarName '$link_static_flag')
                                                        )
                                                      }
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:compile_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$compile_command') 
                                                        <' '> ($ Id.VSub_DollarName '$link_static_flag')
                                                      )
                                                    }
                                                  spids: [9374]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:finalize_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$finalize_command') 
                                                        <' '> ($ Id.VSub_DollarName '$link_static_flag')
                                                      )
                                                    }
                                                  spids: [9382]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [9360 9371]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [9356 9357 9396 -1]
                                )
                                (case_arm
                                  pat_list: [{<-allow-undefined>}]
                                  action: [
                                    (command.Simple
                                      words: [
                                        {($ Id.VSub_DollarName '$echo')}
                                        {
                                          (DQ ($ Id.VSub_DollarName '$modename') <': '> 
                                            (word_part.EscapedLiteral
                                              token: <Id.Lit_EscapedChar '\\`'>
                                            ) <'-allow-undefined\' is deprecated because it is the default'>
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_GreatAnd '1>&'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {<2>}
                                        )
                                      ]
                                      do_fork: T
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [9400 9401 9424 -1]
                                )
                                (case_arm
                                  pat_list: [{<-avoid-version>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:avoid_version)
                                          op: assign_op.Equal
                                          rhs: {<yes>}
                                          spids: [9432]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [9428 9429 9439 -1]
                                )
                                (case_arm
                                  pat_list: [{<-dlopen>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<dlfiles>}
                                          spids: [9447]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [9443 9444 9454 -1]
                                )
                                (case_arm
                                  pat_list: [{<-dlpreopen>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<dlprefiles>}
                                          spids: [9462]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [9458 9459 9469 -1]
                                )
                                (case_arm
                                  pat_list: [{<-export-dynamic>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:export_dynamic)
                                          op: assign_op.Equal
                                          rhs: {<yes>}
                                          spids: [9477]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [9473 9474 9484 -1]
                                )
                                (case_arm
                                  pat_list: [{<-export-symbols>} {<-export-symbols-regex>}]
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.AndOr
                                                      ops: [Id.Op_DPipe]
                                                      children: [
                                                        (C {<test>} {<-n>} 
                                                          {
                                                            (DQ 
                                                              ($ Id.VSub_DollarName '$export_symbols')
                                                            )
                                                          }
                                                        )
                                                        (C {<test>} {<-n>} 
                                                          {
                                                            (DQ 
                                                              ($ Id.VSub_DollarName 
'$export_symbols_regex'
                                                              )
                                                            )
                                                          }
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {($ Id.VSub_DollarName '$echo')} 
                                              {
                                                (DQ ($ Id.VSub_DollarName '$modename') 
                                                  <
': more than one -exported-symbols argument is not allowed'
                                                  >
                                                )
                                              }
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Exit exit>
                                              arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                            )
                                          ]
                                          spids: [9496 9517]
                                        )
                                      ]
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<test>} {(DQ <X> ($ Id.VSub_DollarName '$arg'))} 
                                                      {<Id.Lit_Equals '='>} {(DQ <X-export-symbols>)}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: {<expsyms>}
                                                  spids: [9555]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [9536 9552]
                                        )
                                      ]
                                      else_action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:prev)
                                              op: assign_op.Equal
                                              rhs: {<expsyms_regex>}
                                              spids: [9562]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [9488 9493 9572 -1]
                                )
                                (case_arm
                                  pat_list: [{<-framework>} {<-arch>} {<-isysroot>}]
                                  action: [
                                    (command.Case
                                      to_match: {(DQ <' '> ($ Id.VSub_DollarName '$CC') <' '>)}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {<Id.Lit_Star '*'> 
                                              (DQ <' '> (${ Id.VSub_Name arg) <' '> 
                                                (${ Id.VSub_Number 1) <' '>
                                              ) <Id.Lit_Star '*'>
                                            }
                                            {<Id.Lit_Star '*'> 
                                              (DQ <' '> (${ Id.VSub_Name arg) <'\t'> 
                                                (${ Id.VSub_Number 1) <' '>
                                              ) <Id.Lit_Star '*'>
                                            }
                                          ]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: {<darwin_framework_skip>}
                                                  spids: [9628]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [9595 9624 9631 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<Id.Lit_Star '*'>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:compiler_flags)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$compiler_flags') 
                                                        <' '> ($ Id.VSub_DollarName '$arg')
                                                      )
                                                    }
                                                  spids: [9637]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                  op: assign_op.Equal
                                                  rhs: {<darwin_framework>}
                                                  spids: [9645]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [9634 9635 9648 -1]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:compile_command)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$compile_command') <' '> 
                                                ($ Id.VSub_DollarName '$arg')
                                              )
                                            }
                                          spids: [9654]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:finalize_command)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$finalize_command') <' '> 
                                                ($ Id.VSub_DollarName '$arg')
                                              )
                                            }
                                          spids: [9662]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [9576 9581 9673 -1]
                                )
                                (case_arm
                                  pat_list: [{<-inst-prefix-dir>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<inst_prefix>}
                                          spids: [9681]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [9677 9678 9688 -1]
                                )
                                (case_arm
                                  pat_list: [
                                    {<-L> <Id.Lit_LBracket '['> <A-Z> <Id.Lit_RBracket ']'> 
                                      <Id.Lit_LBracket '['> <A-Z> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> <Id.Lit_Colon ':'> <Id.Lit_Star '*'>
                                    }
                                  ]
                                  action: [
                                    (command.Case
                                      to_match: 
                                        {($ Id.VSub_DollarName '$with_gcc') <'/'> 
                                          ($ Id.VSub_DollarName '$host')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {<'no/'> <Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-irix> 
                                              <Id.Lit_Star '*'>
                                            }
                                            {<'/'> <Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-irix> 
                                              <Id.Lit_Star '*'>
                                            }
                                          ]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:compile_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$compile_command') 
                                                        <' '> ($ Id.VSub_DollarName '$arg')
                                                      )
                                                    }
                                                  spids: [9740]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:finalize_command)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$finalize_command') 
                                                        <' '> ($ Id.VSub_DollarName '$arg')
                                                      )
                                                    }
                                                  spids: [9748]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [9722 9737 9756 -1]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [9700 9710 9765 -1]
                                )
                                (case_arm
                                  pat_list: [{<-L> <Id.Lit_Star '*'>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:dir)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {($ Id.VSub_DollarName '$echo')} 
                                                        {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                      )
                                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                        {(SQ <'s/^-L//'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                              )
                                            }
                                          spids: [9774]
                                        )
                                      ]
                                    )
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName '$dir')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {<Id.Lit_LBracket '['> 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\\\'>
                                              ) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                            }
                                            {<Id.Lit_LBracket '['> <A-Za-z> <Id.Lit_RBracket ']'> 
                                              <Id.Lit_Colon ':'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'/'> 
                                              <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                            }
                                          ]
                                          spids: [9808 9825 9827 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<Id.Lit_Star '*'>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:absdir)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (command_sub
                                                        left_token: <Id.Left_Backtick '`'>
                                                        child: 
                                                          (command.AndOr
                                                            ops: [Id.Op_DAmp]
                                                            children: [
                                                              (C {<cd>} 
                                                                {(DQ ($ Id.VSub_DollarName '$dir'))}
                                                              )
                                                              (C {<pwd>})
                                                            ]
                                                          )
                                                      )
                                                    }
                                                  spids: [9834]
                                                )
                                              ]
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (C {<test>} {<-z>} 
                                                              {(DQ ($ Id.VSub_DollarName '$absdir'))}
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.Simple
                                                      words: [
                                                        {($ Id.VSub_DollarName '$echo')}
                                                        {
                                                          (DQ ($ Id.VSub_DollarName '$modename') 
                                                            <
': cannot determine absolute directory name of '
                                                            > (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) ($ Id.VSub_DollarName '$dir') <'\''>
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_GreatAnd '1>&'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {<2>}
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:absdir)
                                                          op: assign_op.Equal
                                                          rhs: {(DQ ($ Id.VSub_DollarName '$dir'))}
                                                          spids: [9878]
                                                        )
                                                      ]
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:notinst_path)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                ($ Id.VSub_DollarName '$notinst_path') <' '> ($ Id.VSub_DollarName '$dir')
                                                              )
                                                            }
                                                          spids: [9884]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [9850 9861]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:dir)
                                                  op: assign_op.Equal
                                                  rhs: {(DQ ($ Id.VSub_DollarName '$absdir'))}
                                                  spids: [9895]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [9830 9831 9901 -1]
                                        )
                                      ]
                                    )
                                    (command.Case
                                      to_match: {(DQ ($ Id.VSub_DollarName '$deplibs') <' '>)}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {<Id.Lit_Star '*'> 
                                              (DQ <' -L'> ($ Id.VSub_DollarName '$dir') <' '>) <Id.Lit_Star '*'>
                                            }
                                          ]
                                          spids: [9917 9924 9926 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<Id.Lit_Star '*'>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:deplibs)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$deplibs') <' -L'> 
                                                        ($ Id.VSub_DollarName '$dir')
                                                      )
                                                    }
                                                  spids: [9933]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:lib_search_path)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$lib_search_path') 
                                                        <' '> ($ Id.VSub_DollarName '$dir')
                                                      )
                                                    }
                                                  spids: [9941]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [9929 9930 9949 -1]
                                        )
                                      ]
                                    )
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-cygwin> 
                                              <Id.Lit_Star '*'>
                                            }
                                            {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-mingw> 
                                              <Id.Lit_Star '*'>
                                            }
                                            {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-pw32> 
                                              <Id.Lit_Star '*'>
                                            }
                                            {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-os2> 
                                              <Id.Lit_Star '*'>
                                            }
                                          ]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:testbindir)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (command_sub
                                                        left_token: <Id.Left_Backtick '`'>
                                                        child: 
                                                          (command.Pipeline
                                                            children: [
                                                              (C {($ Id.VSub_DollarName '$echo')} 
                                                                {
                                                                  (DQ <X> 
                                                                    ($ Id.VSub_DollarName '$dir')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ Id.VSub_DollarName '$Xsed')} 
                                                                {<-e>} {(SQ <'s*/lib$*/bin*'>)}
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                      )
                                                    }
                                                  spids: [9994]
                                                )
                                              ]
                                            )
                                            (command.Case
                                              to_match: 
                                                {<Id.Lit_Colon ':'> 
                                                  ($ Id.VSub_DollarName '$dllsearchpath') <Id.Lit_Colon ':'>
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_Star '*'> 
                                                      (DQ <':'> ($ Id.VSub_DollarName '$dir') <':'>) <Id.Lit_Star '*'>
                                                    }
                                                  ]
                                                  spids: [10026 10033 10035 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{<Id.Lit_Star '*'>}]
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:dllsearchpath)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                ($ Id.VSub_DollarName 
'$dllsearchpath'
                                                                ) <':'> ($ Id.VSub_DollarName '$dir')
                                                              )
                                                            }
                                                          spids: [10041]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [10038 10039 10047 -1]
                                                )
                                              ]
                                            )
                                            (command.Case
                                              to_match: 
                                                {<Id.Lit_Colon ':'> 
                                                  ($ Id.VSub_DollarName '$dllsearchpath') <Id.Lit_Colon ':'>
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_Star '*'> 
                                                      (DQ <':'> ($ Id.VSub_DollarName '$testbindir') 
                                                        <':'>
                                                      ) <Id.Lit_Star '*'>
                                                    }
                                                  ]
                                                  spids: [10062 10069 10071 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{<Id.Lit_Star '*'>}]
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:dllsearchpath)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                ($ Id.VSub_DollarName 
'$dllsearchpath'
                                                                ) <':'> ($ Id.VSub_DollarName '$testbindir')
                                                              )
                                                            }
                                                          spids: [10077]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [10074 10075 10083 -1]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [9962 9991 10089 -1]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [9769 9771 10098 -1]
                                )
                                (case_arm
                                  pat_list: [{<-l> <Id.Lit_Star '*'>}]
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.AndOr
                                                      ops: [Id.Op_DPipe]
                                                      children: [
                                                        (C {<test>} 
                                                          {(DQ <X> ($ Id.VSub_DollarName '$arg'))} {<Id.Lit_Equals '='>} {(DQ <X-lc>)}
                                                        )
                                                        (C {<test>} 
                                                          {(DQ <X> ($ Id.VSub_DollarName '$arg'))} {<Id.Lit_Equals '='>} {(DQ <X-lm>)}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.Case
                                              to_match: {($ Id.VSub_DollarName '$host')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-cygwin> 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-mingw> 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-pw32> 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-beos> 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                  ]
                                                  action: [
                                                    (command.ControlFlow
                                                      token: <Id.ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [10148 10177 10187 -1]
                                                )
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-os2> 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                  ]
                                                  action: [
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp]
                                                      children: [
                                                        (C {<test>} 
                                                          {(DQ <X> ($ Id.VSub_DollarName '$arg'))} {<Id.Lit_Equals '='>} {(DQ <X-lc>)}
                                                        )
                                                        (command.ControlFlow
                                                          token: <Id.ControlFlow_Continue continue>
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [10190 10195 10220 -1]
                                                )
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-openbsd> 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-freebsd> 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> 
                                                      <-dragonfly> <Id.Lit_Star '*'>
                                                    }
                                                  ]
                                                  action: [
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp]
                                                      children: [
                                                        (C {<test>} 
                                                          {(DQ <X> ($ Id.VSub_DollarName '$arg'))} {<Id.Lit_Equals '='>} {(DQ <X-lc>)}
                                                        )
                                                        (command.ControlFlow
                                                          token: <Id.ControlFlow_Continue continue>
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [10223 10244 10269 -1]
                                                )
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> 
                                                      <-rhapsody> <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> 
                                                      <-darwin1.> <Id.Lit_LBracket '['> <012> <Id.Lit_RBracket ']'>
                                                    }
                                                  ]
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:deplibs)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ Id.VSub_DollarName '$deplibs') 
                                                                <' -framework System'>
                                                              )
                                                            }
                                                          spids: [10294]
                                                        )
                                                      ]
                                                    )
                                                    (command.ControlFlow
                                                      token: <Id.ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [10272 10287 10304 -1]
                                                )
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> 
                                                      <-sco3.2v5> <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sco5v6> 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                  ]
                                                  action: [
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp]
                                                      children: [
                                                        (C {<test>} 
                                                          {(DQ <X> ($ Id.VSub_DollarName '$arg'))} {<Id.Lit_Equals '='>} {(DQ <X-lc>)}
                                                        )
                                                        (command.ControlFlow
                                                          token: <Id.ControlFlow_Continue continue>
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [10307 10320 10345 -1]
                                                )
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> 
                                                      <-sysv4.2uw2> <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-sysv5> 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> 
                                                      <-unixware> <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> 
                                                      <-OpenUNIX> <Id.Lit_Star '*'>
                                                    }
                                                  ]
                                                  action: [
                                                    (command.AndOr
                                                      ops: [Id.Op_DAmp]
                                                      children: [
                                                        (C {<test>} 
                                                          {(DQ <X> ($ Id.VSub_DollarName '$arg'))} {<Id.Lit_Equals '='>} {(DQ <X-lc>)}
                                                        )
                                                        (command.ControlFlow
                                                          token: <Id.ControlFlow_Continue continue>
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [10348 10377 10402 -1]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [10107 10138]
                                        )
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<test>} {(DQ <X> ($ Id.VSub_DollarName '$arg'))} 
                                                      {<Id.Lit_Equals '='>} {(DQ <X-lc_r>)}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.Case
                                              to_match: {($ Id.VSub_DollarName '$host')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-openbsd> 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-freebsd> 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> 
                                                      <-dragonfly> <Id.Lit_Star '*'>
                                                    }
                                                  ]
                                                  action: [
                                                    (command.ControlFlow
                                                      token: <Id.ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [10434 10455 10465 -1]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [10408 10424]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:deplibs)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$deplibs') <' '> 
                                                ($ Id.VSub_DollarName '$arg')
                                              )
                                            }
                                          spids: [10474]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10102 10104 10485 -1]
                                )
                                (case_arm
                                  pat_list: [{<-model>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:compile_command)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$compile_command') <' '> 
                                                ($ Id.VSub_DollarName '$arg')
                                              )
                                            }
                                          spids: [10501]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:compiler_flags)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$compiler_flags') <' '> 
                                                ($ Id.VSub_DollarName '$arg')
                                              )
                                            }
                                          spids: [10509]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:finalize_command)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$finalize_command') <' '> 
                                                ($ Id.VSub_DollarName '$arg')
                                              )
                                            }
                                          spids: [10517]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<xcompiler>}
                                          spids: [10525]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10497 10498 10532 -1]
                                )
                                (case_arm
                                  pat_list: [
                                    {<-mt>}
                                    {<-mthreads>}
                                    {<-kthread>}
                                    {<-Kthread>}
                                    {<-pthread>}
                                    {<-pthreads>}
                                    {<--thread-safe>}
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:compiler_flags)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$compiler_flags') <' '> 
                                                ($ Id.VSub_DollarName '$arg')
                                              )
                                            }
                                          spids: [10552]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:compile_command)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$compile_command') <' '> 
                                                ($ Id.VSub_DollarName '$arg')
                                              )
                                            }
                                          spids: [10560]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:finalize_command)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$finalize_command') <' '> 
                                                ($ Id.VSub_DollarName '$arg')
                                              )
                                            }
                                          spids: [10568]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10536 10549 10579 -1]
                                )
                                (case_arm
                                  pat_list: [{<-module>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:module)
                                          op: assign_op.Equal
                                          rhs: {<yes>}
                                          spids: [10587]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10583 10584 10594 -1]
                                )
                                (case_arm
                                  pat_list: [
                                    {<-64>}
                                    {<-mips> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'>}
                                    {<-r> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> 
                                      <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                    }
                                    {<-xarch> <Id.Lit_Equals '='> <Id.Lit_Star '*'>}
                                    {<-xtarget> <Id.Lit_Equals '='> <Id.Lit_Star '*'>}
                                    {<Id.Lit_Other '+'> <DA> <Id.Lit_Star '*'>}
                                    {<Id.Lit_Other '+'> <DD> <Id.Lit_Star '*'>}
                                    {<-q> <Id.Lit_Star '*'>}
                                    {<-m> <Id.Lit_Star '*'>}
                                    {<-pg>}
                                    {<-t> <Id.Lit_LBracket '['> <45> <Id.Lit_RBracket ']'> 
                                      <Id.Lit_Star '*'>
                                    }
                                    {<-txscale> <Id.Lit_Star '*'>}
                                    {<Id.Lit_At '@'> <Id.Lit_Star '*'>}
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:arg)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {($ Id.VSub_DollarName '$echo')} 
                                                        {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                      )
                                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                        {
                                                          (DQ 
                                                            ($ Id.VSub_DollarName '$sed_quote_subst')
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                              )
                                            }
                                          spids: [10704]
                                        )
                                      ]
                                    )
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\['>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\#'>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\&'>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\('>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\{'>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\|'>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\<'>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\?'>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\ '>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                            }
                                            {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>}
                                            {(DQ )}
                                          ]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:arg)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ 
                                                        (word_part.EscapedLiteral
                                                          token: <Id.Lit_EscapedChar '\\"'>
                                                        ) ($ Id.VSub_DollarName '$arg') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                                      )
                                                    }
                                                  spids: [10766]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [10734 10763 10774 -1]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:compile_command)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$compile_command') <' '> 
                                                ($ Id.VSub_DollarName '$arg')
                                              )
                                            }
                                          spids: [10780]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:finalize_command)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$finalize_command') <' '> 
                                                ($ Id.VSub_DollarName '$arg')
                                              )
                                            }
                                          spids: [10788]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:compiler_flags)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$compiler_flags') <' '> 
                                                ($ Id.VSub_DollarName '$arg')
                                              )
                                            }
                                          spids: [10796]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10638 10692 10807 -1]
                                )
                                (case_arm
                                  pat_list: [{<-shrext>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<shrext>}
                                          spids: [10815]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10811 10812 10822 -1]
                                )
                                (case_arm
                                  pat_list: [{<-no-fast-install>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:fast_install)
                                          op: assign_op.Equal
                                          rhs: {<no>}
                                          spids: [10830]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10826 10827 10837 -1]
                                )
                                (case_arm
                                  pat_list: [{<-no-install>}]
                                  action: [
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-cygwin> 
                                              <Id.Lit_Star '*'>
                                            }
                                            {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-mingw> 
                                              <Id.Lit_Star '*'>
                                            }
                                            {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-pw32> 
                                              <Id.Lit_Star '*'>
                                            }
                                            {<Id.Lit_Star '*'> <-> <Id.Lit_Star '*'> <-os2> 
                                              <Id.Lit_Star '*'>
                                            }
                                          ]
                                          action: [
                                            (command.Simple
                                              words: [
                                                {($ Id.VSub_DollarName '$echo')}
                                                {
                                                  (DQ ($ Id.VSub_DollarName '$modename') 
                                                    <': warning: '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) <'-no-install\' is ignored for '> 
                                                    ($ Id.VSub_DollarName '$host')
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_GreatAnd '1>&'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<2>}
                                                )
                                              ]
                                              do_fork: T
                                            )
                                            (command.Simple
                                              words: [
                                                {($ Id.VSub_DollarName '$echo')}
                                                {
                                                  (DQ ($ Id.VSub_DollarName '$modename') 
                                                    <': warning: assuming '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) <'-no-fast-install\' instead'>
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_GreatAnd '1>&'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<2>}
                                                )
                                              ]
                                              do_fork: T
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:fast_install)
                                                  op: assign_op.Equal
                                                  rhs: {<no>}
                                                  spids: [10919]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [10852 10881 10923 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<Id.Lit_Star '*'>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:no_install)
                                                  op: assign_op.Equal
                                                  rhs: {<yes>}
                                                  spids: [10929]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [10926 10927 10932 -1]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10841 10842 10941 -1]
                                )
                                (case_arm
                                  pat_list: [{<-no-undefined>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:allow_undefined)
                                          op: assign_op.Equal
                                          rhs: {<no>}
                                          spids: [10949]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10945 10946 10956 -1]
                                )
                                (case_arm
                                  pat_list: [{<-objectlist>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<objectlist>}
                                          spids: [10964]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10960 10961 10971 -1]
                                )
                                (case_arm
                                  pat_list: [{<-o>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<output>}
                                          spids: [10978]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [10975 10976 10981 -1]
                                )
                                (case_arm
                                  pat_list: [{<-precious-files-regex>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<precious_regex>}
                                          spids: [10989]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [10985 10986 10996 -1]
                                )
                                (case_arm
                                  pat_list: [{<-release>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<release>}
                                          spids: [11004]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [11000 11001 11011 -1]
                                )
                                (case_arm
                                  pat_list: [{<-rpath>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<rpath>}
                                          spids: [11019]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [11015 11016 11026 -1]
                                )
                                (case_arm
                                  pat_list: [{<-R>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<xrpath>}
                                          spids: [11034]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [11030 11031 11041 -1]
                                )
                                (case_arm
                                  pat_list: [{<-R> <Id.Lit_Star '*'>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:dir)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {($ Id.VSub_DollarName '$echo')} 
                                                        {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                      )
                                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                        {(SQ <'s/^-R//'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                              )
                                            }
                                          spids: [11050]
                                        )
                                      ]
                                    )
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName '$dir')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {<Id.Lit_LBracket '['> 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\\\'>
                                              ) <'/'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                            }
                                            {<Id.Lit_LBracket '['> <A-Za-z> <Id.Lit_RBracket ']'> 
                                              <Id.Lit_Colon ':'> <Id.Lit_LBracket '['> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <'/'> 
                                              <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                            }
                                          ]
                                          spids: [11084 11101 11103 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<Id.Lit_Star '*'>}]
                                          action: [
                                            (command.Simple
                                              words: [
                                                {($ Id.VSub_DollarName '$echo')}
                                                {
                                                  (DQ ($ Id.VSub_DollarName '$modename') 
                                                    <': only absolute run-paths are allowed'>
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_GreatAnd '1>&'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<2>}
                                                )
                                              ]
                                              do_fork: T
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Exit exit>
                                              arg_word: {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                            )
                                          ]
                                          spids: [11106 11107 11126 -1]
                                        )
                                      ]
                                    )
                                    (command.Case
                                      to_match: {(DQ ($ Id.VSub_DollarName '$xrpath') <' '>)}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {<Id.Lit_Star '*'> 
                                              (DQ <' '> ($ Id.VSub_DollarName '$dir') <' '>) <Id.Lit_Star '*'>
                                            }
                                          ]
                                          spids: [11142 11149 11151 -1]
                                        )
                                        (case_arm
                                          pat_list: [{<Id.Lit_Star '*'>}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:xrpath)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$xrpath') <' '> 
                                                        ($ Id.VSub_DollarName '$dir')
                                                      )
                                                    }
                                                  spids: [11157]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [11154 11155 11164 -1]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [11045 11047 11173 -1]
                                )
                                (case_arm
                                  pat_list: [{<-static>}]
                                  action: [
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [11177 11178 11204 -1]
                                )
                                (case_arm
                                  pat_list: [{<-thread-safe>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:thread_safe)
                                          op: assign_op.Equal
                                          rhs: {<yes>}
                                          spids: [11212]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [11208 11209 11219 -1]
                                )
                                (case_arm
                                  pat_list: [{<-version-info>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<vinfo>}
                                          spids: [11227]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [11223 11224 11234 -1]
                                )
                                (case_arm
                                  pat_list: [{<-version-number>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<vinfo>}
                                          spids: [11241]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:vinfo_number)
                                          op: assign_op.Equal
                                          rhs: {<yes>}
                                          spids: [11245]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [11237 11238 11252 -1]
                                )
                                (case_arm
                                  pat_list: [{<-Wc> <Id.Lit_Comma ','> <Id.Lit_Star '*'>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:args)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {($ Id.VSub_DollarName '$echo')} 
                                                        {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                      )
                                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                        {
                                                          (DQ 
                                                            ($ Id.VSub_DollarName '$sed_quote_subst')
                                                          )
                                                        } {<-e>} {(SQ <'s/^-Wc,//'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                              )
                                            }
                                          spids: [11262]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:arg)
                                          op: assign_op.Equal
                                          rhs: (word.Empty)
                                          spids: [11291]
                                        )
                                      ]
                                    )
                                    (command.Sentence
                                      child: 
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:save_ifs)
                                              op: assign_op.Equal
                                              rhs: {(DQ ($ Id.VSub_DollarName '$IFS'))}
                                              spids: [11294]
                                            )
                                          ]
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:IFS)
                                          op: assign_op.Equal
                                          rhs: {(SQ <','>)}
                                          spids: [11300]
                                        )
                                      ]
                                    )
                                    (command.ForEach
                                      iter_name: flag
                                      iter_words: [{($ Id.VSub_DollarName '$args')}]
                                      do_arg_iter: F
                                      body: 
                                        (command.DoGroup
                                          children: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:IFS)
                                                  op: assign_op.Equal
                                                  rhs: {(DQ ($ Id.VSub_DollarName '$save_ifs'))}
                                                  spids: [11318]
                                                )
                                              ]
                                            )
                                            (command.Case
                                              to_match: {($ Id.VSub_DollarName '$flag')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\['>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\#'>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\&'>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\('>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\{'>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\|'>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\<'>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\?'>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\ '>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {(DQ )}
                                                  ]
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:flag)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                (word_part.EscapedLiteral
                                                                  token: <Id.Lit_EscapedChar '\\"'>
                                                                ) ($ Id.VSub_DollarName '$flag') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                                              )
                                                            }
                                                          spids: [11363]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [11331 11360 11371 -1]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:arg)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$arg') <' '> 
                                                        ($ Id.VSub_DollarName '$wl') ($ Id.VSub_DollarName '$flag')
                                                      )
                                                    }
                                                  spids: [11377]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:compiler_flags)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$compiler_flags') 
                                                        <' '> ($ Id.VSub_DollarName '$flag')
                                                      )
                                                    }
                                                  spids: [11386]
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:IFS)
                                          op: assign_op.Equal
                                          rhs: {(DQ ($ Id.VSub_DollarName '$save_ifs'))}
                                          spids: [11397]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:arg)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {($ Id.VSub_DollarName '$echo')} 
                                                        {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                      )
                                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                        {(DQ <'s/^ //'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                              )
                                            }
                                          spids: [11403]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [11256 11259 11426 -1]
                                )
                                (case_arm
                                  pat_list: [{<-Wl> <Id.Lit_Comma ','> <Id.Lit_Star '*'>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:args)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {($ Id.VSub_DollarName '$echo')} 
                                                        {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                      )
                                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                        {
                                                          (DQ 
                                                            ($ Id.VSub_DollarName '$sed_quote_subst')
                                                          )
                                                        } {<-e>} {(SQ <'s/^-Wl,//'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                              )
                                            }
                                          spids: [11436]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:arg)
                                          op: assign_op.Equal
                                          rhs: (word.Empty)
                                          spids: [11465]
                                        )
                                      ]
                                    )
                                    (command.Sentence
                                      child: 
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:save_ifs)
                                              op: assign_op.Equal
                                              rhs: {(DQ ($ Id.VSub_DollarName '$IFS'))}
                                              spids: [11468]
                                            )
                                          ]
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:IFS)
                                          op: assign_op.Equal
                                          rhs: {(SQ <','>)}
                                          spids: [11474]
                                        )
                                      ]
                                    )
                                    (command.ForEach
                                      iter_name: flag
                                      iter_words: [{($ Id.VSub_DollarName '$args')}]
                                      do_arg_iter: F
                                      body: 
                                        (command.DoGroup
                                          children: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:IFS)
                                                  op: assign_op.Equal
                                                  rhs: {(DQ ($ Id.VSub_DollarName '$save_ifs'))}
                                                  spids: [11492]
                                                )
                                              ]
                                            )
                                            (command.Case
                                              to_match: {($ Id.VSub_DollarName '$flag')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\['>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\#'>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\&'>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\('>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\{'>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\|'>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\<'>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\?'>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\ '>
                                                      ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                                    }
                                                    {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> 
                                                      <Id.Lit_Star '*'>
                                                    }
                                                    {(DQ )}
                                                  ]
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:flag)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                (word_part.EscapedLiteral
                                                                  token: <Id.Lit_EscapedChar '\\"'>
                                                                ) ($ Id.VSub_DollarName '$flag') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                                              )
                                                            }
                                                          spids: [11537]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [11505 11534 11545 -1]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:arg)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$arg') <' '> 
                                                        ($ Id.VSub_DollarName '$wl') ($ Id.VSub_DollarName '$flag')
                                                      )
                                                    }
                                                  spids: [11551]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:compiler_flags)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$compiler_flags') 
                                                        <' '> ($ Id.VSub_DollarName '$wl') ($ Id.VSub_DollarName '$flag')
                                                      )
                                                    }
                                                  spids: [11560]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:linker_flags)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ Id.VSub_DollarName '$linker_flags') <' '> 
                                                        ($ Id.VSub_DollarName '$flag')
                                                      )
                                                    }
                                                  spids: [11569]
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:IFS)
                                          op: assign_op.Equal
                                          rhs: {(DQ ($ Id.VSub_DollarName '$save_ifs'))}
                                          spids: [11580]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:arg)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {($ Id.VSub_DollarName '$echo')} 
                                                        {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                      )
                                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                        {(DQ <'s/^ //'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                              )
                                            }
                                          spids: [11586]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [11430 11433 11609 -1]
                                )
                                (case_arm
                                  pat_list: [{<-Xcompiler>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<xcompiler>}
                                          spids: [11617]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [11613 11614 11624 -1]
                                )
                                (case_arm
                                  pat_list: [{<-Xlinker>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<xlinker>}
                                          spids: [11632]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [11628 11629 11639 -1]
                                )
                                (case_arm
                                  pat_list: [{<-XCClinker>}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {<xcclinker>}
                                          spids: [11647]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [11643 11644 11654 -1]
                                )
                                (case_arm
                                  pat_list: [
                                    {<-> <Id.Lit_Star '*'>}
                                    {<Id.Lit_Other '+'> <Id.Lit_Star '*'>}
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:arg)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_Backtick '`'>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {($ Id.VSub_DollarName '$echo')} 
                                                        {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                      )
                                                      (C {($ Id.VSub_DollarName '$Xsed')} {<-e>} 
                                                        {
                                                          (DQ 
                                                            ($ Id.VSub_DollarName '$sed_quote_subst')
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                              )
                                            }
                                          spids: [11680]
                                        )
                                      ]
                                    )
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\['>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\~'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\#'>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\^'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\&'>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\*'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\('>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\{'>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\}'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\|'>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\;'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\<'>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\>'>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\?'>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\''>) 
                                              (word_part.EscapedLiteral
                                                token: <Id.Lit_EscapedChar '\\ '>
                                              ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\t'>) <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>
                                            }
                                            {<Id.Lit_Star '*'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>}
                                            {(DQ )}
                                          ]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:arg)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ 
                                                        (word_part.EscapedLiteral
                                                          token: <Id.Lit_EscapedChar '\\"'>
                                                        ) ($ Id.VSub_DollarName '$arg') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>)
                                                      )
                                                    }
                                                  spids: [11742]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [11710 11739 11750 -1]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [11662 11669 11756 -1]
                                )
                                (case_arm
                                  pat_list: [{<Id.Lit_Star '*'> <.> ($ Id.VSub_DollarName '$objext')}]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:objs)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$objs') <' '> 
                                                ($ Id.VSub_DollarName '$arg')
                                              )
                                            }
                                          spids: [11770]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [11760 11763 11778 -1]
                                )
                                (case_arm
                                  pat_list: [{<Id.Lit_Star '*'> <.lo>}]
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.Subshell
                                                      child: 
                                                        (command.Pipeline
                                                          children: [
                                                            (C {(${ Id.VSub_Name SED)} {<-e>} {(SQ <2q>)} 
                                                              {($ Id.VSub_DollarName '$arg')}
                                                            )
                                                            (C {<grep>} 
                                                              {
                                                                (DQ <'^# Generated by .*'> 
                                                                  ($ Id.VSub_DollarName '$PACKAGE')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          negated: F
                                                        )
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_Great '>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {<'/dev/null'>}
                                                        )
                                                        (redir
                                                          op: <Id.Redir_GreatAnd '2>&'>
                                                          loc: (redir_loc.Fd fd:2)
                                                          arg: {<1>}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:pic_object)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [11831]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:non_pic_object)
                                                  op: assign_op.Equal
                                                  rhs: (word.Empty)
                                                  spids: [11834]
                                                )
                                              ]
                                            )
                                            (command.Case
                                              to_match: {($ Id.VSub_DollarName '$arg')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {<Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>}
                                                    {<Id.Lit_Star '*'> 
                                                      (word_part.EscapedLiteral
                                                        token: <Id.Lit_EscapedChar '\\\\'>
                                                      ) <Id.Lit_Star '*'>
                                                    }
                                                  ]
                                                  action: [(C {<.>} {($ Id.VSub_DollarName '$arg')})]
                                                  spids: [11853 11862 11868 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{<Id.Lit_Star '*'>}]
                                                  action: [
                                                    (C {<.>} {<'./'> ($ Id.VSub_DollarName '$arg')})
                                                  ]
                                                  spids: [11871 11872 11879 -1]
                                                )
                                              ]
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.AndOr
                                                              ops: [Id.Op_DPipe Id.Op_DPipe Id.Op_DAmp]
                                                              children: [
                                                                (C {<test>} {<-z>} 
                                                                  {
                                                                    (DQ 
                                                                      ($ Id.VSub_DollarName 
'$pic_object'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                                (C {<test>} {<-z>} 
                                                                  {
                                                                    (DQ 
                                                                      ($ Id.VSub_DollarName 
'$non_pic_object'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                                (C {<test>} 
                                                                  {
                                                                    (DQ 
                                                                      ($ Id.VSub_DollarName 
'$pic_object'
                                                                      )
                                                                    )
                                                                  } {<Id.Lit_Equals '='>} {<none>}
                                                                )
                                                                (C {<test>} 
                                                                  {
                                                                    (DQ 
                                                                      ($ Id.VSub_DollarName 
'$non_pic_object'
                                                                      )
                                                                    )
                                                                  } {<Id.Lit_Equals '='>} {<none>}
                                                                )
                                                              ]
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.Simple
                                                      words: [
                                                        {($ Id.VSub_DollarName '$echo')}
                                                        {
                                                          (DQ ($ Id.VSub_DollarName '$modename') 
                                                            <': cannot find name of object for '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) ($ Id.VSub_DollarName '$arg') <'\''>
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_GreatAnd '1>&'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {<2>}
                                                        )
                                                      ]
                                                      do_fork: T
                                                    )
                                                    (command.ControlFlow
                                                      token: <Id.ControlFlow_Exit exit>
                                                      arg_word: 
                                                        {($ Id.VSub_DollarName '$EXIT_FAILURE')}
                                                    )
                                                  ]
                                                  spids: [11886 11936]
                                                )
                                              ]
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:xdir)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (command_sub
                                                        left_token: <Id.Left_Backtick '`'>
                                                        child: 
                                                          (command.Pipeline
                                                            children: [
                                                              (C {($ Id.VSub_DollarName '$echo')} 
                                                                {
                                                                  (DQ <X> 
                                                                    ($ Id.VSub_DollarName '$arg')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ Id.VSub_DollarName '$Xsed')} 
                                                                {<-e>} {(SQ <'s%/[^/]*$%%'>)}
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                      )
                                                    }
                                                  spids: [11966]
                                                )
                                              ]
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (C {<test>} 
                                                              {
                                                                (DQ <X> ($ Id.VSub_DollarName '$xdir'))
                                                              } {<Id.Lit_Equals '='>} {(DQ <X> ($ Id.VSub_DollarName '$arg'))}
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:xdir)
                                                          op: assign_op.Equal
                                                          rhs: (word.Empty)
                                                          spids: [12009]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [11989 12006]
                                                )
                                              ]
                                              else_action: [
                                                (command.ShAssignment
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (sh_lhs_expr.Name name:xdir)
                                                      op: assign_op.Equal
                                                      rhs: {(DQ ($ Id.VSub_DollarName '$xdir') <'/'>)}
                                                      spids: [12015]
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (C {<test>} 
                                                              {
                                                                (DQ 
                                                                  ($ Id.VSub_DollarName '$pic_object')
                                                                )
                                                              } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<none>}
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:pic_object)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ Id.VSub_DollarName '$xdir') 
                                                                ($ Id.VSub_DollarName '$pic_object')
                                                              )
                                                            }
                                                          spids: [12047]
                                                        )
                                                      ]
                                                    )
                                                    (command.If
                                                      arms: [
                                                        (if_arm
                                                          cond: 
                                                            (condition.Shell
                                                              commands: [
                                                                (command.Sentence
                                                                  child: 
                                                                    (C {<test>} 
                                                                      {
                                                                        (DQ 
                                                                          ($ Id.VSub_DollarName 
'$prev'
                                                                          )
                                                                        )
                                                                      } {<Id.Lit_Equals '='>} {<dlfiles>}
                                                                    )
                                                                  terminator: <Id.Op_Semi _>
                                                                )
                                                              ]
                                                            )
                                                          action: [
                                                            (command.If
                                                              arms: [
                                                                (if_arm
                                                                  cond: 
                                                                    (condition.Shell
                                                                      commands: [
                                                                        (command.Sentence
                                                                          child: 
                                                                            (command.AndOr
                                                                              ops: [Id.Op_DAmp]
                                                                              children: [
                                                                                (C {<test>} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ 
Id.VSub_DollarName '$build_libtool_libs'
                                                                                      )
                                                                                    )
                                                                                  } {<Id.Lit_Equals '='>} {<yes>}
                                                                                )
                                                                                (C {<test>} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ 
Id.VSub_DollarName '$dlopen_support'
                                                                                      )
                                                                                    )
                                                                                  } {<Id.Lit_Equals '='>} {<yes>}
                                                                                )
                                                                              ]
                                                                            )
                                                                          terminator: <Id.Op_Semi _>
                                                                        )
                                                                      ]
                                                                    )
                                                                  action: [
                                                                    (command.ShAssignment
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (sh_lhs_expr.Name
                                                                              name: dlfiles
                                                                            )
                                                                          op: assign_op.Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ 
Id.VSub_DollarName '$dlfiles'
                                                                                ) <' '> ($ Id.VSub_DollarName '$pic_object')
                                                                              )
                                                                            }
                                                                          spids: [12099]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.ShAssignment
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (sh_lhs_expr.Name
                                                                              name: prev
                                                                            )
                                                                          op: assign_op.Equal
                                                                          rhs: (word.Empty)
                                                                          spids: [12107]
                                                                        )
                                                                      ]
                                                                    )
                                                                    (command.ControlFlow
                                                                      token: 
                                                                        <Id.ControlFlow_Continue 
continue
                                                                        >
                                                                    )
                                                                  ]
                                                                  spids: [12071 12096]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (command.ShAssignment
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (sh_lhs_expr.Name
                                                                          name: prev
                                                                        )
                                                                      op: assign_op.Equal
                                                                      rhs: {<dlprefiles>}
                                                                      spids: [12120]
                                                                    )
                                                                  ]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [12055 12068]
                                                        )
                                                      ]
                                                    )
                                                    (command.If
                                                      arms: [
                                                        (if_arm
                                                          cond: 
                                                            (condition.Shell
                                                              commands: [
                                                                (command.Sentence
                                                                  child: 
                                                                    (C {<test>} 
                                                                      {
                                                                        (DQ 
                                                                          ($ Id.VSub_DollarName 
'$prev'
                                                                          )
                                                                        )
                                                                      } {<Id.Lit_Equals '='>} {<dlprefiles>}
                                                                    )
                                                                  terminator: <Id.Op_Semi _>
                                                                )
                                                              ]
                                                            )
                                                          action: [
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      name: dlprefiles
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ 
                                                                        ($ Id.VSub_DollarName 
'$dlprefiles'
                                                                        ) <' '> ($ Id.VSub_DollarName '$pic_object')
                                                                      )
                                                                    }
                                                                  spids: [12155]
                                                                )
                                                              ]
                                                            )
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (sh_lhs_expr.Name name:prev)
                                                                  op: assign_op.Equal
                                                                  rhs: (word.Empty)
                                                                  spids: [12163]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          spids: [12135 12148]
                                                        )
                                                      ]
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:libobjs)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ Id.VSub_DollarName '$libobjs') 
                                                                <' '> ($ Id.VSub_DollarName '$pic_object')
                                                              )
                                                            }
                                                          spids: [12174]
                                                        )
                                                      ]
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:arg)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ 
                                                                ($ Id.VSub_DollarName '$pic_object')
                                                              )
                                                            }
                                                          spids: [12182]
                                                        )
                                                      ]
                                                    )
                                                  ]