(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_ext)
          op: assign_op.Equal
          rhs: {(cc)}
          spids: [93]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:objext)
          op: assign_op.Equal
          rhs: {(o)}
          spids: [100]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:lt_simple_compile_test_code)
          op: assign_op.Equal
          rhs: {(DQ ('int some_variable = 0;'))}
          spids: [107]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:lt_simple_link_test_code)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'int main(int, char *[]) { return (0); }' span_id:118))}
          spids: [116]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CXX)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:CXX span_id:127)
                suffix_op: (suffix_op.Unary op_id:Id.VTest_Hyphen arg_word:{('c++')})
              )
            }
          spids: [125]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CC)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:CC span_id:138)
                suffix_op: 
                  (suffix_op.Unary
                    op_id: Id.VTest_Hyphen
                    arg_word: {(DQ ($ Id.VSub_DollarName '$CXX'))}
                  )
              )
            }
          spids: [136]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:CFLAGS)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: (Token id:Id.VSub_Name val:CFLAGS span_id:147)
                suffix_op: 
                  (suffix_op.Unary
                    op_id: Id.VTest_Hyphen
                    arg_word: {(DQ ($ Id.VSub_DollarName '$CXXFLAGS'))}
                  )
              )
            }
          spids: [145]
        )
      ]
    )
    (C {(Id.KW_Set set)} {(dummy)} {($ Id.VSub_DollarName '$CC')})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:compiler)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$2')}
          spids: [164]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:cc_basename)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:168)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {($ Id.VSub_DollarName '$echo')} 
                            {(X) (DQ ($ Id.VSub_DollarName '$compiler'))}
                          )
                          (C {($ Id.VSub_DollarName '$Xsed')} {(-e)} 
                            {(SQ (Token id:Id.Lit_Chars val:'s%^.*/%%' span_id:185))}
                          )
                        ]
                        negated: F
                      )
                    ]
                  )
              )
            }
          spids: [167]
        )
      ]
    )
    (command.Simple
      words: [{(cat)}]
      redirects: [
        (redir.Redir
          op: (Token id:Id.Redir_Great val:'>' span_id:201)
          fd: -1
          arg_word: {(conftest.) ($ Id.VSub_DollarName '$ac_ext')}
        )
        (redir.HereDoc
          op: (Token id:Id.Redir_DLess val:'<<' span_id:206)
          fd: -1
          here_begin: {(EOF)}
          here_end_span_id: 213
          stdin_parts: [('#ifdef __GNUC__\n') ('  yes;\n') ('#endif\n')]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.Pipeline
                  children: [
                    (command.BraceGroup
                      children: [
                        (command.Sentence
                          child: 
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:ac_try)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: '${CC-c++} -E conftest.$ac_ext'
                                          span_id: 220
                                        )
                                      )
                                    }
                                  spids: [218]
                                )
                              ]
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:222)
                        )
                        (command.Sentence
                          child: 
                            (command.BraceGroup
                              children: [
                                (command.Sentence
                                  child: 
                                    (command.Subshell
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (C {(eval)} {(echo)} 
                                              {
                                                (word_part.EscapedLiteral
                                                  token: 
                                                    (Token
                                                      id: Id.Lit_EscapedChar
                                                      val: '\\"'
                                                      span_id: 231
                                                    )
                                                ) ($ Id.VSub_DollarName '$ac_try') 
                                                (word_part.EscapedLiteral
                                                  token: 
                                                    (Token
                                                      id: Id.Lit_EscapedChar
                                                      val: '\\"'
                                                      span_id: 233
                                                    )
                                                )
                                              }
                                            )
                                          ]
                                        )
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:236)
                                          fd: 1
                                          arg_word: {(5)}
                                        )
                                      ]
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:238)
                                )
                                (command.Sentence
                                  child: 
                                    (command.Subshell
                                      command_list: 
                                        (command.CommandList
                                          children: [(C {(eval)} {($ Id.VSub_DollarName '$ac_try')})]
                                        )
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:246)
                                          fd: 2
                                          arg_word: {(5)}
                                        )
                                      ]
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:248)
                                )
                              ]
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:251)
                        )
                      ]
                    )
                    (command.Simple
                      words: [{(egrep)} {(yes)}]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_Great val:'>' span_id:261)
                          fd: -1
                          arg_word: {(/dev/null)}
                        )
                        (redir.Redir
                          op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:264)
                          fd: 2
                          arg_word: {(1)}
                        )
                      ]
                    )
                  ]
                  negated: F
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:266)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:with_gcc)
                  op: assign_op.Equal
                  rhs: {(yes)}
                  spids: [271]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$with_gnu_ld'))} {(Id.Lit_Equals '=')} 
                          {(yes)}
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:329)
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
                                  span_id: 336
                                )
                              )
                            }
                          spids: [334]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_expsym_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
                                  span_id: 342
                                )
                              )
                            }
                          spids: [340]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                          op: assign_op.Equal
                          rhs: 
                            {(SQ (Token id:Id.Lit_Chars val:'${wl}--rpath ${wl}$libdir' span_id:349))}
                          spids: [347]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:export_dynamic_flag_spec)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:'${wl}--export-dynamic' span_id:355))}
                          spids: [353]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:wlarc)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:'${wl}' span_id:374))}
                          spids: [372]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  children: [
                                    (C {(eval)} 
                                      {
                                        (DQ 
                                          (command_sub
                                            left_token: 
                                              (Token
                                                id: Id.Left_Backtick
                                                val: '`'
                                                span_id: 388
                                              )
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (C {($ Id.VSub_DollarName '$CC')} 
                                                    {(-print-prog-name) (Id.Lit_Equals '=') (ld)}
                                                  )
                                                ]
                                              )
                                          ) (' --help 2>&1')
                                        )
                                      }
                                    )
                                    (command.Simple
                                      words: [
                                        {(egrep)}
                                        {
                                          (SQ 
                                            (Token
                                              id: Id.Lit_Chars
                                              val: no-whole-archive
                                              span_id: 407
                                            )
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:410)
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:413)
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:whole_archive_flag_spec)
                                  op: assign_op.Equal
                                  rhs: 
                                    {(DQ ($ Id.VSub_DollarName '$wlarc')) 
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: '--whole-archive$convenience '
                                          span_id: 423
                                        )
                                      ) (DQ ($ Id.VSub_DollarName '$wlarc')) (SQ (Token id:Id.Lit_Chars val:--no-whole-archive span_id:429))
                                    }
                                  spids: [418]
                                )
                              ]
                            )
                          ]
                          spids: [383 415]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:whole_archive_flag_spec)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [436]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [318 331]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:wlarc)
                      op: assign_op.Equal
                      rhs: (word.Empty)
                      spids: [445]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:archive_cmds)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (SQ 
                            (Token
                              id: Id.Lit_Chars
                              val: 
'$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
                              span_id: 471
                            )
                          )
                        }
                      spids: [469]
                    )
                  ]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:output_verbose_link_cmd)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (SQ 
                        (Token
                          id: Id.Lit_Chars
                          val: '$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\\-L"'
                          span_id: 493
                        )
                      )
                    }
                  spids: [491]
                )
              ]
            )
          ]
          spids: [214 268]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:with_gcc)
              op: assign_op.Equal
              rhs: {(no)}
              spids: [500]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:wlarc)
              op: assign_op.Equal
              rhs: (word.Empty)
              spids: [504]
            )
          ]
        )
      ]
    )
    (command.Case
      to_match: {($ Id.VSub_DollarName '$host_os')}
      arms: [
        (case_arm
          pat_list: [{(aix3) (Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ld_shlibs)
                  op: assign_op.Equal
                  rhs: {(no)}
                  spids: [528]
                )
              ]
            )
          ]
          spids: [519 521 532 -1]
        )
        (case_arm
          pat_list: [{(aix4) (Id.Lit_Star '*')} {(aix5) (Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:archive_cmds)
                  op: assign_op.Equal
                  rhs: {(SQ )}
                  spids: [545]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:hardcode_direct)
                  op: assign_op.Equal
                  rhs: {(yes)}
                  spids: [550]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                  op: assign_op.Equal
                  rhs: {(SQ (Token id:Id.Lit_Chars val:':' span_id:556))}
                  spids: [554]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:link_all_deplibs)
                  op: assign_op.Equal
                  rhs: {(yes)}
                  spids: [560]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$with_gcc'))} {(Id.Lit_Equals '=')} 
                          {(yes)}
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:595)
                    )
                  ]
                  action: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$host_os')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(aix4.) (Id.Lit_LBracket '[') (012) (Id.Lit_RBracket ']')}
                            {(aix4.) (Id.Lit_LBracket '[') (012) (Id.Lit_RBracket ']') (.) 
                              (Id.Lit_Star '*')
                            }
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:collect2name)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:629)
                                        command_list: 
                                          (command.CommandList
                                            children: [
                                              (C {(${ Id.VSub_Name CC)} 
                                                {(-print-prog-name) (Id.Lit_Equals '=') (collect2)}
                                              )
                                            ]
                                          )
                                      )
                                    }
                                  spids: [628]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.AndOr
                                      ops: [Id.Op_DAmp]
                                      children: [
                                        (C {(test)} {(-f)} {(DQ ($ Id.VSub_DollarName '$collect2name'))})
                                        (command.Pipeline
                                          children: [
                                            (C {(strings)} {(DQ ($ Id.VSub_DollarName '$collect2name'))})
                                            (command.Simple
                                              words: [{(grep)} {(resolve_lib_name)}]
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Great val:'>' span_id:668)
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                )
                                              ]
                                            )
                                          ]
                                          negated: F
                                        )
                                      ]
                                    )
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:hardcode_direct)
                                          op: assign_op.Equal
                                          rhs: {(yes)}
                                          spids: [679]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [642 672]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:hardcode_direct)
                                      op: assign_op.Equal
                                      rhs: {(unsupported)}
                                      spids: [690]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:hardcode_minus_L)
                                      op: assign_op.Equal
                                      rhs: {(yes)}
                                      spids: [706]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                                      op: assign_op.Equal
                                      rhs: {(SQ (Token id:Id.Lit_Chars val:'-L$libdir' span_id:712))}
                                      spids: [710]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                                      op: assign_op.Equal
                                      rhs: (word.Empty)
                                      spids: [716]
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                          spids: [606 617 -1 722]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:shared_flag)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:-shared span_id:727))}
                          spids: [725]
                        )
                      ]
                    )
                  ]
                  spids: [584 597]
                )
              ]
              else_action: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$host_cpu'))} {(Id.Lit_Equals '=')} 
                              {(ia64)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:749)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:shared_flag)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:'${wl}-G' span_id:756))}
                              spids: [754]
                            )
                          ]
                        )
                      ]
                      spids: [738 751]
                    )
                  ]
                  else_action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:shared_flag)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:'${wl}-bM:SRE' span_id:765))}
                          spids: [763]
                        )
                      ]
                    )
                  ]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$host_cpu'))} {(Id.Lit_Equals '=')} 
                          {(ia64)}
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:787)
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:aix_use_runtimelinking)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [800]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(test)} {($ Id.VSub_DollarName '$with_gnu_ld')} 
                                  {(Id.Lit_Equals '=')} {(no)}
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:813)
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:exp_sym_flag)
                                  op: assign_op.Equal
                                  rhs: {(SQ (Token id:Id.Lit_Chars val:-Bexport span_id:820))}
                                  spids: [818]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:no_entry_flag)
                                  op: assign_op.Equal
                                  rhs: {(DQ )}
                                  spids: [824]
                                )
                              ]
                            )
                          ]
                          spids: [804 815]
                        )
                      ]
                    )
                  ]
                  spids: [776 789]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:aix_use_runtimelinking)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [843]
                    )
                  ]
                )
                (command.ForEach
                  iter_name: ld_flag
                  iter_words: [{($ Id.VSub_DollarName '$LDFLAGS')}]
                  do_arg_iter: F
                  body: 
                    (command.DoGroup
                      children: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (command.Subshell
                                      command_list: 
                                        (command.CommandList
                                          children: [
                                            (command.AndOr
                                              ops: [Id.Op_DPipe]
                                              children: [
                                                (C {(test)} {($ Id.VSub_DollarName '$ld_flag')} 
                                                  {(Id.Lit_Equals '=')} {(DQ (-brtl))}
                                                )
                                                (C {(test)} {($ Id.VSub_DollarName '$ld_flag')} 
                                                  {(Id.Lit_Equals '=')} {(DQ ('-Wl,-brtl'))}
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:885)
                                )
                              ]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:aix_use_runtimelinking)
                                      op: assign_op.Equal
                                      rhs: {(yes)}
                                      spids: [890]
                                    )
                                  ]
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Break val:break span_id:894)
                                )
                              ]
                              spids: [859 887]
                            )
                          ]
                        )
                      ]
                    )
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:exp_sym_flag)
                      op: assign_op.Equal
                      rhs: {(SQ (Token id:Id.Lit_Chars val:-bexport span_id:905))}
                      spids: [903]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:no_entry_flag)
                      op: assign_op.Equal
                      rhs: {(SQ (Token id:Id.Lit_Chars val:-bnoentry span_id:911))}
                      spids: [909]
                    )
                  ]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:always_export_symbols)
                  op: assign_op.Equal
                  rhs: {(yes)}
                  spids: [926]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$aix_use_runtimelinking'))} 
                          {(Id.Lit_Equals '=')} {(yes)}
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:941)
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '${wl}-blibpath:$libdir:/usr/lib:/lib'
                                  span_id: 948
                                )
                              )
                            }
                          spids: [946]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:' -Wl,-G' span_id:954))}
                          spids: [952]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_expsym_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (word_part.EscapedLiteral
                                  token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:960)
                                ) ('CC ') ($ Id.VSub_DollarName '$shared_flag')
                              ) 
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '
                                  span_id: 965
                                )
                              ) 
                              (DQ 
                                (word_part.EscapedLiteral
                                  token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:968)
                                ) ('{wl}') ($ Id.VSub_DollarName '$no_entry_flag') (' ') 
                                (word_part.EscapedLiteral
                                  token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:972)
                                ) ('{wl}-brtl ') (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\$' span_id:974)) 
                                ('{wl}') ($ Id.VSub_DollarName '$exp_sym_flag') (':') 
                                (word_part.EscapedLiteral
                                  token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:978)
                                ) (export_symbols)
                              )
                            }
                          spids: [958]
                        )
                      ]
                    )
                  ]
                  spids: [930 943]
                )
              ]
              else_action: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$host_cpu'))} {(Id.Lit_Equals '=')} 
                              {(ia64)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:997)
                        )
                      ]
                      action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(test)} {($ Id.VSub_DollarName '$with_gnu_ld')} 
                                      {(Id.Lit_Equals '=')} {(no)}
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:1011)
                                )
                              ]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            (Token
                                              id: Id.Lit_Chars
                                              val: '${wl}-R $libdir:/usr/lib:/lib'
                                              span_id: 1018
                                            )
                                          )
                                        }
                                      spids: [1016]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                                      op: assign_op.Equal
                                      rhs: {(DQ ('-z nodefs'))}
                                      spids: [1022]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:archive_expsym_cmds)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (DQ 
                                            (word_part.EscapedLiteral
                                              token: 
                                                (Token
                                                  id: Id.Lit_EscapedChar
                                                  val: '\\$'
                                                  span_id: 1030
                                                )
                                            ) ('CC ') ($ Id.VSub_DollarName '$shared_flag')
                                          ) 
                                          (SQ 
                                            (Token
                                              id: Id.Lit_Chars
                                              val: 
' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '
                                              span_id: 1035
                                            )
                                          ) 
                                          (DQ 
                                            (word_part.EscapedLiteral
                                              token: 
                                                (Token
                                                  id: Id.Lit_EscapedChar
                                                  val: '\\$'
                                                  span_id: 1038
                                                )
                                            ) ('{wl}') ($ Id.VSub_DollarName '$no_entry_flag') (' ') 
                                            (word_part.EscapedLiteral
                                              token: 
                                                (Token
                                                  id: Id.Lit_EscapedChar
                                                  val: '\\$'
                                                  span_id: 1042
                                                )
                                            ) ('{wl}') ($ Id.VSub_DollarName '$exp_sym_flag') (':') 
                                            (word_part.EscapedLiteral
                                              token: 
                                                (Token
                                                  id: Id.Lit_EscapedChar
                                                  val: '\\$'
                                                  span_id: 1046
                                                )
                                            ) (export_symbols)
                                          )
                                        }
                                      spids: [1028]
                                    )
                                  ]
                                )
                              ]
                              spids: [1002 1013]
                            )
                          ]
                        )
                      ]
                      spids: [986 999]
                    )
                  ]
                  else_action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '${wl}-blibpath:$libdir:/usr/lib:/lib'
                                  span_id: 1059
                                )
                              )
                            }
                          spids: [1057]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:no_undefined_flag)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:' ${wl}-bnoerok' span_id:1073))}
                          spids: [1071]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:' ${wl}-berok' span_id:1079))}
                          spids: [1077]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:always_export_symbols)
                          op: assign_op.Equal
                          rhs: {(yes)}
                          spids: [1087]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:whole_archive_flag_spec)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:' ' span_id:1097))}
                          spids: [1095]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:build_libtool_need_lc)
                          op: assign_op.Equal
                          rhs: {(yes)}
                          spids: [1101]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_expsym_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (word_part.EscapedLiteral
                                  token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:1111)
                                ) ('CC ') ($ Id.VSub_DollarName '$shared_flag')
                              ) 
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
                                  span_id: 1116
                                )
                              )
                            }
                          spids: [1109]
                        )
                      ]
                    )
                  ]
                )
              ]
            )
          ]
          spids: [535 542 1126 -1]
        )
        (case_arm
          pat_list: [{(chorus) (Id.Lit_Star '*')}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$cc_basename')}
              arms: [
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [1149]
                        )
                      ]
                    )
                  ]
                  spids: [1141 1142 1153 -1]
                )
              ]
            )
          ]
          spids: [1129 1131 1159 -1]
        )
        (case_arm
          pat_list: [{(dgux) (Id.Lit_Star '*')}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$cc_basename')}
              arms: [
                (case_arm
                  pat_list: [{(ec) (Id.Lit_Other '+') (Id.Lit_Other '+')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [1184]
                        )
                      ]
                    )
                  ]
                  spids: [1174 1177 1188 -1]
                )
                (case_arm
                  pat_list: [{(ghcx)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [1203]
                        )
                      ]
                    )
                  ]
                  spids: [1191 1192 1207 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [1218]
                        )
                      ]
                    )
                  ]
                  spids: [1210 1211 1222 -1]
                )
              ]
            )
          ]
          spids: [1162 1164 1228 -1]
        )
        (case_arm
          pat_list: [{(Id.Lit_ArrayLhsOpen 'freebsd[') (12) (Id.Lit_RBracket ']') (Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ld_shlibs)
                  op: assign_op.Equal
                  rhs: {(no)}
                  spids: [1242]
                )
              ]
            )
          ]
          spids: [1231 1235 1246 -1]
        )
        (case_arm
          pat_list: [{(freebsd) (Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ld_shlibs)
                  op: assign_op.Equal
                  rhs: {(yes)}
                  spids: [1262]
                )
              ]
            )
          ]
          spids: [1249 1251 1266 -1]
        )
        (case_arm pat_list:[{(gnu) (Id.Lit_Star '*')}] spids:[1269 1271 1274 -1])
        (case_arm
          pat_list: [{(hpux) (Id.Lit_Star '*')}]
          action: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(test)} {($ Id.VSub_DollarName '$with_gnu_ld')} {(Id.Lit_Equals '=')} {(no)})
                      terminator: (Token id:Id.Op_Semi val:';' span_id:1291)
                    )
                  ]
                  action: [
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName '$host_cpu'))}
                      arms: [
                        (case_arm
                          pat_list: [{(ia64) (Id.Lit_Star '*')}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                                  op: assign_op.Equal
                                  rhs: {(SQ (Token id:Id.Lit_Chars val:'-L$libdir' span_id:1312))}
                                  spids: [1310]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                                  op: assign_op.Equal
                                  rhs: {(no)}
                                  spids: [1316]
                                )
                              ]
                            )
                          ]
                          spids: [1305 1307 1319 -1]
                        )
                        (case_arm
                          pat_list: [{(Id.Lit_Star '*')}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: '${wl}+b ${wl}$libdir'
                                          span_id: 1328
                                        )
                                      )
                                    }
                                  spids: [1326]
                                )
                              ]
                            )
                          ]
                          spids: [1322 1323 1331 -1]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_direct)
                          op: assign_op.Equal
                          rhs: {(yes)}
                          spids: [1337]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                          op: assign_op.Equal
                          rhs: {(Id.Lit_Other ':')}
                          spids: [1341]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:export_dynamic_flag_spec)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:'${wl}-E' span_id:1347))}
                          spids: [1345]
                        )
                      ]
                    )
                  ]
                  spids: [1282 1293]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:hardcode_minus_L)
                  op: assign_op.Equal
                  rhs: {(yes)}
                  spids: [1354]
                )
              ]
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName '$cc_basename')}
              arms: [
                (case_arm
                  pat_list: [{(CC)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [1381]
                        )
                      ]
                    )
                  ]
                  spids: [1373 1374 1385 -1]
                )
                (case_arm
                  pat_list: [{(aCC)}]
                  action: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$host_os')}
                      arms: [
                        (case_arm
                          pat_list: [{(hpux9) (Id.Lit_Star '*')}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:archive_cmds)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: 
'$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
                                          span_id: 1405
                                        )
                                      )
                                    }
                                  spids: [1403]
                                )
                              ]
                            )
                          ]
                          spids: [1399 1401 1408 -1]
                        )
                        (case_arm
                          pat_list: [{(Id.Lit_Star '*')}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:archive_cmds)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: 
'$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                                          span_id: 1416
                                        )
                                      )
                                    }
                                  spids: [1414]
                                )
                              ]
                            )
                          ]
                          spids: [1411 1412 1419 -1]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:output_verbose_link_cmd)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
                                  span_id: 1459
                                )
                              )
                            }
                          spids: [1457]
                        )
                      ]
                    )
                  ]
                  spids: [1388 1389 1463 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(test)} {($ Id.VSub_DollarName '$with_gcc')} {(Id.Lit_Equals '=')} 
                                  {(yes)}
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:1479)
                            )
                          ]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {($ Id.VSub_DollarName '$with_gnu_ld')} 
                                          {(Id.Lit_Equals '=')} {(no)}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:1493)
                                    )
                                  ]
                                  action: [
                                    (command.Case
                                      to_match: {(DQ ($ Id.VSub_DollarName '$host_os'))}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(hpux9) (Id.Lit_Star '*')}]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:archive_cmds)
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (SQ 
                                                        (Token
                                                          id: Id.Lit_Chars
                                                          val: 
'$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
                                                          span_id: 1513
                                                        )
                                                      )
                                                    }
                                                  spids: [1511]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [1507 1509 1516 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Id.Lit_Star '*')}]
                                          action: [
                                            (command.Case
                                              to_match: {(DQ ($ Id.VSub_DollarName '$host_cpu'))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(ia64) (Id.Lit_Star '*')}]
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (SQ 
                                                                (Token
                                                                  id: Id.Lit_Chars
                                                                  val: 
'$LD -b +h $soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
                                                                  span_id: 1539
                                                                )
                                                              )
                                                            }
                                                          spids: [1537]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [1532 1534 1542 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Id.Lit_Star '*')}]
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (SQ 
                                                                (Token
                                                                  id: Id.Lit_Chars
                                                                  val: 
'$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                                                                  span_id: 1551
                                                                )
                                                              )
                                                            }
                                                          spids: [1549]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [1545 1546 1554 -1]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [1519 1520 1560 -1]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1484 1495]
                                )
                              ]
                            )
                          ]
                          spids: [1470 1481]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ld_shlibs)
                              op: assign_op.Equal
                              rhs: {(no)}
                              spids: [1576]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [1466 1467 1583 -1]
                )
              ]
            )
          ]
          spids: [1277 1279 1589 -1]
        )
        (case_arm
          pat_list: [{(irix5) (Id.Lit_Star '*')} {(irix6) (Id.Lit_Star '*')}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$cc_basename')}
              arms: [
                (case_arm
                  pat_list: [{(CC)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
                                  span_id: 1619
                                )
                              )
                            }
                          spids: [1617]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:old_archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '$CC -ar -WR,-u -o $oldlib $oldobjs'
                                  span_id: 1642
                                )
                              )
                            }
                          spids: [1640]
                        )
                      ]
                    )
                  ]
                  spids: [1609 1610 1646 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(test)} {(DQ ($ Id.VSub_DollarName '$with_gcc'))} 
                                  {(Id.Lit_Equals '=')} {(yes)}
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:1664)
                            )
                          ]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$with_gnu_ld'))} 
                                          {(Id.Lit_Equals '=')} {(no)}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:1680)
                                    )
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                (Token
                                                  id: Id.Lit_Chars
                                                  val: 
'$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
                                                  span_id: 1687
                                                )
                                              )
                                            }
                                          spids: [1685]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1669 1682]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:archive_cmds)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            (Token
                                              id: Id.Lit_Chars
                                              val: 
'$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib'
                                              span_id: 1696
                                            )
                                          )
                                        }
                                      spids: [1694]
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                          spids: [1653 1666]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                          op: assign_op.Equal
                          rhs: 
                            {(SQ (Token id:Id.Lit_Chars val:'${wl}-rpath ${wl}$libdir' span_id:1708))}
                          spids: [1706]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                          op: assign_op.Equal
                          rhs: {(Id.Lit_Other ':')}
                          spids: [1712]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:link_all_deplibs)
                          op: assign_op.Equal
                          rhs: {(yes)}
                          spids: [1716]
                        )
                      ]
                    )
                  ]
                  spids: [1649 1650 1720 -1]
                )
              ]
            )
          ]
          spids: [1592 1599 1726 -1]
        )
        (case_arm
          pat_list: [{(linux) (Id.Lit_Star '*')}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$cc_basename')}
              arms: [
                (case_arm
                  pat_list: [{(KCC)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'templib=`echo $lib | sed -e "s/\\.so\\..*/\\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \\$templib; mv \\$templib $lib'
                                  span_id: 1764
                                )
                              )
                            }
                          spids: [1762]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_expsym_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'templib=`echo $lib | sed -e "s/\\.so\\..*/\\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \\$templib ${wl}-retain-symbols-file,$export_symbols; mv \\$templib $lib'
                                  span_id: 1770
                                )
                              )
                            }
                          spids: [1768]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:output_verbose_link_cmd)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'templist=`$CC $CFLAGS -v conftest.$objext -o libconftest.so 2>&1 | egrep "ld"`; rm -f libconftest.so; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
                                  span_id: 1809
                                )
                              )
                            }
                          spids: [1807]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:'${wl}--rpath,$libdir' span_id:1816))}
                          spids: [1814]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:export_dynamic_flag_spec)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:'${wl}--export-dynamic' span_id:1822))}
                          spids: [1820]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:old_archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '$CC -Bstatic -o $oldlib $oldobjs'
                                  span_id: 1837
                                )
                              )
                            }
                          spids: [1835]
                        )
                      ]
                    )
                  ]
                  spids: [1741 1742 1841 -1]
                )
                (case_arm
                  pat_list: [{(cxx)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
                                  span_id: 1854
                                )
                              )
                            }
                          spids: [1852]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_expsym_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
                                  span_id: 1860
                                )
                              )
                            }
                          spids: [1858]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:runpath_var)
                          op: assign_op.Equal
                          rhs: {(LD_RUN_PATH)}
                          spids: [1865]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:'-rpath $libdir' span_id:1871))}
                          spids: [1869]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                          op: assign_op.Equal
                          rhs: {(Id.Lit_Other ':')}
                          spids: [1875]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:output_verbose_link_cmd)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | sed "s/\\(^.*ld.*\\)\\( .*ld .*$\\)/\\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
                                  span_id: 1914
                                )
                              )
                            }
                          spids: [1912]
                        )
                      ]
                    )
                  ]
                  spids: [1844 1845 1918 -1]
                )
              ]
            )
          ]
          spids: [1729 1731 1924 -1]
        )
        (case_arm
          pat_list: [{(lynxos) (Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ld_shlibs)
                  op: assign_op.Equal
                  rhs: {(no)}
                  spids: [1936]
                )
              ]
            )
          ]
          spids: [1927 1929 1940 -1]
        )
        (case_arm
          pat_list: [{(m88k) (Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ld_shlibs)
                  op: assign_op.Equal
                  rhs: {(no)}
                  spids: [1952]
                )
              ]
            )
          ]
          spids: [1943 1945 1956 -1]
        )
        (case_arm
          pat_list: [{(mvs) (Id.Lit_Star '*')}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$cc_basename')}
              arms: [
                (case_arm
                  pat_list: [{(cxx)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [1979]
                        )
                      ]
                    )
                  ]
                  spids: [1971 1972 1983 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [1994]
                        )
                      ]
                    )
                  ]
                  spids: [1986 1987 1998 -1]
                )
              ]
            )
          ]
          spids: [1959 1961 2004 -1]
        )
        (case_arm pat_list:[{(netbsd) (Id.Lit_Star '*')}] spids:[2007 2009 2016 -1])
        (case_arm
          pat_list: [{(osf3) (Id.Lit_Star '*')}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$cc_basename')}
              arms: [
                (case_arm
                  pat_list: [{(KCC)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'templib=`echo $lib | sed -e "s/\\.so\\..*/\\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \\$templib; mv \\$templib $lib'
                                  span_id: 2054
                                )
                              )
                            }
                          spids: [2052]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:'${wl}-rpath,$libdir' span_id:2061))}
                          spids: [2059]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                          op: assign_op.Equal
                          rhs: {(Id.Lit_Other ':')}
                          spids: [2065]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:old_archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '$CC -Bstatic -o $oldlib $oldobjs'
                                  span_id: 2080
                                )
                              )
                            }
                          spids: [2078]
                        )
                      ]
                    )
                  ]
                  spids: [2031 2032 2085 -1]
                )
                (case_arm
                  pat_list: [{(RCC)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [2100]
                        )
                      ]
                    )
                  ]
                  spids: [2088 2089 2104 -1]
                )
                (case_arm
                  pat_list: [{(cxx)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: ' ${wl}-expect_unresolved ${wl}\\*'
                                  span_id: 2113
                                )
                              )
                            }
                          spids: [2111]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
                                  span_id: 2119
                                )
                              )
                            }
                          spids: [2117]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                          op: assign_op.Equal
                          rhs: 
                            {(SQ (Token id:Id.Lit_Chars val:'${wl}-rpath ${wl}$libdir' span_id:2126))}
                          spids: [2124]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                          op: assign_op.Equal
                          rhs: {(Id.Lit_Other ':')}
                          spids: [2130]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:output_verbose_link_cmd)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\\(^.*ld.*\\)\\( .*ld.*$\\)/\\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
                                  span_id: 2169
                                )
                              )
                            }
                          spids: [2167]
                        )
                      ]
                    )
                  ]
                  spids: [2107 2108 2173 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.AndOr
                                  ops: [Id.Op_DAmp]
                                  children: [
                                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$with_gcc'))} 
                                      {(Id.Lit_Equals '=')} {(yes)}
                                    )
                                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$with_gnu_ld'))} 
                                      {(Id.Lit_Equals '=')} {(no)}
                                    )
                                  ]
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:2203)
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: ' ${wl}-expect_unresolved ${wl}\\*'
                                          span_id: 2210
                                        )
                                      )
                                    }
                                  spids: [2208]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:archive_cmds)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: 
'$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
                                          span_id: 2216
                                        )
                                      )
                                    }
                                  spids: [2214]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: '${wl}-rpath ${wl}$libdir'
                                          span_id: 2223
                                        )
                                      )
                                    }
                                  spids: [2221]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                                  op: assign_op.Equal
                                  rhs: {(Id.Lit_Other ':')}
                                  spids: [2227]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:output_verbose_link_cmd)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: 
'$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\\-L"'
                                          span_id: 2246
                                        )
                                      )
                                    }
                                  spids: [2244]
                                )
                              ]
                            )
                          ]
                          spids: [2180 2205]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ld_shlibs)
                              op: assign_op.Equal
                              rhs: {(no)}
                              spids: [2257]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [2176 2177 2264 -1]
                )
              ]
            )
          ]
          spids: [2019 2021 2270 -1]
        )
        (case_arm
          pat_list: [{(osf4) (Id.Lit_Star '*')} {(osf5) (Id.Lit_Star '*')}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$cc_basename')}
              arms: [
                (case_arm
                  pat_list: [{(KCC)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'templib=`echo $lib | sed -e "s/\\.so\\..*/\\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \\$templib; mv \\$templib $lib'
                                  span_id: 2313
                                )
                              )
                            }
                          spids: [2311]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:'${wl}-rpath,$libdir' span_id:2320))}
                          spids: [2318]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                          op: assign_op.Equal
                          rhs: {(Id.Lit_Other ':')}
                          spids: [2324]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:old_archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {(SQ (Token id:Id.Lit_Chars val:'$CC -o $oldlib $oldobjs' span_id:2339))}
                          spids: [2337]
                        )
                      ]
                    )
                  ]
                  spids: [2290 2291 2343 -1]
                )
                (case_arm
                  pat_list: [{(RCC)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [2358]
                        )
                      ]
                    )
                  ]
                  spids: [2346 2347 2362 -1]
                )
                (case_arm
                  pat_list: [{(cxx)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                          op: assign_op.Equal
                          rhs: 
                            {(SQ (Token id:Id.Lit_Chars val:' -expect_unresolved \\*' span_id:2371))}
                          spids: [2369]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
                                  span_id: 2377
                                )
                              )
                            }
                          spids: [2375]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_expsym_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\\$i" >> $lib.exp; done~\n'
                                  span_id: 2383
                                ) (Token id:Id.Lit_Chars val:'\t  echo "-hidden">> $lib.exp~\n' span_id:2384) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'\t  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version\t$verstring` -update_registry $objdir/so_locations -o $lib~\n'
                                  span_id: 2385
                                ) (Token id:Id.Lit_Chars val:'\t  $rm $lib.exp' span_id:2386)
                              )
                            }
                          spids: [2381]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:'-rpath $libdir' span_id:2393))}
                          spids: [2391]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                          op: assign_op.Equal
                          rhs: {(Id.Lit_Other ':')}
                          spids: [2397]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:output_verbose_link_cmd)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\\(^.*ld.*\\)\\( .*ld.*$\\)/\\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
                                  span_id: 2436
                                )
                              )
                            }
                          spids: [2434]
                        )
                      ]
                    )
                  ]
                  spids: [2365 2366 2440 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.AndOr
                                  ops: [Id.Op_DAmp]
                                  children: [
                                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$with_gcc'))} 
                                      {(Id.Lit_Equals '=')} {(yes)}
                                    )
                                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$with_gnu_ld'))} 
                                      {(Id.Lit_Equals '=')} {(no)}
                                    )
                                  ]
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:2470)
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: ' ${wl}-expect_unresolved ${wl}\\*'
                                          span_id: 2477
                                        )
                                      )
                                    }
                                  spids: [2475]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:archive_cmds)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: 
'$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
                                          span_id: 2483
                                        )
                                      )
                                    }
                                  spids: [2481]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: '${wl}-rpath ${wl}$libdir'
                                          span_id: 2491
                                        )
                                      )
                                    }
                                  spids: [2489]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                                  op: assign_op.Equal
                                  rhs: {(Id.Lit_Other ':')}
                                  spids: [2495]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:output_verbose_link_cmd)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: 
'$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\\-L"'
                                          span_id: 2515
                                        )
                                      )
                                    }
                                  spids: [2513]
                                )
                              ]
                            )
                          ]
                          spids: [2447 2472]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ld_shlibs)
                              op: assign_op.Equal
                              rhs: {(no)}
                              spids: [2526]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [2443 2444 2533 -1]
                )
              ]
            )
          ]
          spids: [2273 2280 2539 -1]
        )
        (case_arm
          pat_list: [{(psos) (Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ld_shlibs)
                  op: assign_op.Equal
                  rhs: {(no)}
                  spids: [2551]
                )
              ]
            )
          ]
          spids: [2542 2544 2555 -1]
        )
        (case_arm
          pat_list: [{(sco) (Id.Lit_Star '*')}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$cc_basename')}
              arms: [
                (case_arm
                  pat_list: [{(CC)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [2578]
                        )
                      ]
                    )
                  ]
                  spids: [2570 2571 2582 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [2593]
                        )
                      ]
                    )
                  ]
                  spids: [2585 2586 2597 -1]
                )
              ]
            )
          ]
          spids: [2558 2560 2603 -1]
        )
        (case_arm
          pat_list: [{(sunos4) (Id.Lit_Star '*')}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$cc_basename')}
              arms: [
                (case_arm
                  pat_list: [{(CC)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [2630]
                        )
                      ]
                    )
                  ]
                  spids: [2618 2619 2634 -1]
                )
                (case_arm
                  pat_list: [{(lcc)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [2649]
                        )
                      ]
                    )
                  ]
                  spids: [2637 2638 2653 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [2664]
                        )
                      ]
                    )
                  ]
                  spids: [2656 2657 2668 -1]
                )
              ]
            )
          ]
          spids: [2606 2608 2674 -1]
        )
        (case_arm
          pat_list: [{(solaris) (Id.Lit_Star '*')}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$cc_basename')}
              arms: [
                (case_arm
                  pat_list: [{(CC)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:no_undefined_flag)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:' -zdefs' span_id:2699))}
                          spids: [2697]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
                                  span_id: 2705
                                )
                              )
                            }
                          spids: [2703]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_expsym_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\\(.*\\)/\\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~\n'
                                  span_id: 2711
                                ) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'        $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
                                  span_id: 2712
                                )
                              )
                            }
                          spids: [2709]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:'-R$libdir' span_id:2719))}
                          spids: [2717]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [2723]
                        )
                      ]
                    )
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$host_os')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(solaris2.) (Id.Lit_LBracket '[') (0-5) (Id.Lit_RBracket ']')}
                            {(solaris2.) (Id.Lit_LBracket '[') (0-5) (Id.Lit_RBracket ']') (.) 
                              (Id.Lit_Star '*')
                            }
                          ]
                          spids: [2734 2747 2749 -1]
                        )
                        (case_arm
                          pat_list: [{(Id.Lit_Star '*')}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:whole_archive_flag_spec)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: 
'${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
                                          span_id: 2774
                                        )
                                      )
                                    }
                                  spids: [2772]
                                )
                              ]
                            )
                          ]
                          spids: [2752 2753 2778 -1]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:link_all_deplibs)
                          op: assign_op.Equal
                          rhs: {(yes)}
                          spids: [2784]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:output_verbose_link_cmd)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep "\\-R|\\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
                                  span_id: 2823
                                )
                              )
                            }
                          spids: [2821]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:old_archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '$CC -xar -o $oldlib $oldobjs'
                                  span_id: 2846
                                )
                              )
                            }
                          spids: [2844]
                        )
                      ]
                    )
                  ]
                  spids: [2689 2690 2850 -1]
                )
                (case_arm
                  pat_list: [{(gcx)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
                                  span_id: 2863
                                )
                              )
                            }
                          spids: [2861]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:old_archive_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '$CC $LDFLAGS -archive -o $oldlib $oldobjs'
                                  span_id: 2874
                                )
                              )
                            }
                          spids: [2872]
                        )
                      ]
                    )
                  ]
                  spids: [2853 2854 2878 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.AndOr
                                  ops: [Id.Op_DAmp]
                                  children: [
                                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$with_gcc'))} 
                                      {(Id.Lit_Equals '=')} {(yes)}
                                    )
                                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$with_gnu_ld'))} 
                                      {(Id.Lit_Equals '=')} {(no)}
                                    )
                                  ]
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:2912)
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:no_undefined_flag)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: ' ${wl}-z ${wl}defs'
                                          span_id: 2919
                                        )
                                      )
                                    }
                                  spids: [2917]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {($ Id.VSub_DollarName '$CC')} {(--version)})
                                            (command.Simple
                                              words: [
                                                {(egrep)}
                                                {(-v)}
                                                {
                                                  (SQ 
                                                    (Token
                                                      id: Id.Lit_Chars
                                                      val: '^2\\.7'
                                                      span_id: 2936
                                                    )
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Great val:'>' span_id:2939)
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                )
                                              ]
                                            )
                                          ]
                                          negated: F
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:2942)
                                    )
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:archive_cmds)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                (Token
                                                  id: Id.Lit_Chars
                                                  val: 
'$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
                                                  span_id: 2949
                                                )
                                              )
                                            }
                                          spids: [2947]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:archive_expsym_cmds)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                (Token
                                                  id: Id.Lit_Chars
                                                  val: 
'$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\\(.*\\)/\\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~\n'
                                                  span_id: 2955
                                                ) 
                                                (Token
                                                  id: Id.Lit_Chars
                                                  val: 
'\t\t$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
                                                  span_id: 2956
                                                )
                                              )
                                            }
                                          spids: [2953]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:output_verbose_link_cmd)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$CC') (' -shared ') 
                                                ($ Id.VSub_DollarName '$CFLAGS') (' -v conftest.') ($ Id.VSub_DollarName '$objext') (' 2>&1 | egrep ') 
                                                (word_part.EscapedLiteral
                                                  token: 
                                                    (Token
                                                      id: Id.Lit_EscapedChar
                                                      val: '\\"'
                                                      span_id: 2981
                                                    )
                                                ) (Id.Lit_Other '\\') (-L) 
                                                (word_part.EscapedLiteral
                                                  token: 
                                                    (Token
                                                      id: Id.Lit_EscapedChar
                                                      val: '\\"'
                                                      span_id: 2984
                                                    )
                                                )
                                              )
                                            }
                                          spids: [2973]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [2923 2944]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:archive_cmds)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            (Token
                                              id: Id.Lit_Chars
                                              val: 
'$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
                                              span_id: 3001
                                            )
                                          )
                                        }
                                      spids: [2999]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:archive_expsym_cmds)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            (Token
                                              id: Id.Lit_Chars
                                              val: 
'$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\\(.*\\)/\\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~\n'
                                              span_id: 3007
                                            ) 
                                            (Token
                                              id: Id.Lit_Chars
                                              val: 
'\t\t$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
                                              span_id: 3008
                                            )
                                          )
                                        }
                                      spids: [3005]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:output_verbose_link_cmd)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (DQ ($ Id.VSub_DollarName '$CC') (' -G ') 
                                            ($ Id.VSub_DollarName '$CFLAGS') (' -v conftest.') ($ Id.VSub_DollarName '$objext') (' 2>&1 | egrep ') 
                                            (word_part.EscapedLiteral
                                              token: 
                                                (Token
                                                  id: Id.Lit_EscapedChar
                                                  val: '\\"'
                                                  span_id: 3033
                                                )
                                            ) (Id.Lit_Other '\\') (-L) 
                                            (word_part.EscapedLiteral
                                              token: 
                                                (Token
                                                  id: Id.Lit_EscapedChar
                                                  val: '\\"'
                                                  span_id: 3036
                                                )
                                            )
                                          )
                                        }
                                      spids: [3025]
                                    )
                                  ]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: '${wl}-R $wl$libdir'
                                          span_id: 3046
                                        )
                                      )
                                    }
                                  spids: [3044]
                                )
                              ]
                            )
                          ]
                          spids: [2889 2914]
                        )
                      ]
                    )
                  ]
                  spids: [2881 2882 3053 -1]
                )
              ]
            )
          ]
          spids: [2677 2679 3059 -1]
        )
        (case_arm
          pat_list: [{(tandem) (Id.Lit_Star '*')}]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$cc_basename')}
              arms: [
                (case_arm
                  pat_list: [{(NCC)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [3086]
                        )
                      ]
                    )
                  ]
                  spids: [3074 3075 3090 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [3101]
                        )
                      ]
                    )
                  ]
                  spids: [3093 3094 3105 -1]
                )
              ]
            )
          ]
          spids: [3062 3064 3111 -1]
        )
        (case_arm
          pat_list: [{(unixware) (Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ld_shlibs)
                  op: assign_op.Equal
                  rhs: {(no)}
                  spids: [3123]
                )
              ]
            )
          ]
          spids: [3114 3116 3127 -1]
        )
        (case_arm
          pat_list: [{(vxworks) (Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ld_shlibs)
                  op: assign_op.Equal
                  rhs: {(no)}
                  spids: [3139]
                )
              ]
            )
          ]
          spids: [3130 3132 3143 -1]
        )
        (case_arm
          pat_list: [{(Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ld_shlibs)
                  op: assign_op.Equal
                  rhs: {(no)}
                  spids: [3154]
                )
              ]
            )
          ]
          spids: [3146 3147 3158 -1]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [3174]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_shlib)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [3176]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_wl)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [3178]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_static)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [3180]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_no_builtin)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [3182]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_can_build_shared)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$can_build_shared')}
          spids: [3184]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic_works)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [3188]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_static_works)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [3190]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(test)} {(DQ ($ Id.VSub_DollarName '$with_gcc'))} {(Id.Lit_Equals '=')} {(yes)})
              terminator: (Token id:Id.Op_Semi val:';' span_id:3204)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_wl)
                  op: assign_op.Equal
                  rhs: {(SQ (Token id:Id.Lit_Chars val:'-Wl,' span_id:3211))}
                  spids: [3209]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_static)
                  op: assign_op.Equal
                  rhs: {(SQ (Token id:Id.Lit_Chars val:-static span_id:3217))}
                  spids: [3215]
                )
              ]
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(aix) (Id.Lit_Star '*')}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(test)} {(DQ ($ Id.VSub_DollarName '$host_cpu'))} 
                                  {(Id.Lit_Equals '=')} {(ia64)}
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:3249)
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:lt_cv_prog_cc_static)
                                  op: assign_op.Equal
                                  rhs: {(SQ (Token id:Id.Lit_Chars val:-Bstatic span_id:3260))}
                                  spids: [3258]
                                )
                              ]
                            )
                          ]
                          spids: [3238 3251]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:lt_cv_prog_cc_static)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (SQ 
                                    (Token
                                      id: Id.Lit_Chars
                                      val: '-bnso -bI:/lib/syscalls.exp'
                                      span_id: 3269
                                    )
                                  )
                                }
                              spids: [3267]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [3229 3231 3276 -1]
                )
                (case_arm
                  pat_list: [{(amigaos) (Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '-m68020 -resident32 -malways-restore-a4'
                                  span_id: 3298
                                )
                              )
                            }
                          spids: [3296]
                        )
                      ]
                    )
                  ]
                  spids: [3279 3281 3302 -1]
                )
                (case_arm
                  pat_list: [
                    {(beos) (Id.Lit_Star '*')}
                    {(irix5) (Id.Lit_Star '*')}
                    {(irix6) (Id.Lit_Star '*')}
                    {(osf3) (Id.Lit_Star '*')}
                    {(osf4) (Id.Lit_Star '*')}
                    {(osf5) (Id.Lit_Star '*')}
                  ]
                  spids: [3305 3332 3339 -1]
                )
                (case_arm
                  pat_list: [
                    {(cygwin) (Id.Lit_Star '*')}
                    {(mingw) (Id.Lit_Star '*')}
                    {(os2) (Id.Lit_Star '*')}
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:-DDLL_EXPORT span_id:3367))}
                          spids: [3365]
                        )
                      ]
                    )
                  ]
                  spids: [3342 3354 3371 -1]
                )
                (case_arm
                  pat_list: [{(darwin) (Id.Lit_Star '*')} {(rhapsody) (Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:lt_cv_prog_cc_pic)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:-fno-common span_id:3394))}
                          spids: [3392]
                        )
                      ]
                    )
                  ]
                  spids: [3374 3381 3398 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*') (djgpp) (Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [3411]
                        )
                      ]
                    )
                  ]
                  spids: [3401 3404 3414 -1]
                )
                (case_arm
                  pat_list: [{(sysv4) (Id.Lit_Star '*') (MP) (Id.Lit_Star '*')}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: (C {(test)} {(-d)} {(/usr/nec)})
                              terminator: (Token id:Id.Op_Semi val:';' span_id:3431)
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                                  op: assign_op.Equal
                                  rhs: {(-Kconform_pic)}
                                  spids: [3436]
                                )
                              ]
                            )
                          ]
                          spids: [3424 3433]
                        )
                      ]
                    )
                  ]
                  spids: [3417 3421 3443 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:-fPIC span_id:3452))}
                          spids: [3450]
                        )
                      ]
                    )
                  ]
                  spids: [3446 3447 3456 -1]
                )
              ]
            )
          ]
          spids: [3193 3206]
        )
      ]
      else_action: [
        (command.Case
          to_match: {($ Id.VSub_DollarName '$host_os')}
          arms: [
            (case_arm
              pat_list: [{(aix4) (Id.Lit_Star '*')} {(aix5) (Id.Lit_Star '*')}]
              action: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$host_cpu'))} {(Id.Lit_Equals '=')} 
                              {(ia64)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:3496)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:lt_cv_prog_cc_static)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-Bstatic span_id:3507))}
                              spids: [3505]
                            )
                          ]
                        )
                      ]
                      spids: [3485 3498]
                    )
                  ]
                  else_action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:lt_cv_prog_cc_static)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '-bnso -bI:/lib/syscalls.exp'
                                  span_id: 3516
                                )
                              )
                            }
                          spids: [3514]
                        )
                      ]
                    )
                  ]
                )
              ]
              spids: [3471 3478 3523 -1]
            )
            (case_arm
              pat_list: [{(chorus) (Id.Lit_Star '*')}]
              action: [
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$cc_basename')}
                  arms: [(case_arm pat_list:[{(cxch68)}] spids:[3538 3539 3550 -1])]
                )
              ]
              spids: [3526 3528 3556 -1]
            )
            (case_arm
              pat_list: [{(dgux) (Id.Lit_Star '*')}]
              action: [
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$cc_basename')}
                  arms: [
                    (case_arm
                      pat_list: [{(ec) (Id.Lit_Other '+') (Id.Lit_Other '+')}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-KPIC span_id:3579))}
                              spids: [3577]
                            )
                          ]
                        )
                      ]
                      spids: [3571 3574 3583 -1]
                    )
                    (case_arm
                      pat_list: [{(ghcx)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-pic span_id:3596))}
                              spids: [3594]
                            )
                          ]
                        )
                      ]
                      spids: [3586 3587 3600 -1]
                    )
                    (case_arm
                      pat_list: [{(Id.Lit_Star '*')}]
                      spids: [3603 3604 3607 -1]
                    )
                  ]
                )
              ]
              spids: [3559 3561 3613 -1]
            )
            (case_arm pat_list:[{(freebsd) (Id.Lit_Star '*')}] spids:[3616 3618 3625 -1])
            (case_arm pat_list:[{(gnu) (Id.Lit_Star '*')}] spids:[3628 3630 3633 -1])
            (case_arm
              pat_list: [
                {(hpux9) (Id.Lit_Star '*')}
                {(hpux10) (Id.Lit_Star '*')}
                {(hpux11) (Id.Lit_Star '*')}
              ]
              action: [
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$cc_basename')}
                  arms: [
                    (case_arm
                      pat_list: [{(CC)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_wl)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:'-Wl,' span_id:3664))}
                              spids: [3662]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_static)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ (${ Id.VSub_Name ac_cv_prog_cc_wl) ('-a ') 
                                    (${ Id.VSub_Name ac_cv_prog_cc_wl) (archive)
                                  )
                                }
                              spids: [3668]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:'+Z' span_id:3683))}
                              spids: [3681]
                            )
                          ]
                        )
                      ]
                      spids: [3658 3659 3687 -1]
                    )
                    (case_arm
                      pat_list: [{(aCC)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_wl)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:'-Wl,' span_id:3696))}
                              spids: [3694]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_static)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (DQ (${ Id.VSub_Name ac_cv_prog_cc_wl) ('-a ') 
                                    (${ Id.VSub_Name ac_cv_prog_cc_wl) (archive)
                                  )
                                }
                              spids: [3700]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:'+Z' span_id:3715))}
                              spids: [3713]
                            )
                          ]
                        )
                      ]
                      spids: [3690 3691 3719 -1]
                    )
                    (case_arm
                      pat_list: [{(Id.Lit_Star '*')}]
                      spids: [3722 3723 3726 -1]
                    )
                  ]
                )
              ]
              spids: [3636 3648 3732 -1]
            )
            (case_arm
              pat_list: [{(irix5) (Id.Lit_Star '*')} {(irix6) (Id.Lit_Star '*')}]
              action: [
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$cc_basename')}
                  arms: [
                    (case_arm
                      pat_list: [{(CC)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_wl)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:'-Wl,' span_id:3758))}
                              spids: [3756]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_static)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-non_shared span_id:3764))}
                              spids: [3762]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-KPIC span_id:3770))}
                              spids: [3768]
                            )
                          ]
                        )
                      ]
                      spids: [3752 3753 3774 -1]
                    )
                    (case_arm
                      pat_list: [{(Id.Lit_Star '*')}]
                      spids: [3777 3778 3781 -1]
                    )
                  ]
                )
              ]
              spids: [3735 3742 3787 -1]
            )
            (case_arm
              pat_list: [{(linux) (Id.Lit_Star '*')}]
              action: [
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$cc_basename')}
                  arms: [
                    (case_arm
                      pat_list: [{(KCC)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_wl)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:'--backend -Wl,' span_id:3812))}
                              spids: [3810]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-fPIC span_id:3818))}
                              spids: [3816]
                            )
                          ]
                        )
                      ]
                      spids: [3802 3803 3822 -1]
                    )
                    (case_arm
                      pat_list: [{(cxx)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [3841]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_static)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-non_shared span_id:3846))}
                              spids: [3844]
                            )
                          ]
                        )
                      ]
                      spids: [3825 3826 3850 -1]
                    )
                    (case_arm
                      pat_list: [{(Id.Lit_Star '*')}]
                      spids: [3853 3854 3857 -1]
                    )
                  ]
                )
              ]
              spids: [3790 3792 3863 -1]
            )
            (case_arm pat_list:[{(lynxos) (Id.Lit_Star '*')}] spids:[3866 3868 3871 -1])
            (case_arm pat_list:[{(m88k) (Id.Lit_Star '*')}] spids:[3874 3876 3879 -1])
            (case_arm
              pat_list: [{(mvs) (Id.Lit_Star '*')}]
              action: [
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$cc_basename')}
                  arms: [
                    (case_arm
                      pat_list: [{(cxx)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:'-W c,exportall' span_id:3900))}
                              spids: [3898]
                            )
                          ]
                        )
                      ]
                      spids: [3894 3895 3904 -1]
                    )
                    (case_arm
                      pat_list: [{(Id.Lit_Star '*')}]
                      spids: [3907 3908 3911 -1]
                    )
                  ]
                )
              ]
              spids: [3882 3884 3917 -1]
            )
            (case_arm pat_list:[{(netbsd) (Id.Lit_Star '*')}] spids:[3920 3922 3925 -1])
            (case_arm
              pat_list: [
                {(osf3) (Id.Lit_Star '*')}
                {(osf4) (Id.Lit_Star '*')}
                {(osf5) (Id.Lit_Star '*')}
              ]
              action: [
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$cc_basename')}
                  arms: [
                    (case_arm
                      pat_list: [{(KCC)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_wl)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:'--backend -Wl,' span_id:3956))}
                              spids: [3954]
                            )
                          ]
                        )
                      ]
                      spids: [3950 3951 3960 -1]
                    )
                    (case_arm
                      pat_list: [{(RCC)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-pic span_id:3973))}
                              spids: [3971]
                            )
                          ]
                        )
                      ]
                      spids: [3963 3964 3977 -1]
                    )
                    (case_arm
                      pat_list: [{(cxx)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_wl)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:'-Wl,' span_id:3990))}
                              spids: [3988]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [4002]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_static)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-non_shared span_id:4007))}
                              spids: [4005]
                            )
                          ]
                        )
                      ]
                      spids: [3980 3981 4011 -1]
                    )
                    (case_arm
                      pat_list: [{(Id.Lit_Star '*')}]
                      spids: [4014 4015 4018 -1]
                    )
                  ]
                )
              ]
              spids: [3928 3940 4024 -1]
            )
            (case_arm pat_list:[{(psos) (Id.Lit_Star '*')}] spids:[4027 4029 4032 -1])
            (case_arm
              pat_list: [{(sco) (Id.Lit_Star '*')}]
              action: [
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$cc_basename')}
                  arms: [
                    (case_arm
                      pat_list: [{(CC)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-fPIC span_id:4053))}
                              spids: [4051]
                            )
                          ]
                        )
                      ]
                      spids: [4047 4048 4057 -1]
                    )
                    (case_arm
                      pat_list: [{(Id.Lit_Star '*')}]
                      spids: [4060 4061 4064 -1]
                    )
                  ]
                )
              ]
              spids: [4035 4037 4070 -1]
            )
            (case_arm
              pat_list: [{(solaris) (Id.Lit_Star '*')}]
              action: [
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$cc_basename')}
                  arms: [
                    (case_arm
                      pat_list: [{(CC)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-KPIC span_id:4095))}
                              spids: [4093]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_static)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-Bstatic span_id:4101))}
                              spids: [4099]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_wl)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:'-Qoption ld ' span_id:4107))}
                              spids: [4105]
                            )
                          ]
                        )
                      ]
                      spids: [4085 4086 4111 -1]
                    )
                    (case_arm
                      pat_list: [{(gcx)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-PIC span_id:4124))}
                              spids: [4122]
                            )
                          ]
                        )
                      ]
                      spids: [4114 4115 4128 -1]
                    )
                    (case_arm
                      pat_list: [{(Id.Lit_Star '*')}]
                      spids: [4131 4132 4135 -1]
                    )
                  ]
                )
              ]
              spids: [4073 4075 4141 -1]
            )
            (case_arm
              pat_list: [{(sunos4) (Id.Lit_Star '*')}]
              action: [
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$cc_basename')}
                  arms: [
                    (case_arm
                      pat_list: [{(CC)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-pic span_id:4166))}
                              spids: [4164]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_static)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-Bstatic span_id:4172))}
                              spids: [4170]
                            )
                          ]
                        )
                      ]
                      spids: [4156 4157 4176 -1]
                    )
                    (case_arm
                      pat_list: [{(lcc)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-pic span_id:4189))}
                              spids: [4187]
                            )
                          ]
                        )
                      ]
                      spids: [4179 4180 4193 -1]
                    )
                    (case_arm
                      pat_list: [{(Id.Lit_Star '*')}]
                      spids: [4196 4197 4200 -1]
                    )
                  ]
                )
              ]
              spids: [4144 4146 4206 -1]
            )
            (case_arm
              pat_list: [{(tandem) (Id.Lit_Star '*')}]
              action: [
                (command.Case
                  to_match: {($ Id.VSub_DollarName '$cc_basename')}
                  arms: [
                    (case_arm
                      pat_list: [{(NCC)}]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                              op: assign_op.Equal
                              rhs: {(SQ (Token id:Id.Lit_Chars val:-KPIC span_id:4231))}
                              spids: [4229]
                            )
                          ]
                        )
                      ]
                      spids: [4221 4222 4235 -1]
                    )
                    (case_arm
                      pat_list: [{(Id.Lit_Star '*')}]
                      spids: [4238 4239 4242 -1]
                    )
                  ]
                )
              ]
              spids: [4209 4211 4248 -1]
            )
            (case_arm
              pat_list: [{(unixware) (Id.Lit_Star '*')}]
              spids: [4251 4253 4256 -1]
            )
            (case_arm pat_list:[{(vxworks) (Id.Lit_Star '*')}] spids:[4259 4261 4264 -1])
            (case_arm
              pat_list: [{(Id.Lit_Star '*')}]
              action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_can_build_shared)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [4271]
                    )
                  ]
                )
              ]
              spids: [4267 4268 4275 -1]
            )
          ]
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_DollarName '$host_os'))}
      arms: [
        (case_arm
          pat_list: [{(Id.Lit_Star '*') (djgpp) (Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                  op: assign_op.Equal
                  rhs: (word.Empty)
                  spids: [4306]
                )
              ]
            )
          ]
          spids: [4300 4303 4309 -1]
        )
        (case_arm
          pat_list: [{(Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_pic)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$ac_cv_prog_cc_pic') (' -DPIC'))}
                  spids: [4316]
                )
              ]
            )
          ]
          spids: [4312 4313 4323 -1]
        )
      ]
    )
    (command.Simple
      words: [{(cat)}]
      redirects: [
        (redir.Redir
          op: (Token id:Id.Redir_Great val:'>' span_id:4337)
          fd: -1
          arg_word: {(conftest.) ($ Id.VSub_DollarName '$ac_ext')}
        )
        (redir.HereDoc
          op: (Token id:Id.Redir_DLess val:'<<' span_id:4342)
          fd: -1
          here_begin: {(EOF)}
          here_end_span_id: 4353
          stdin_parts: [
            ('class Foo\n')
            ('{\n')
            ('public:\n')
            ('  Foo (void) { a = 0; }\n')
            ('private:\n')
            ('  int a;\n')
            ('};\n')
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.Subshell
                  command_list: 
                    (command.CommandList
                      children: [(C {(eval)} {($ Id.VSub_DollarName '$ac_compile')})]
                    )
                  redirects: [
                    (redir.Redir
                      op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:4364)
                      fd: 2
                      arg_word: {(5)}
                    )
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:4366)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pre_test_object_deps_done)
                  op: assign_op.Equal
                  rhs: {(no)}
                  spids: [4388]
                )
              ]
            )
            (command.ForEach
              iter_name: p
              iter_words: [
                {
                  (command_sub
                    left_token: (Token id:Id.Left_Backtick val:'`' span_id:4399)
                    command_list: 
                      (command.CommandList
                        children: [(C {(eval)} {($ Id.VSub_DollarName '$output_verbose_link_cmd')})]
                      )
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$p')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(-L) (Id.Lit_Star '*')}
                            {(-R) (Id.Lit_Star '*')}
                            {(-l) (Id.Lit_Star '*')}
                          ]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (command.AndOr
                                          ops: [Id.Op_DPipe]
                                          children: [
                                            (C {(test)} {($ Id.VSub_DollarName '$p')} 
                                              {(Id.Lit_Equals '=')} {(DQ (-L))}
                                            )
                                            (C {(test)} {($ Id.VSub_DollarName '$p')} 
                                              {(Id.Lit_Equals '=')} {(DQ (-R))}
                                            )
                                          ]
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:4468)
                                    )
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:prev)
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName '$p')}
                                          spids: [4473]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: 
                                        (Token
                                          id: Id.ControlFlow_Continue
                                          val: continue
                                          span_id: 4477
                                        )
                                    )
                                  ]
                                  spids: [4443 4470]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:prev)
                                      op: assign_op.Equal
                                      rhs: (word.Empty)
                                      spids: [4483]
                                    )
                                  ]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} 
                                          {(DQ ($ Id.VSub_DollarName '$pre_test_object_deps_done'))} {(Id.Lit_Equals '=')} {(no)}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:4501)
                                    )
                                  ]
                                  action: [
                                    (command.Case
                                      to_match: {($ Id.VSub_DollarName '$p')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(-L) (Id.Lit_Star '*')} {(-R) (Id.Lit_Star '*')}]
                                          action: [
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (command.Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {
                                                            (DQ 
                                                              ($ Id.VSub_DollarName 
'$compiler_lib_search_path'
                                                              )
                                                            )
                                                          }
                                                        )
                                                      terminator: 
                                                        (Token
                                                          id: Id.Op_Semi
                                                          val: ';'
                                                          span_id: 4544
                                                        )
                                                    )
                                                  ]
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              name: compiler_lib_search_path
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {
                                                              (DQ (${ Id.VSub_Name prev) 
                                                                (${ Id.VSub_Name p)
                                                              )
                                                            }
                                                          spids: [4549]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [4535 4546]
                                                )
                                              ]
                                              else_action: [
                                                (command.ShAssignment
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: 
                                                        (sh_lhs_expr.Name
                                                          name: compiler_lib_search_path
                                                        )
                                                      op: assign_op.Equal
                                                      rhs: 
                                                        {
                                                          (DQ 
                                                            (${ Id.VSub_Name compiler_lib_search_path) (' ') (${ Id.VSub_Name prev) (${ Id.VSub_Name p)
                                                          )
                                                        }
                                                      spids: [4563]
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [4513 4520 4581 -1]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [4490 4503]
                                )
                              ]
                              else_action: [
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (command.Sentence
                                          child: 
                                            (C {(test)} {(-z)} {(DQ ($ Id.VSub_DollarName '$postdeps'))})
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:4607)
                                        )
                                      ]
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:postdeps)
                                              op: assign_op.Equal
                                              rhs: {(DQ (${ Id.VSub_Name prev) (${ Id.VSub_Name p))}
                                              spids: [4612]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [4598 4609]
                                    )
                                  ]
                                  else_action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:postdeps)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ (${ Id.VSub_Name postdeps) (' ') 
                                                (${ Id.VSub_Name prev) (${ Id.VSub_Name p)
                                              )
                                            }
                                          spids: [4626]
                                        )
                                      ]
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                          spids: [4420 4432 4647 -1]
                        )
                        (case_arm
                          pat_list: [{(Id.Lit_Star '*') (.) ($ Id.VSub_DollarName '$objext')}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$p'))} 
                                          {(Id.Lit_Equals '=')} {(DQ (conftest.) ($ Id.VSub_DollarName '$objext'))}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:4679)
                                    )
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:pre_test_object_deps_done)
                                          op: assign_op.Equal
                                          rhs: {(yes)}
                                          spids: [4684]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: 
                                        (Token
                                          id: Id.ControlFlow_Continue
                                          val: continue
                                          span_id: 4688
                                        )
                                    )
                                  ]
                                  spids: [4665 4681]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (C {(test)} 
                                          {(DQ ($ Id.VSub_DollarName '$pre_test_object_deps_done'))} {(Id.Lit_Equals '=')} {(no)}
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:4706)
                                    )
                                  ]
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (command.Sentence
                                              child: 
                                                (C {(test)} {(-z)} 
                                                  {(DQ ($ Id.VSub_DollarName '$predep_objects'))}
                                                )
                                              terminator: (Token id:Id.Op_Semi val:';' span_id:4720)
                                            )
                                          ]
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: (sh_lhs_expr.Name name:predep_objects)
                                                  op: assign_op.Equal
                                                  rhs: {(DQ ($ Id.VSub_DollarName '$p'))}
                                                  spids: [4725]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [4711 4722]
                                        )
                                      ]
                                      else_action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:predep_objects)
                                              op: assign_op.Equal
                                              rhs: 
                                                {
                                                  (DQ ($ Id.VSub_DollarName '$predep_objects') (' ') 
                                                    ($ Id.VSub_DollarName '$p')
                                                  )
                                                }
                                              spids: [4734]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [4695 4708]
                                )
                              ]
                              else_action: [
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (command.Sentence
                                          child: 
                                            (C {(test)} {(-z)} 
                                              {(DQ ($ Id.VSub_DollarName '$postdep_objects'))}
                                            )
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:4757)
                                        )
                                      ]
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:postdep_objects)
                                              op: assign_op.Equal
                                              rhs: {(DQ ($ Id.VSub_DollarName '$p'))}
                                              spids: [4762]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [4748 4759]
                                    )
                                  ]
                                  else_action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:postdep_objects)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$postdep_objects') (' ') 
                                                ($ Id.VSub_DollarName '$p')
                                              )
                                            }
                                          spids: [4771]
                                        )
                                      ]
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                          spids: [4651 4654 4785 -1]
                        )
                        (case_arm
                          pat_list: [{(Id.Lit_Star '*')}]
                          spids: [4789 4790 4792 -1]
                        )
                      ]
                    )
                  ]
                )
            )
            (C {(rm)} {(-f)} {(a.out)})
          ]
          spids: [4356 4368]
        )
      ]
      else_action: [(C {(echo)} {(DQ ('ltcf-cxx.sh: error: problem compiling test program'))})]
    )
    (C {($ Id.VSub_DollarName '$rm')} {(-f)} {(confest.) ($ Id.VSub_DollarName '$objext')})
    (command.Case
      to_match: {(DQ (' ') ($ Id.VSub_DollarName '$postdeps') (' '))}
      arms: [
        (case_arm
          pat_list: [{(Id.Lit_Star '*') (DQ (' -lc ')) (Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:need_lc)
                  op: assign_op.Equal
                  rhs: {(no)}
                  spids: [4853]
                )
              ]
            )
          ]
          spids: [4846 4851 4856 -1]
        )
        (case_arm
          pat_list: [{(Id.Lit_Star '*')}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:need_lc)
                  op: assign_op.Equal
                  rhs: {(yes)}
                  spids: [4861]
                )
              ]
            )
          ]
          spids: [4858 4859 4864 -1]
        )
      ]
    )
  ]
)