(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_ext)
          op: assign_op.Equal
          rhs: {(c)}
          spids: [78]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:objext)
          op: assign_op.Equal
          rhs: {(o)}
          spids: [85]
        )
      ]
    )
    (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: [92]
        )
      ]
    )
    (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:'main(){return(0);}' span_id:103))}
          spids: [101]
        )
      ]
    )
    (command.Case
      to_match: {($ Id.VSub_DollarName '$host_os')}
      arms: [
        (case_arm
          pat_list: [{(cygwin) (Id.Lit_Star '*')} {(mingw) (Id.Lit_Star '*')}]
          action: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$with_gcc'))} 
                          {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(yes)}
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:150)
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:with_gnu_ld)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [155]
                        )
                      ]
                    )
                  ]
                  spids: [138 152]
                )
              ]
            )
          ]
          spids: [116 123 162 -1]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ld_shlibs)
          op: assign_op.Equal
          rhs: {(yes)}
          spids: [168]
        )
      ]
    )
    (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:182)
            )
          ]
          action: [
            (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:193))}
                  spids: [191]
                )
              ]
            )
            (command.Case
              to_match: {($ Id.VSub_DollarName '$host_os')}
              arms: [
                (case_arm
                  pat_list: [
                    {(aix3) (Id.Lit_Star '*')}
                    {(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.KW_Bang '!') (Id.Lit_Equals '=')} {(ia64)}
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:240)
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:ld_shlibs)
                                  op: assign_op.Equal
                                  rhs: {(no)}
                                  spids: [245]
                                )
                              ]
                            )
                            (command.Simple
                              words: [{(cat)}]
                              redirects: [
                                (redir.HereDoc
                                  op: (Token id:Id.Redir_DLess val:'<<' span_id:251)
                                  fd: -1
                                  here_begin: {(EOF)}
                                  here_end_span_id: 265
                                  stdin_parts: [
                                    ('\n')
                                    (
'*** Warning: the GNU linker, at least up to release 2.9.1, is reported\n'
                                    )
                                    (
'*** to be unable to reliably create shared libraries on AIX.\n'
                                    )
                                    (
'*** Therefore, libtool is disabling shared libraries support.  If you\n'
                                    )
                                    (
'*** really care for shared libraries, you may want to modify your PATH\n'
                                    )
                                    ('*** so that a non-GNU linker is found, and then restart.\n')
                                    ('\n')
                                  ]
                                )
                                (redir.Redir
                                  op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:254)
                                  fd: 1
                                  arg_word: {(2)}
                                )
                              ]
                            )
                          ]
                          spids: [228 242]
                        )
                      ]
                    )
                  ]
                  spids: [209 221 270 -1]
                )
                (case_arm
                  pat_list: [{(amigaos) (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/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
                                  span_id: 281
                                )
                              )
                            }
                          spids: [279]
                        )
                      ]
                    )
                    (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:287))}
                          spids: [285]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_minus_L)
                          op: assign_op.Equal
                          rhs: {(yes)}
                          spids: [291]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ld_shlibs)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [320]
                        )
                      ]
                    )
                  ]
                  spids: [274 276 324 -1]
                )
                (case_arm
                  pat_list: [{(beos) (Id.Lit_Star '*')}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  children: [
                                    (command.Simple
                                      words: [{($ Id.VSub_DollarName '$LD')} {(--help)}]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:339)
                                          fd: 2
                                          arg_word: {(1)}
                                        )
                                      ]
                                    )
                                    (command.Simple
                                      words: [
                                        {(egrep)}
                                        {
                                          (SQ 
                                            (Token
                                              id: Id.Lit_Chars
                                              val: ': supported targets:.* elf'
                                              span_id: 347
                                            )
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:350)
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:353)
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                                  op: assign_op.Equal
                                  rhs: {(unsupported)}
                                  spids: [358]
                                )
                              ]
                            )
                            (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 -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
                                          span_id: 372
                                        )
                                      )
                                    }
                                  spids: [370]
                                )
                              ]
                            )
                          ]
                          spids: [333 355]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ld_shlibs)
                              op: assign_op.Equal
                              rhs: {(no)}
                              spids: [379]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [328 330 386 -1]
                )
                (case_arm
                  pat_list: [{(cygwin) (Id.Lit_Star '*')} {(mingw) (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:410))}
                          spids: [408]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                          op: assign_op.Equal
                          rhs: {(unsupported)}
                          spids: [414]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:always_export_symbols)
                          op: assign_op.Equal
                          rhs: {(yes)}
                          spids: [418]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:extract_expsyms_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 'test -f $output_objdir/impgen.c || \\\n'
                                  span_id: 425
                                ) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'      sed -e "/^# \\/\\* impgen\\.c starts here \\*\\//,/^# \\/\\* impgen.c ends here \\*\\// { s/^# //; p; }" -e d < $0 > $output_objdir/impgen.c~\n'
                                  span_id: 426
                                ) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'      test -f $output_objdir/impgen.exe || (cd $output_objdir && \\\n'
                                  span_id: 427
                                ) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'      if test "x$BUILD_CC" != "x" ; then $BUILD_CC -o impgen impgen.c ; \\\n'
                                  span_id: 428
                                ) (Token id:Id.Lit_Chars val:'      else $CC -o impgen impgen.c ; fi)~\n' span_id:429) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'      $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
                                  span_id: 430
                                )
                              )
                            }
                          spids: [423]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:old_archive_from_expsyms_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
                                  span_id: 437
                                )
                              )
                            }
                          spids: [435]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:dll_entry)
                          op: assign_op.Equal
                          rhs: {(__cygwin_dll_entry) (Id.Lit_Other '@') (12)}
                          spids: [454]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:dll_exclude_symbols)
                          op: assign_op.Equal
                          rhs: 
                            {(DllMain) (Id.Lit_Other '@') (12) (Id.Lit_Comma ',') (_cygwin_dll_entry) 
                              (Id.Lit_Other '@') (12) (Id.Lit_Comma ',') (_cygwin_noncygwin_dll_entry) (Id.Lit_Other '@') (12) (Id.Lit_TildeLike '~')
                            }
                          spids: [460]
                        )
                      ]
                    )
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$host_os')}
                      arms: [
                        (case_arm
                          pat_list: [{(mingw) (Id.Lit_Star '*')}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:dll_entry)
                                  op: assign_op.Equal
                                  rhs: {(_DllMainCRTStartup) (Id.Lit_Other '@') (12)}
                                  spids: [491]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:dll_exclude_symbols)
                                  op: assign_op.Equal
                                  rhs: 
                                    {(DllMain) (Id.Lit_Other '@') (12) (Id.Lit_Comma ',') 
                                      (DllMainCRTStartup) (Id.Lit_Other '@') (12) (Id.Lit_Comma ',') (DllEntryPoint) (Id.Lit_Other '@') (12) (Id.Lit_TildeLike '~')
                                    }
                                  spids: [497]
                                )
                              ]
                            )
                          ]
                          spids: [482 484 512 -1]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:dll_exclude_symbols)
                          op: assign_op.Equal
                          rhs: 
                            {(DllMain) (Id.Lit_Other '@') (12) (Id.Lit_Comma ',') (_cygwin_dll_entry) 
                              (Id.Lit_Other '@') (12) (Id.Lit_Comma ',') (_cygwin_noncygwin_dll_entry) (Id.Lit_Other '@') (12) (Id.Lit_Comma ',') 
                              (DllMainCRTStartup) (Id.Lit_Other '@') (12) (Id.Lit_Comma ',') (DllEntryPoint) (Id.Lit_Other '@') (12)
                            }
                          spids: [527]
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(test)} {(DQ (x) ($ Id.VSub_DollarName '$lt_cv_need_dllmain'))} 
                                  {(Id.Lit_Equals '=')} {(DQ (xyes))}
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:572)
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:ltdll_obj)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: '$output_objdir/$soname-ltdll.'
                                          span_id: 579
                                        )
                                      ) (DQ ($ Id.VSub_DollarName '$objext') (' '))
                                    }
                                  spids: [577]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:ltdll_cmds)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: 
'test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \\/\\* ltdll\\.c starts here \\*\\//,/^# \\/\\* ltdll.c ends here \\*\\// { s/^# //; p; }" -e d < $0 > $output_objdir/$soname-ltdll.c~\n'
                                          span_id: 589
                                        ) 
                                        (Token
                                          id: Id.Lit_Chars
                                          val: 
'\ttest -f $output_objdir/$soname-ltdll.$objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
                                          span_id: 590
                                        )
                                      )
                                    }
                                  spids: [587]
                                )
                              ]
                            )
                          ]
                          spids: [558 574]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ltdll_obj)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [597]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ltdll_cmds)
                              op: assign_op.Equal
                              rhs: (word.Empty)
                              spids: [600]
                            )
                          ]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:export_symbols_cmds)
                          op: assign_op.Equal
                          rhs: 
                            {(DQ ($ Id.VSub_DollarName '$ltdll_cmds')) 
                              (SQ (Token id:Id.Lit_Chars val:'\n' span_id:628) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '      $DLLTOOL --export-all --exclude-symbols '
                                  span_id: 629
                                )
                              ) ($ Id.VSub_DollarName '$dll_exclude_symbols') 
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: ' --output-def $output_objdir/$soname-def '
                                  span_id: 633
                                )
                              ) ($ Id.VSub_DollarName '$ltdll_obj') 
                              (SQ (Token id:Id.Lit_Chars val:'$libobjs $convenience~\n' span_id:637) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'      sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
                                  span_id: 638
                                )
                              )
                            }
                          spids: [623]
                        )
                      ]
                    )
                    (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: 'if test "x`head -1 $export_symbols`" = xEXPORTS; then\n'
                                  span_id: 657
                                ) (Token id:Id.Lit_Chars val:'        cp $export_symbols $output_objdir/$soname-def;\n' span_id:658) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '      else\n'
                                  span_id: 659
                                ) (Token id:Id.Lit_Chars val:'        echo EXPORTS > $output_objdir/$soname-def;\n' span_id:660) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '        _lt_hint=1;\n'
                                  span_id: 661
                                ) (Token id:Id.Lit_Chars val:'        cat $export_symbols | while read symbol; do\n' span_id:662) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '         set dummy \\$symbol;\n'
                                  span_id: 663
                                ) (Token id:Id.Lit_Chars val:'         case \\[$]# in\n' span_id:664) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'           2) echo "   \\[$]2 @ \\$_lt_hint ; " >> $output_objdir/$soname-def;;\n'
                                  span_id: 665
                                ) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'           *) echo "     \\[$]2 @ \\$_lt_hint \\[$]3 ; " >> $output_objdir/$soname-def;;\n'
                                  span_id: 666
                                ) (Token id:Id.Lit_Chars val:'         esac;\n' span_id:667) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '         _lt_hint=`expr 1 + \\$_lt_hint`;\n'
                                  span_id: 668
                                ) (Token id:Id.Lit_Chars val:'        done;\n' span_id:669) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '      fi~\n'
                                  span_id: 670
                                ) (Token id:Id.Lit_Chars val:'      ' span_id:671)
                              ) (DQ ($ Id.VSub_DollarName '$ltdll_cmds')) 
                              (SQ (Token id:Id.Lit_Chars val:'\n' span_id:677) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '      $CC -Wl,--base-file,$output_objdir/$soname-base '
                                  span_id: 678
                                )
                              ) ($ Id.VSub_DollarName '$lt_cv_cc_dll_switch') (SQ (Token id:Id.Lit_Chars val:' -Wl,-e,' span_id:682)) 
                              ($ Id.VSub_DollarName '$dll_entry') (SQ (Token id:Id.Lit_Chars val:' -o $output_objdir/$soname ' span_id:686)) 
                              ($ Id.VSub_DollarName '$ltdll_obj') 
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '$libobjs $deplibs $compiler_flags~\n'
                                  span_id: 690
                                ) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '
                                  span_id: 691
                                )
                              ) ($ Id.VSub_DollarName '$dll_exclude_symbols') 
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~\n'
                                  span_id: 695
                                ) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'      $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '
                                  span_id: 696
                                )
                              ) ($ Id.VSub_DollarName '$lt_cv_cc_dll_switch') (SQ (Token id:Id.Lit_Chars val:' -Wl,-e,' span_id:700)) 
                              ($ Id.VSub_DollarName '$dll_entry') (SQ (Token id:Id.Lit_Chars val:' -o $output_objdir/$soname ' span_id:704)) 
                              ($ Id.VSub_DollarName '$ltdll_obj') 
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: '$libobjs $deplibs $compiler_flags~\n'
                                  span_id: 708
                                ) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '
                                  span_id: 709
                                )
                              ) ($ Id.VSub_DollarName '$dll_exclude_symbols') 
                              (SQ 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~\n'
                                  span_id: 713
                                ) (Token id:Id.Lit_Chars val:'      $CC $output_objdir/$soname-exp ' span_id:714)
                              ) ($ Id.VSub_DollarName '$lt_cv_cc_dll_switch') (SQ (Token id:Id.Lit_Chars val:' -Wl,-e,' span_id:718)) 
                              ($ Id.VSub_DollarName '$dll_entry') (SQ (Token id:Id.Lit_Chars val:' -o $output_objdir/$soname ' span_id:722)) 
                              ($ Id.VSub_DollarName '$ltdll_obj') (SQ (Token id:Id.Lit_Chars val:'$libobjs $deplibs $compiler_flags' span_id:726))
                            }
                          spids: [655]
                        )
                      ]
                    )
                  ]
                  spids: [390 397 730 -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:allow_undefined_flag)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:'-undefined suppress' span_id:746))}
                          spids: [744]
                        )
                      ]
                    )
                    (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 `test .$module = .yes && echo -bundle || echo -dynamiclib` $allow_undefined_flag -o $lib $libobjs $deplibs $linkopts -install_name $rpath/$soname `test -n "$verstring" -a x$verstring != x0.0 && echo $verstring`'
                                  span_id: 752
                                )
                              )
                            }
                          spids: [750]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_direct)
                          op: assign_op.Equal
                          rhs: {(yes)}
                          spids: [764]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [768]
                        )
                      ]
                    )
                    (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:'-all_load $convenience' span_id:774))}
                          spids: [772]
                        )
                      ]
                    )
                  ]
                  spids: [734 741 778 -1]
                )
                (case_arm
                  pat_list: [{(netbsd) (Id.Lit_Star '*')}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  children: [
                                    (C {(echo)} {(__ELF__)})
                                    (C {($ Id.VSub_DollarName '$CC')} {(-E)} {(-)})
                                    (command.Simple
                                      words: [{(grep)} {(__ELF__)}]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:807)
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:809)
                            )
                          ]
                          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 -Bshareable $libobjs $deplibs $linker_flags -o $lib'
                                          span_id: 816
                                        )
                                      )
                                    }
                                  spids: [814]
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:wlarc)
                                  op: assign_op.Equal
                                  rhs: (word.Empty)
                                  spids: [820]
                                )
                              ]
                            )
                          ]
                          spids: [787 811]
                        )
                      ]
                      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 -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
                                      span_id: 828
                                    )
                                  )
                                }
                              spids: [826]
                            )
                          ]
                        )
                        (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 -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
                                      span_id: 834
                                    )
                                  )
                                }
                              spids: [832]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [782 784 841 -1]
                )
                (case_arm
                  pat_list: [{(solaris) (Id.Lit_Star '*')} {(sysv5) (Id.Lit_Star '*')}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  children: [
                                    (command.Simple
                                      words: [{($ Id.VSub_DollarName '$LD')} {(-v)}]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:861)
                                          fd: 2
                                          arg_word: {(1)}
                                        )
                                      ]
                                    )
                                    (command.Simple
                                      words: [
                                        {(egrep)}
                                        {(SQ (Token id:Id.Lit_Chars val:'BFD 2\\.8' span_id:869))}
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:872)
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:875)
                            )
                          ]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:ld_shlibs)
                                  op: assign_op.Equal
                                  rhs: {(no)}
                                  spids: [880]
                                )
                              ]
                            )
                            (command.Simple
                              words: [{(cat)}]
                              redirects: [
                                (redir.HereDoc
                                  op: (Token id:Id.Redir_DLess val:'<<' span_id:886)
                                  fd: -1
                                  here_begin: {(EOF)}
                                  here_end_span_id: 901
                                  stdin_parts: [
                                    ('\n')
                                    (
'*** Warning: The releases 2.8.* of the GNU linker cannot reliably\n'
                                    )
                                    (
'*** create shared libraries on Solaris systems.  Therefore, libtool\n'
                                    )
                                    (
'*** is disabling shared libraries support.  We urge you to upgrade GNU\n'
                                    )
                                    (
'*** binutils to release 2.9.1 or newer.  Another option is to modify\n'
                                    )
                                    (
'*** your PATH or compiler configuration so that the native linker is\n'
                                    )
                                    ('*** used, and then restart.\n')
                                    ('\n')
                                  ]
                                )
                                (redir.Redir
                                  op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:889)
                                  fd: 1
                                  arg_word: {(2)}
                                )
                              ]
                            )
                          ]
                          spids: [855 877]
                        )
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  children: [
                                    (command.Simple
                                      words: [{($ Id.VSub_DollarName '$LD')} {(--help)}]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:909)
                                          fd: 2
                                          arg_word: {(1)}
                                        )
                                      ]
                                    )
                                    (command.Simple
                                      words: [
                                        {(egrep)}
                                        {
                                          (SQ 
                                            (Token
                                              id: Id.Lit_Chars
                                              val: ': supported targets:.* elf'
                                              span_id: 917
                                            )
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:920)
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:923)
                            )
                          ]
                          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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
                                          span_id: 930
                                        )
                                      )
                                    }
                                  spids: [928]
                                )
                              ]
                            )
                            (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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
                                          span_id: 936
                                        )
                                      )
                                    }
                                  spids: [934]
                                )
                              ]
                            )
                          ]
                          spids: [903 925]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ld_shlibs)
                              op: assign_op.Equal
                              rhs: {(no)}
                              spids: [943]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [845 852 950 -1]
                )
                (case_arm
                  pat_list: [{(sunos4) (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 -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
                                  span_id: 961
                                )
                              )
                            }
                          spids: [959]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:wlarc)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [965]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_direct)
                          op: assign_op.Equal
                          rhs: {(yes)}
                          spids: [968]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [972]
                        )
                      ]
                    )
                  ]
                  spids: [954 956 976 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (command.Pipeline
                                  children: [
                                    (command.Simple
                                      words: [{($ Id.VSub_DollarName '$LD')} {(--help)}]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:990)
                                          fd: 2
                                          arg_word: {(1)}
                                        )
                                      ]
                                    )
                                    (command.Simple
                                      words: [
                                        {(egrep)}
                                        {
                                          (SQ 
                                            (Token
                                              id: Id.Lit_Chars
                                              val: ': supported targets:.* elf'
                                              span_id: 998
                                            )
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (redir.Redir
                                          op: (Token id:Id.Redir_Great val:'>' span_id:1001)
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:1004)
                            )
                          ]
                          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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
                                          span_id: 1011
                                        )
                                      )
                                    }
                                  spids: [1009]
                                )
                              ]
                            )
                            (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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
                                          span_id: 1017
                                        )
                                      )
                                    }
                                  spids: [1015]
                                )
                              ]
                            )
                          ]
                          spids: [984 1006]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ld_shlibs)
                              op: assign_op.Equal
                              rhs: {(no)}
                              spids: [1024]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [980 981 1031 -1]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(test)} {(DQ ($ Id.VSub_DollarName '$ld_shlibs'))} {(Id.Lit_Equals '=')} 
                          {(yes)}
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:1049)
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:runpath_var)
                          op: assign_op.Equal
                          rhs: {(LD_RUN_PATH)}
                          spids: [1054]
                        )
                      ]
                    )
                    (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: 1060
                                )
                              )
                            }
                          spids: [1058]
                        )
                      ]
                    )
                    (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:1066))}
                          spids: [1064]
                        )
                      ]
                    )
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$host_os')}
                      arms: [
                        (case_arm
                          pat_list: [{(cygwin) (Id.Lit_Star '*')} {(mingw) (Id.Lit_Star '*')}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:whole_archive_flag_spec)
                                  op: assign_op.Equal
                                  rhs: (word.Empty)
                                  spids: [1091]
                                )
                              ]
                            )
                          ]
                          spids: [1077 1084 1094 -1]
                        )
                        (case_arm
                          pat_list: [{(Id.Lit_Star '*')}]
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: [
                                    (command.Sentence
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (command.Simple
                                              words: [{($ Id.VSub_DollarName '$LD')} {(--help)}]
                                              redirects: [
                                                (redir.Redir
                                                  op: 
                                                    (Token
                                                      id: Id.Redir_GreatAnd
                                                      val: '2>&'
                                                      span_id: 1111
                                                    )
                                                  fd: 2
                                                  arg_word: {(1)}
                                                )
                                              ]
                                            )
                                            (command.Simple
                                              words: [
                                                {(egrep)}
                                                {
                                                  (SQ 
                                                    (Token
                                                      id: Id.Lit_Chars
                                                      val: no-whole-archive
                                                      span_id: 1119
                                                    )
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (redir.Redir
                                                  op: (Token id:Id.Redir_Great val:'>' span_id:1122)
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                )
                                              ]
                                            )
                                          ]
                                          negated: F
                                        )
                                      terminator: (Token id:Id.Op_Semi val:';' span_id:1125)
                                    )
                                  ]
                                  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: 1135
                                                )
                                              ) (DQ ($ Id.VSub_DollarName '$wlarc')) (SQ (Token id:Id.Lit_Chars val:--no-whole-archive span_id:1141))
                                            }
                                          spids: [1130]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1105 1127]
                                )
                              ]
                              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: [1148]
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                          spids: [1097 1098 1154 -1]
                        )
                      ]
                    )
                  ]
                  spids: [1038 1051]
                )
              ]
            )
          ]
          spids: [171 184]
        )
      ]
      else_action: [
        (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:allow_undefined_flag)
                      op: assign_op.Equal
                      rhs: {(unsupported)}
                      spids: [1181]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:always_export_symbols)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [1185]
                    )
                  ]
                )
                (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: 
'$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
                              span_id: 1191
                            )
                          )
                        }
                      spids: [1189]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_minus_L)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [1203]
                    )
                  ]
                )
                (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)} {(-z)} {(DQ ($ Id.VSub_DollarName '$link_static_flag'))})
                              ]
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:1228)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:hardcode_direct)
                              op: assign_op.Equal
                              rhs: {(unsupported)}
                              spids: [1241]
                            )
                          ]
                        )
                      ]
                      spids: [1207 1230]
                    )
                  ]
                )
              ]
              spids: [1176 1178 1248 -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:hardcode_direct)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [1262]
                    )
                  ]
                )
                (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:1268))}
                      spids: [1266]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:link_all_deplibs)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [1272]
                    )
                  ]
                )
                (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:1307)
                        )
                      ]
                      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: 1341
                                              )
                                            command_list: 
                                              (command.CommandList
                                                children: [
                                                  (C {(${ Id.VSub_Name CC)} 
                                                    {(-print-prog-name) (Id.Lit_Equals '=') (collect2)}
                                                  )
                                                ]
                                              )
                                          )
                                        }
                                      spids: [1340]
                                    )
                                  ]
                                )
                                (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: 1380
                                                        )
                                                      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: [1391]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [1354 1384]
                                    )
                                  ]
                                  else_action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:hardcode_direct)
                                          op: assign_op.Equal
                                          rhs: {(unsupported)}
                                          spids: [1402]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:hardcode_minus_L)
                                          op: assign_op.Equal
                                          rhs: {(yes)}
                                          spids: [1418]
                                        )
                                      ]
                                    )
                                    (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: 1424
                                                )
                                              )
                                            }
                                          spids: [1422]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                                          op: assign_op.Equal
                                          rhs: (word.Empty)
                                          spids: [1428]
                                        )
                                      ]
                                    )
                                  ]
                                )
                              ]
                              spids: [1318 1329 -1 1434]
                            )
                          ]
                        )
                        (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:1439))}
                              spids: [1437]
                            )
                          ]
                        )
                      ]
                      spids: [1296 1309]
                    )
                  ]
                  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:1461)
                            )
                          ]
                          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:1468))}
                                  spids: [1466]
                                )
                              ]
                            )
                          ]
                          spids: [1450 1463]
                        )
                      ]
                      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:1477))}
                              spids: [1475]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                )
                (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:1499)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:aix_use_runtimelinking)
                              op: assign_op.Equal
                              rhs: {(no)}
                              spids: [1512]
                            )
                          ]
                        )
                        (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:1525)
                                )
                              ]
                              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:1532))}
                                      spids: [1530]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:no_entry_flag)
                                      op: assign_op.Equal
                                      rhs: {(DQ )}
                                      spids: [1536]
                                    )
                                  ]
                                )
                              ]
                              spids: [1516 1527]
                            )
                          ]
                        )
                      ]
                      spids: [1488 1501]
                    )
                  ]
                  else_action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:aix_use_runtimelinking)
                          op: assign_op.Equal
                          rhs: {(no)}
                          spids: [1555]
                        )
                      ]
                    )
                    (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:1597)
                                    )
                                  ]
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:aix_use_runtimelinking)
                                          op: assign_op.Equal
                                          rhs: {(yes)}
                                          spids: [1602]
                                        )
                                      ]
                                    )
                                    (command.ControlFlow
                                      token: (Token id:Id.ControlFlow_Break val:break span_id:1606)
                                    )
                                  ]
                                  spids: [1571 1599]
                                )
                              ]
                            )
                          ]
                        )
                    )
                    (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:1617))}
                          spids: [1615]
                        )
                      ]
                    )
                    (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:1623))}
                          spids: [1621]
                        )
                      ]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:always_export_symbols)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [1634]
                    )
                  ]
                )
                (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:1649)
                        )
                      ]
                      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}-berok' span_id:1664))}
                              spids: [1662]
                            )
                          ]
                        )
                        (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: 1670
                                    )
                                  )
                                }
                              spids: [1668]
                            )
                          ]
                        )
                        (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:1676)
                                    ) ('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: 1681
                                    )
                                  ) 
                                  (DQ 
                                    (word_part.EscapedLiteral
                                      token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:1684)
                                    ) ('{wl}') ($ Id.VSub_DollarName '$no_entry_flag') (' ') 
                                    (word_part.EscapedLiteral
                                      token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:1688)
                                    ) ('{wl}') ($ Id.VSub_DollarName '$exp_sym_flag') (':') 
                                    (word_part.EscapedLiteral
                                      token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:1692)
                                    ) (export_symbols)
                                  )
                                }
                              spids: [1674]
                            )
                          ]
                        )
                      ]
                      spids: [1638 1651]
                    )
                  ]
                  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:1711)
                            )
                          ]
                          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:1725)
                                    )
                                  ]
                                  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: 1732
                                                )
                                              )
                                            }
                                          spids: [1730]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                                          op: assign_op.Equal
                                          rhs: {(DQ ('-z nodefs'))}
                                          spids: [1736]
                                        )
                                      ]
                                    )
                                    (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: 1744
                                                    )
                                                ) ('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: 1749
                                                )
                                              ) 
                                              (DQ 
                                                (word_part.EscapedLiteral
                                                  token: 
                                                    (Token
                                                      id: Id.Lit_EscapedChar
                                                      val: '\\$'
                                                      span_id: 1752
                                                    )
                                                ) ('{wl}') ($ Id.VSub_DollarName '$no_entry_flag') (' ') 
                                                (word_part.EscapedLiteral
                                                  token: 
                                                    (Token
                                                      id: Id.Lit_EscapedChar
                                                      val: '\\$'
                                                      span_id: 1756
                                                    )
                                                ) ('{wl}') ($ Id.VSub_DollarName '$exp_sym_flag') (':') 
                                                (word_part.EscapedLiteral
                                                  token: 
                                                    (Token
                                                      id: Id.Lit_EscapedChar
                                                      val: '\\$'
                                                      span_id: 1760
                                                    )
                                                ) (export_symbols)
                                              )
                                            }
                                          spids: [1742]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [1716 1727]
                                )
                              ]
                            )
                          ]
                          spids: [1700 1713]
                        )
                      ]
                      else_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}-berok' span_id:1773))}
                              spids: [1771]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:always_export_symbols)
                              op: assign_op.Equal
                              rhs: {(yes)}
                              spids: [1781]
                            )
                          ]
                        )
                        (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:1791))}
                              spids: [1789]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:build_libtool_need_lc)
                              op: assign_op.Equal
                              rhs: {(yes)}
                              spids: [1795]
                            )
                          ]
                        )
                        (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: 1801
                                    )
                                  )
                                }
                              spids: [1799]
                            )
                          ]
                        )
                        (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:1811)
                                    ) ('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: 1816
                                    )
                                  )
                                }
                              spids: [1809]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                )
              ]
              spids: [1252 1259 1826 -1]
            )
            (case_arm
              pat_list: [{(amigaos) (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/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
                              span_id: 1837
                            )
                          )
                        }
                      spids: [1835]
                    )
                  ]
                )
                (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:1843))}
                      spids: [1841]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_minus_L)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [1847]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:ld_shlibs)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [1855]
                    )
                  ]
                )
              ]
              spids: [1830 1832 1859 -1]
            )
            (case_arm
              pat_list: [{(cygwin) (Id.Lit_Star '*')} {(mingw) (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:' ' span_id:1891))}
                      spids: [1889]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                      op: assign_op.Equal
                      rhs: {(unsupported)}
                      spids: [1895]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:libext)
                      op: assign_op.Equal
                      rhs: {(lib)}
                      spids: [1903]
                    )
                  ]
                )
                (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 -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '
                              span_id: 1913
                            )
                          ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1915)) 
                          (SQ (Token id:Id.Lit_Chars val:'s/ -lc$//' span_id:1917)) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:"\\'" span_id:1919)) 
                          (SQ (Token id:Id.Lit_Chars val:'` -link -dll~linknames=' span_id:1921))
                        }
                      spids: [1911]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:old_archive_from_new_cmds)
                      op: assign_op.Equal
                      rhs: {(SQ (Token id:Id.Lit_Chars val:true span_id:1931))}
                      spids: [1929]
                    )
                  ]
                )
                (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: 'lib /OUT:$oldlib$oldobjs$old_deplibs'
                              span_id: 1941
                            )
                          )
                        }
                      spids: [1939]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:fix_srcfile_path)
                      op: assign_op.Equal
                      rhs: {(SQ (Token id:Id.Lit_Chars val:'`cygpath -w "$srcfile"`' span_id:1947))}
                      spids: [1945]
                    )
                  ]
                )
              ]
              spids: [1863 1870 1951 -1]
            )
            (case_arm
              pat_list: [{(freebsd1) (Id.Lit_Star '*')}]
              action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:ld_shlibs)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [1960]
                    )
                  ]
                )
              ]
              spids: [1955 1957 1964 -1]
            )
            (case_arm
              pat_list: [{(freebsd2.2) (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 -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
                              span_id: 1991
                            )
                          )
                        }
                      spids: [1989]
                    )
                  ]
                )
                (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:1997))}
                      spids: [1995]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_direct)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2001]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2005]
                    )
                  ]
                )
              ]
              spids: [1984 1986 2009 -1]
            )
            (case_arm
              pat_list: [{(freebsd2) (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 -Bshareable -o $lib $libobjs $deplibs $linker_flags'
                              span_id: 2024
                            )
                          )
                        }
                      spids: [2022]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_direct)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2028]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_minus_L)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2032]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2036]
                    )
                  ]
                )
              ]
              spids: [2017 2019 2040 -1]
            )
            (case_arm
              pat_list: [{(freebsd) (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 -o $lib $libobjs $deplibs $compiler_flags'
                              span_id: 2055
                            )
                          )
                        }
                      spids: [2053]
                    )
                  ]
                )
                (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:2061))}
                      spids: [2059]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_direct)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2065]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2069]
                    )
                  ]
                )
              ]
              spids: [2048 2050 2073 -1]
            )
            (case_arm
              pat_list: [
                {(hpux9) (Id.Lit_Star '*')}
                {(hpux10) (Id.Lit_Star '*')}
                {(hpux11) (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:hardcode_direct)
                              op: assign_op.Equal
                              rhs: {(no)}
                              spids: [2106]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                              op: assign_op.Equal
                              rhs: {(no)}
                              spids: [2110]
                            )
                          ]
                        )
                        (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 $libobjs $deplibs $linker_flags'
                                      span_id: 2116
                                    )
                                  )
                                }
                              spids: [2114]
                            )
                          ]
                        )
                        (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:2122))}
                              spids: [2120]
                            )
                          ]
                        )
                      ]
                      spids: [2101 2103 2125 -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:2141)
                                )
                              ]
                              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 -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
                                                      span_id: 2161
                                                    )
                                                  )
                                                }
                                              spids: [2159]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [2155 2157 2164 -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 -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
                                                      span_id: 2172
                                                    )
                                                  )
                                                }
                                              spids: [2170]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [2167 2168 2175 -1]
                                    )
                                  ]
                                )
                              ]
                              spids: [2132 2143]
                            )
                          ]
                          else_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~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
                                                  span_id: 2197
                                                )
                                              )
                                            }
                                          spids: [2195]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [2191 2193 2200 -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: 
'$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
                                                  span_id: 2208
                                                )
                                              )
                                            }
                                          spids: [2206]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [2203 2204 2211 -1]
                                )
                              ]
                            )
                          ]
                        )
                        (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:2222))}
                              spids: [2220]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                              op: assign_op.Equal
                              rhs: {(Id.Lit_Other ':')}
                              spids: [2226]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:hardcode_minus_L)
                              op: assign_op.Equal
                              rhs: {(yes)}
                              spids: [2230]
                            )
                          ]
                        )
                      ]
                      spids: [2128 2129 2241 -1]
                    )
                  ]
                )
                (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:2249))}
                      spids: [2247]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_direct)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2253]
                    )
                  ]
                )
              ]
              spids: [2077 2089 2257 -1]
            )
            (case_arm
              pat_list: [{(irix5) (Id.Lit_Star '*')} {(irix6) (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:2282)
                        )
                      ]
                      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 $libobjs $deplibs $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: 2289
                                    )
                                  )
                                }
                              spids: [2287]
                            )
                          ]
                        )
                      ]
                      spids: [2271 2284]
                    )
                  ]
                  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: 
'$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
                                  span_id: 2298
                                )
                              )
                            }
                          spids: [2296]
                        )
                      ]
                    )
                  ]
                )
                (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:2307))}
                      spids: [2305]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                      op: assign_op.Equal
                      rhs: {(Id.Lit_Other ':')}
                      spids: [2311]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:link_all_deplibs)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2315]
                    )
                  ]
                )
              ]
              spids: [2261 2268 2319 -1]
            )
            (case_arm
              pat_list: [{(netbsd) (Id.Lit_Star '*')}]
              action: [
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [
                                (C {(echo)} {(__ELF__)})
                                (C {($ Id.VSub_DollarName '$CC')} {(-E)} {(-)})
                                (command.Simple
                                  words: [{(grep)} {(__ELF__)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:2348)
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                              negated: F
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:2350)
                        )
                      ]
                      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 -Bshareable -o $lib $libobjs $deplibs $linker_flags'
                                      span_id: 2357
                                    )
                                  )
                                }
                              spids: [2355]
                            )
                          ]
                        )
                      ]
                      spids: [2328 2352]
                    )
                  ]
                  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: '$LD -shared -o $lib $libobjs $deplibs $linker_flags'
                                  span_id: 2369
                                )
                              )
                            }
                          spids: [2367]
                        )
                      ]
                    )
                  ]
                )
                (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:2381))}
                      spids: [2379]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_direct)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2385]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2389]
                    )
                  ]
                )
              ]
              spids: [2323 2325 2393 -1]
            )
            (case_arm
              pat_list: [{(newsos6)}]
              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 -G -h $soname -o $lib $libobjs $deplibs $linkopts'
                              span_id: 2403
                            )
                          )
                        }
                      spids: [2401]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_direct)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2407]
                    )
                  ]
                )
                (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:2413))}
                      spids: [2411]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                      op: assign_op.Equal
                      rhs: {(Id.Lit_Other ':')}
                      spids: [2417]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2421]
                    )
                  ]
                )
              ]
              spids: [2397 2398 2425 -1]
            )
            (case_arm
              pat_list: [{(openbsd) (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 -Bshareable -o $lib $libobjs $deplibs $linker_flags'
                              span_id: 2436
                            )
                          )
                        }
                      spids: [2434]
                    )
                  ]
                )
                (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:2442))}
                      spids: [2440]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_direct)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2446]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2450]
                    )
                  ]
                )
              ]
              spids: [2429 2431 2454 -1]
            )
            (case_arm
              pat_list: [{(os2) (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:2465))}
                      spids: [2463]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_minus_L)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2469]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                      op: assign_op.Equal
                      rhs: {(unsupported)}
                      spids: [2473]
                    )
                  ]
                )
                (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: 
'$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \\"$libname\\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
                              span_id: 2479
                            )
                          )
                        }
                      spids: [2477]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:old_archive_from_new_cmds)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (SQ 
                            (Token
                              id: Id.Lit_Chars
                              val: 'emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
                              span_id: 2485
                            )
                          )
                        }
                      spids: [2483]
                    )
                  ]
                )
              ]
              spids: [2458 2460 2489 -1]
            )
            (case_arm
              pat_list: [{(osf3) (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:2509)
                        )
                      ]
                      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: 2516
                                    )
                                  )
                                }
                              spids: [2514]
                            )
                          ]
                        )
                        (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} $libobjs $deplibs $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: 2522
                                    )
                                  )
                                }
                              spids: [2520]
                            )
                          ]
                        )
                      ]
                      spids: [2498 2511]
                    )
                  ]
                  else_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:2531))}
                          spids: [2529]
                        )
                      ]
                    )
                    (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 -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
                                  span_id: 2537
                                )
                              )
                            }
                          spids: [2535]
                        )
                      ]
                    )
                  ]
                )
                (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:2546))}
                      spids: [2544]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                      op: assign_op.Equal
                      rhs: {(Id.Lit_Other ':')}
                      spids: [2550]
                    )
                  ]
                )
              ]
              spids: [2493 2495 2554 -1]
            )
            (case_arm
              pat_list: [{(osf4) (Id.Lit_Star '*')} {(osf5) (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:2582)
                        )
                      ]
                      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: 2589
                                    )
                                  )
                                }
                              spids: [2587]
                            )
                          ]
                        )
                        (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} $libobjs $deplibs $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: 2595
                                    )
                                  )
                                }
                              spids: [2593]
                            )
                          ]
                        )
                        (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: 2601
                                    )
                                  )
                                }
                              spids: [2599]
                            )
                          ]
                        )
                      ]
                      spids: [2571 2584]
                    )
                  ]
                  else_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:2610))}
                          spids: [2608]
                        )
                      ]
                    )
                    (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 -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
                                  span_id: 2616
                                )
                              )
                            }
                          spids: [2614]
                        )
                      ]
                    )
                    (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; echo "-hidden">> $lib.exp~\n'
                                  span_id: 2622
                                ) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'      $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
                                  span_id: 2623
                                )
                              )
                            }
                          spids: [2620]
                        )
                      ]
                    )
                    (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:2634))}
                          spids: [2632]
                        )
                      ]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_libdir_separator)
                      op: assign_op.Equal
                      rhs: {(Id.Lit_Other ':')}
                      spids: [2641]
                    )
                  ]
                )
              ]
              spids: [2558 2565 2645 -1]
            )
            (case_arm
              pat_list: [{(sco3.2v5) (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 -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
                              span_id: 2656
                            )
                          )
                        }
                      spids: [2654]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2660]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:runpath_var)
                      op: assign_op.Equal
                      rhs: {(LD_RUN_PATH)}
                      spids: [2664]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_runpath_var)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2668]
                    )
                  ]
                )
              ]
              spids: [2649 2651 2672 -1]
            )
            (case_arm
              pat_list: [{(solaris) (Id.Lit_Star '*')}]
              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:' -z defs' span_id:2683))}
                      spids: [2681]
                    )
                  ]
                )
                (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:2698)
                        )
                      ]
                      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 ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $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 -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
                                      span_id: 2712
                                    )
                                  )
                                }
                              spids: [2709]
                            )
                          ]
                        )
                      ]
                      spids: [2687 2700]
                    )
                  ]
                  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: 
'$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
                                  span_id: 2721
                                )
                              )
                            }
                          spids: [2719]
                        )
                      ]
                    )
                    (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: 2727
                                ) 
                                (Token
                                  id: Id.Lit_Chars
                                  val: 
'\t\t  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
                                  span_id: 2728
                                )
                              )
                            }
                          spids: [2725]
                        )
                      ]
                    )
                  ]
                )
                (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:2737))}
                      spids: [2735]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2741]
                    )
                  ]
                )
                (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: [2752 2765 2767 -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: '-z allextract$convenience -z defaultextract'
                                      span_id: 2779
                                    )
                                  )
                                }
                              spids: [2777]
                            )
                          ]
                        )
                      ]
                      spids: [2770 2771 2782 -1]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:link_all_deplibs)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2788]
                    )
                  ]
                )
              ]
              spids: [2676 2678 2792 -1]
            )
            (case_arm
              pat_list: [{(sunos4) (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 -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
                              span_id: 2803
                            )
                          )
                        }
                      spids: [2801]
                    )
                  ]
                )
                (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:2809))}
                      spids: [2807]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_direct)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2813]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_minus_L)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [2817]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2821]
                    )
                  ]
                )
              ]
              spids: [2796 2798 2825 -1]
            )
            (case_arm
              pat_list: [{(sysv4)}]
              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 -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
                              span_id: 2835
                            )
                          )
                        }
                      spids: [2833]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:runpath_var)
                      op: assign_op.Equal
                      rhs: {(SQ (Token id:Id.Lit_Chars val:LD_RUN_PATH span_id:2841))}
                      spids: [2839]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2845]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_direct)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2849]
                    )
                  ]
                )
              ]
              spids: [2829 2830 2856 -1]
            )
            (case_arm
              pat_list: [{(sysv4.3) (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 -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
                              span_id: 2867
                            )
                          )
                        }
                      spids: [2865]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2871]
                    )
                  ]
                )
                (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:-Bexport span_id:2877))}
                      spids: [2875]
                    )
                  ]
                )
              ]
              spids: [2860 2862 2881 -1]
            )
            (case_arm
              pat_list: [{(sysv5) (Id.Lit_Star '*')}]
              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:' -z text' span_id:2892))}
                      spids: [2890]
                    )
                  ]
                )
                (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 -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
                              span_id: 2906
                            )
                          )
                        }
                      spids: [2904]
                    )
                  ]
                )
                (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: 2912
                            ) 
                            (Token
                              id: Id.Lit_Chars
                              val: 
'\t\t$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
                              span_id: 2913
                            )
                          )
                        }
                      spids: [2910]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_libdir_flag_spec)
                      op: assign_op.Equal
                      rhs: (word.Empty)
                      spids: [2917]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2920]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:runpath_var)
                      op: assign_op.Equal
                      rhs: {(SQ (Token id:Id.Lit_Chars val:LD_RUN_PATH span_id:2926))}
                      spids: [2924]
                    )
                  ]
                )
              ]
              spids: [2885 2887 2930 -1]
            )
            (case_arm
              pat_list: [{(uts4) (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 -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
                              span_id: 2941
                            )
                          )
                        }
                      spids: [2939]
                    )
                  ]
                )
                (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:2947))}
                      spids: [2945]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2951]
                    )
                  ]
                )
              ]
              spids: [2934 2936 2955 -1]
            )
            (case_arm
              pat_list: [{(dgux) (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 -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
                              span_id: 2966
                            )
                          )
                        }
                      spids: [2964]
                    )
                  ]
                )
                (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:2972))}
                      spids: [2970]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [2976]
                    )
                  ]
                )
              ]
              spids: [2959 2961 2980 -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:2998)
                        )
                      ]
                      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 -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
                                      span_id: 3005
                                    )
                                  )
                                }
                              spids: [3003]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                              op: assign_op.Equal
                              rhs: {(no)}
                              spids: [3009]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:runpath_var)
                              op: assign_op.Equal
                              rhs: {(LD_RUN_PATH)}
                              spids: [3013]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:hardcode_runpath_var)
                              op: assign_op.Equal
                              rhs: {(yes)}
                              spids: [3017]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ld_shlibs)
                              op: assign_op.Equal
                              rhs: {(yes)}
                              spids: [3021]
                            )
                          ]
                        )
                      ]
                      spids: [2991 3000]
                    )
                  ]
                )
              ]
              spids: [2984 2988 3028 -1]
            )
            (case_arm
              pat_list: [{(sysv4.2uw2) (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 -G -o $lib $libobjs $deplibs $linker_flags'
                              span_id: 3039
                            )
                          )
                        }
                      spids: [3037]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_direct)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [3043]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_minus_L)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [3047]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [3051]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_runpath_var)
                      op: assign_op.Equal
                      rhs: {(yes)}
                      spids: [3055]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:runpath_var)
                      op: assign_op.Equal
                      rhs: {(LD_RUN_PATH)}
                      spids: [3059]
                    )
                  ]
                )
              ]
              spids: [3032 3034 3063 -1]
            )
            (case_arm
              pat_list: [{(sysv5uw7) (Id.Lit_Star '*')} {(unixware7) (Id.Lit_Star '*')}]
              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}text' span_id:3079))}
                      spids: [3077]
                    )
                  ]
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (C {(test)} {(DQ ($ Id.VSub_DollarName '$GCC'))} {(Id.Lit_Equals '=')} 
                              {(yes)}
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:3094)
                        )
                      ]
                      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 ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
                                      span_id: 3101
                                    )
                                  )
                                }
                              spids: [3099]
                            )
                          ]
                        )
                      ]
                      spids: [3083 3096]
                    )
                  ]
                  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 ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
                                  span_id: 3110
                                )
                              )
                            }
                          spids: [3108]
                        )
                      ]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:runpath_var)
                      op: assign_op.Equal
                      rhs: {(SQ (Token id:Id.Lit_Chars val:LD_RUN_PATH span_id:3119))}
                      spids: [3117]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:hardcode_shlibpath_var)
                      op: assign_op.Equal
                      rhs: {(no)}
                      spids: [3123]
                    )
                  ]
                )
              ]
              spids: [3067 3074 3127 -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: [3135]
                    )
                  ]
                )
              ]
              spids: [3131 3132 3139 -1]
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(test)} 
                  {
                    (DQ (X) 
                      (braced_var_sub
                        token: (Token id:Id.VSub_Name val:ac_cv_prog_cc_pic span_id:3157)
                        suffix_op: (suffix_op.Unary op_id:Id.VTest_Plus arg_word:{(set)})
                      )
                    )
                  } {(Id.Lit_Equals '=')} {(Xset)}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:3166)
            )
          ]
          action: [(C {(Id.Lit_Other ':')})]
          spids: [3150 3168]
        )
      ]
      else_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: [3176]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_shlib)
              op: assign_op.Equal
              rhs: (word.Empty)
              spids: [3179]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_wl)
              op: assign_op.Equal
              rhs: (word.Empty)
              spids: [3182]
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_static)
              op: assign_op.Equal
              rhs: (word.Empty)
              spids: [3185]
            )
          ]
        )
        (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: [3188]
            )
          ]
        )
        (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: [3191]
            )
          ]
        )
        (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:3207)
                )
              ]
              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:3214))}
                      spids: [3212]
                    )
                  ]
                )
                (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:3220))}
                      spids: [3218]
                    )
                  ]
                )
                (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:3252)
                                )
                              ]
                              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:3263))}
                                      spids: [3261]
                                    )
                                  ]
                                )
                              ]
                              spids: [3241 3254]
                            )
                          ]
                          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: 3272
                                        )
                                      )
                                    }
                                  spids: [3270]
                                )
                              ]
                            )
                          ]
                        )
                      ]
                      spids: [3232 3234 3279 -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: 3301
                                    )
                                  )
                                }
                              spids: [3299]
                            )
                          ]
                        )
                      ]
                      spids: [3282 3284 3305 -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: [3308 3335 3342 -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:3370))}
                              spids: [3368]
                            )
                          ]
                        )
                      ]
                      spids: [3345 3357 3374 -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:3397))}
                              spids: [3395]
                            )
                          ]
                        )
                      ]
                      spids: [3377 3384 3401 -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: [3414]
                            )
                          ]
                        )
                      ]
                      spids: [3404 3407 3417 -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:3434)
                                )
                              ]
                              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: [3439]
                                    )
                                  ]
                                )
                              ]
                              spids: [3427 3436]
                            )
                          ]
                        )
                      ]
                      spids: [3420 3424 3446 -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:3455))}
                              spids: [3453]
                            )
                          ]
                        )
                      ]
                      spids: [3449 3450 3459 -1]
                    )
                  ]
                )
              ]
              spids: [3196 3209]
            )
          ]
          else_action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(aix) (Id.Lit_Star '*')}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_static)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName '$ac_cv_prog_cc_static') (' ') 
                                (${ Id.VSub_Name ac_cv_prog_cc_wl) (-lC)
                              )
                            }
                          spids: [3488]
                        )
                      ]
                    )
                  ]
                  spids: [3479 3481 3499 -1]
                )
                (case_arm
                  pat_list: [
                    {(hpux9) (Id.Lit_Star '*')}
                    {(hpux10) (Id.Lit_Star '*')}
                    {(hpux11) (Id.Lit_Star '*')}
                  ]
                  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:3524))}
                          spids: [3522]
                        )
                      ]
                    )
                    (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: [3528]
                        )
                      ]
                    )
                    (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:3543))}
                          spids: [3541]
                        )
                      ]
                    )
                  ]
                  spids: [3503 3515 3547 -1]
                )
                (case_arm
                  pat_list: [{(irix5) (Id.Lit_Star '*')} {(irix6) (Id.Lit_Star '*')}]
                  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:3563))}
                          spids: [3561]
                        )
                      ]
                    )
                    (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:3569))}
                          spids: [3567]
                        )
                      ]
                    )
                  ]
                  spids: [3551 3558 3577 -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:3606))}
                          spids: [3604]
                        )
                      ]
                    )
                  ]
                  spids: [3581 3593 3610 -1]
                )
                (case_arm
                  pat_list: [{(newsos6)}]
                  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:3620))}
                          spids: [3618]
                        )
                      ]
                    )
                    (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:3626))}
                          spids: [3624]
                        )
                      ]
                    )
                  ]
                  spids: [3614 3615 3630 -1]
                )
                (case_arm
                  pat_list: [
                    {(osf3) (Id.Lit_Star '*')}
                    {(osf4) (Id.Lit_Star '*')}
                    {(osf5) (Id.Lit_Star '*')}
                  ]
                  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:3655))}
                          spids: [3653]
                        )
                      ]
                    )
                    (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:3661))}
                          spids: [3659]
                        )
                      ]
                    )
                  ]
                  spids: [3634 3646 3665 -1]
                )
                (case_arm
                  pat_list: [{(sco3.2v5) (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:-Kpic span_id:3676))}
                          spids: [3674]
                        )
                      ]
                    )
                    (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:-dn span_id:3682))}
                          spids: [3680]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ac_cv_prog_cc_shlib)
                          op: assign_op.Equal
                          rhs: {(SQ (Token id:Id.Lit_Chars val:-belf span_id:3688))}
                          spids: [3686]
                        )
                      ]
                    )
                  ]
                  spids: [3669 3671 3692 -1]
                )
                (case_arm
                  pat_list: [{(solaris) (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:-KPIC span_id:3703))}
                          spids: [3701]
                        )
                      ]
                    )
                    (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:3709))}
                          spids: [3707]
                        )
                      ]
                    )
                    (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:3715))}
                          spids: [3713]
                        )
                      ]
                    )
                  ]
                  spids: [3696 3698 3719 -1]
                )
                (case_arm
                  pat_list: [{(sunos4) (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:-PIC span_id:3730))}
                          spids: [3728]
                        )
                      ]
                    )
                    (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:3736))}
                          spids: [3734]
                        )
                      ]
                    )
                    (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:3742))}
                          spids: [3740]
                        )
                      ]
                    )
                  ]
                  spids: [3723 3725 3746 -1]
                )
                (case_arm
                  pat_list: [
                    {(sysv4)}
                    {(sysv4.2uw2) (Id.Lit_Star '*')}
                    {(sysv4.3) (Id.Lit_Star '*')}
                    {(sysv5) (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:-KPIC span_id:3771))}
                          spids: [3769]
                        )
                      ]
                    )
                    (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:3777))}
                          spids: [3775]
                        )
                      ]
                    )
                    (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:3783))}
                          spids: [3781]
                        )
                      ]
                    )
                  ]
                  spids: [3750 3766 3787 -1]
                )
                (case_arm
                  pat_list: [{(uts4) (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:-pic span_id:3798))}
                          spids: [3796]
                        )
                      ]
                    )
                    (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:3804))}
                          spids: [3802]
                        )
                      ]
                    )
                  ]
                  spids: [3791 3793 3808 -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:3827)
                            )
                          ]
                          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:-Kconform_pic span_id:3833))}
                                  spids: [3831]
                                )
                              ]
                            )
                            (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:3839))}
                                  spids: [3837]
                                )
                              ]
                            )
                          ]
                          spids: [3819 3828]
                        )
                      ]
                    )
                  ]
                  spids: [3812 3816 3846 -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: [3854]
                        )
                      ]
                    )
                  ]
                  spids: [3850 3851 3858 -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: [3890]
                    )
                  ]
                )
              ]
              spids: [3884 3887 3893 -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: [3900]
                    )
                  ]
                )
              ]
              spids: [3896 3897 3907 -1]
            )
          ]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:need_lc)
          op: assign_op.Equal
          rhs: {(yes)}
          spids: [3915]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$enable_shared'))} {(Id.Lit_Equals '=')} 
                      {(yes)}
                    )
                    (C {(test)} {(DQ ($ Id.VSub_DollarName '$with_gcc'))} {(Id.Lit_Equals '=')} {(yes)})
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:3941)
            )
          ]
          action: [
            (command.Case
              to_match: {($ Id.VSub_DollarName '$archive_cmds')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Id.Lit_Star '*') (SQ (Token id:Id.Lit_Chars val:'~' span_id:3955)) 
                      (Id.Lit_Star '*')
                    }
                  ]
                  spids: [3953 3958 3965 -1]
                )
                (case_arm
                  pat_list: [{(SQ (Token id:Id.Lit_Chars val:'$CC ' span_id:3969)) (Id.Lit_Star '*')}]
                  action: [
                    (command.Simple
                      words: [
                        {(echo)}
                        {($ Id.VSub_DollarName '$ac_n')}
                        {
                          (DQ ('checking whether -lc should be explicitly linked in... ') 
                            ($ Id.VSub_DollarName '$ac_c')
                          )
                        }
                      ]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:3996)
                          fd: 1
                          arg_word: {(6)}
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {(eval)} 
                                  {
                                    (DQ ('test ') 
                                      (word_part.EscapedLiteral
                                        token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:4006)
                                      ) 
                                      (command_sub
                                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:4007)
                                        command_list: 
                                          (command.CommandList
                                            children: [
                                              (C {(echo)} 
                                                {(SQ (Token id:Id.Lit_Chars val:'$' span_id:4013)) 
                                                  (SQ (Token id:Id.Lit_Chars val:'{' span_id:4016)) (ac_cv_archive_cmds_needs_lc) (SQ (Token id:Id.Lit_Chars val:'+set}' span_id:4020))
                                                }
                                              )
                                            ]
                                          )
                                      ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\"' span_id:4023)) (' = set')
                                    )
                                  }
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:4026)
                            )
                          ]
                          action: [
                            (command.Simple
                              words: [
                                {(echo)}
                                {($ Id.VSub_DollarName '$ac_n')}
                                {(DQ ('(cached) ') ($ Id.VSub_DollarName '$ac_c'))}
                              ]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:4040)
                                  fd: 1
                                  arg_word: {(6)}
                                )
                              ]
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:need_lc)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName '$ac_cv_archive_cmds_needs_lc')}
                                  spids: [4044]
                                )
                              ]
                            )
                          ]
                          spids: [4000 4028]
                        )
                      ]
                      else_action: [
                        (C {($ Id.VSub_DollarName '$rm')} {(conftest) (Id.Lit_Star '*')})
                        (command.Simple
                          words: [{(echo)} {(DQ ('static int dummy;'))}]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_Great val:'>' span_id:4063)
                              fd: -1
                              arg_word: {(conftest.) ($ Id.VSub_DollarName '$ac_ext')}
                            )
                          ]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (command.BraceGroup
                                      children: [
                                        (command.Sentence
                                          child: 
                                            (command.Subshell
                                              command_list: 
                                                (command.CommandList
                                                  children: [
                                                    (C {(eval)} {(echo)} 
                                                      {(ltcf-c.sh) (Id.Lit_Other ':') (need_lc) 
                                                        (Id.Lit_Other ':')
                                                      } 
                                                      {
                                                        (word_part.EscapedLiteral
                                                          token: 
                                                            (Token
                                                              id: Id.Lit_EscapedChar
                                                              val: '\\"'
                                                              span_id: 4083
                                                            )
                                                        ) ($ Id.VSub_DollarName '$ac_compile') 
                                                        (word_part.EscapedLiteral
                                                          token: 
                                                            (Token
                                                              id: Id.Lit_EscapedChar
                                                              val: '\\"'
                                                              span_id: 4085
                                                            )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              redirects: [
                                                (redir.Redir
                                                  op: 
                                                    (Token
                                                      id: Id.Redir_GreatAnd
                                                      val: '1>&'
                                                      span_id: 4088
                                                    )
                                                  fd: 1
                                                  arg_word: {(5)}
                                                )
                                              ]
                                            )
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:4090)
                                        )
                                        (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_Great val:'2>' span_id:4098)
                                                  fd: 2
                                                  arg_word: {(conftest.err)}
                                                )
                                              ]
                                            )
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:4100)
                                        )
                                      ]
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:4103)
                                )
                              ]
                              action: [
                                (command.Simple
                                  words: [{(cat)} {(conftest.err)}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:4116)
                                      fd: 1
                                      arg_word: {(5)}
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:soname)
                                      op: assign_op.Equal
                                      rhs: {(conftest)}
                                      spids: [4120]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:lib)
                                      op: assign_op.Equal
                                      rhs: {(conftest)}
                                      spids: [4124]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:libobjs)
                                      op: assign_op.Equal
                                      rhs: {(conftest.) ($ Id.VSub_DollarName '$objext')}
                                      spids: [4128]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:deplibs)
                                      op: assign_op.Equal
                                      rhs: (word.Empty)
                                      spids: [4133]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:wl)
                                      op: assign_op.Equal
                                      rhs: {($ Id.VSub_DollarName '$ac_cv_prog_cc_wl')}
                                      spids: [4136]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:compiler_flags)
                                      op: assign_op.Equal
                                      rhs: {(-v)}
                                      spids: [4140]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:linker_flags)
                                      op: assign_op.Equal
                                      rhs: {(-v)}
                                      spids: [4144]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:verstring)
                                      op: assign_op.Equal
                                      rhs: (word.Empty)
                                      spids: [4148]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:output_objdir)
                                      op: assign_op.Equal
                                      rhs: {(.)}
                                      spids: [4151]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:libname)
                                      op: assign_op.Equal
                                      rhs: {(conftest)}
                                      spids: [4155]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:save_allow_undefined_flag)
                                      op: assign_op.Equal
                                      rhs: {($ Id.VSub_DollarName '$allow_undefined_flag')}
                                      spids: [4159]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                                      op: assign_op.Equal
                                      rhs: (word.Empty)
                                      spids: [4163]
                                    )
                                  ]
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (command.Sentence
                                          child: 
                                            (command.BraceGroup
                                              children: [
                                                (command.Sentence
                                                  child: 
                                                    (command.Subshell
                                                      command_list: 
                                                        (command.CommandList
                                                          children: [
                                                            (C {(eval)} {(echo)} 
                                                              {(ltcf-c.sh) (Id.Lit_Other ':') 
                                                                (need_lc) (Id.Lit_Other ':')
                                                              } 
                                                              {
                                                                (word_part.EscapedLiteral
                                                                  token: 
                                                                    (Token
                                                                      id: Id.Lit_EscapedChar
                                                                      val: '\\"'
                                                                      span_id: 4180
                                                                    )
                                                                ) ($ Id.VSub_DollarName '$archive_cmds') 
                                                                (word_part.EscapedLiteral
                                                                  token: 
                                                                    (Token
                                                                      id: Id.Lit_EscapedChar
                                                                      val: '\\"'
                                                                      span_id: 4182
                                                                    )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                        )
                                                      redirects: [
                                                        (redir.Redir
                                                          op: 
                                                            (Token
                                                              id: Id.Redir_GreatAnd
                                                              val: '1>&'
                                                              span_id: 4185
                                                            )
                                                          fd: 1
                                                          arg_word: {(5)}
                                                        )
                                                      ]
                                                    )
                                                  terminator: 
                                                    (Token
                                                      id: Id.Op_Semi
                                                      val: ';'
                                                      span_id: 4187
                                                    )
                                                )
                                                (command.Sentence
                                                  child: 
                                                    (command.Pipeline
                                                      children: [
                                                        (command.Subshell
                                                          command_list: 
                                                            (command.CommandList
                                                              children: [
                                                                (C {(eval)} 
                                                                  {
                                                                    ($ Id.VSub_DollarName 
'$archive_cmds'
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                            )
                                                          redirects: [
                                                            (redir.Redir
                                                              op: 
                                                                (Token
                                                                  id: Id.Redir_GreatAnd
                                                                  val: '2>&'
                                                                  span_id: 4195
                                                                )
                                                              fd: 2
                                                              arg_word: {(1)}
                                                            )
                                                          ]
                                                        )
                                                        (command.Simple
                                                          words: [{(grep)} {(DQ (' -lc '))}]
                                                          redirects: [
                                                            (redir.Redir
                                                              op: 
                                                                (Token
                                                                  id: Id.Redir_GreatAnd
                                                                  val: '1>&'
                                                                  span_id: 4206
                                                                )
                                                              fd: 1
                                                              arg_word: {(5)}
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                      negated: F
                                                    )
                                                  terminator: 
                                                    (Token
                                                      id: Id.Op_Semi
                                                      val: ';'
                                                      span_id: 4209
                                                    )
                                                )
                                              ]
                                            )
                                          terminator: (Token id:Id.Op_Semi val:';' span_id:4212)
                                        )
                                      ]
                                      action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: (sh_lhs_expr.Name name:need_lc)
                                              op: assign_op.Equal
                                              rhs: {(no)}
                                              spids: [4217]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [4166 4214]
                                    )
                                  ]
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:allow_undefined_flag)
                                      op: assign_op.Equal
                                      rhs: {($ Id.VSub_DollarName '$save_allow_undefined_flag')}
                                      spids: [4224]
                                    )
                                  ]
                                )
                              ]
                              spids: [4069 4105]
                            )
                          ]
                          else_action: [
                            (command.Simple
                              words: [{(cat)} {(conftest.err)}]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:4235)
                                  fd: 1
                                  arg_word: {(5)}
                                )
                              ]
                            )
                          ]
                        )
                      ]
                    )
                    (C {($ Id.VSub_DollarName '$rm')} {(conftest) (Id.Lit_Star '*')})
                    (command.Simple
                      words: [
                        {(echo)}
                        {(DQ ($ Id.VSub_DollarName '$ac_t') ($ Id.VSub_DollarName '$need_lc'))}
                      ]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:4258)
                          fd: 1
                          arg_word: {(6)}
                        )
                      ]
                    )
                  ]
                  spids: [3968 3972 4262 -1]
                )
              ]
            )
          ]
          spids: [3918 3943]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ac_cv_archive_cmds_needs_lc)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$need_lc')}
          spids: [4269]
        )
      ]
    )
  ]
)