(command.CommandList
  children: [
    (C {(set)} {(-e)})
    (command.FuncDef
      name: error
      body: 
        (command.BraceGroup
          children: [
            (command.SimpleCommand
              words: [{(echo)} {(DQ ($ VSub_At '$@'))}]
              redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [22]
        )
      spids: [18 21]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:unbound spids:[42])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(dirname)} 
                        {
                          (word_part.CommandSubPart
                            command_list: 
                              (command.CommandList
                                children: [(C {(realpath)} {($ VSub_Number '$0')})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [46 50]
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [43 51]
              )
            }
          spids: [42]
        )
      ]
      spids: [42]
    )
    (C {(cd)} {($ VSub_DollarName '$unbound')})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:ldnssrc spids:[58])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [(C {(realpath)} {($ VSub_DollarName '$unbound') (/../ldns)})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [59 64]
              )
            }
          spids: [58]
        )
      ]
      spids: [58]
    )
    (command.AndOr
      ops: [Op_DPipe]
      children: [
        (C {(Lit_Other '[')} {(-f)} {($ VSub_DollarName '$ldnssrc') (/ldns/ldns.h)} {(Lit_Other ']')})
        (C {(error)} {(DQ ("can't find LDNS sources"))})
      ]
    )
    (C {(export)} {(Lit_VarLike 'CFLAGS=') (DQ (-I) ($ VSub_DollarName '$ldnssrc'))})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:ldnsbld spids:[92])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [(C {(realpath)} {($ VSub_DollarName '$unbound') (/../../lib/libldns)})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [93 98]
              )
            }
          spids: [92]
        )
      ]
      spids: [92]
    )
    (command.AndOr
      ops: [Op_DPipe]
      children: [
        (C {(Lit_Other '[')} {(-f)} {($ VSub_DollarName '$ldnsbld') (/Makefile)} {(Lit_Other ']')})
        (C {(error)} {(DQ ("can't find LDNS build directory"))})
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:ldnsobj spids:[118])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [
                      (C {(realpath)} 
                        {
                          (word_part.CommandSubPart
                            command_list: 
                              (command.CommandList
                                children: [
                                  (C {(make)} {(-C) ($ VSub_DollarName '$ldnsbld')} {(-V.OBJDIR)})
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [122 129]
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [119 130]
              )
            }
          spids: [118]
        )
      ]
      spids: [118]
    )
    (command.AndOr
      ops: [Op_DPipe]
      children: [
        (C {(Lit_Other '[')} {(-f)} {($ VSub_DollarName '$ldnsobj') (/libprivateldns.a)} 
          {(Lit_Other ']')}
        )
        (C {(error)} {(DQ ("can't find LDNS object directory"))})
      ]
    )
    (C {(export)} {(Lit_VarLike 'LDFLAGS=') (DQ (-L) ($ VSub_DollarName '$ldnsobj'))})
    (C {(export)} 
      {(Lit_VarLike 'CC=') 
        (word_part.CommandSubPart
          command_list: 
            (command.CommandList
              children: [
                (command.Pipeline
                  children: [
                    (C {(echo)} {(DQ ('.include <bsd.lib.mk>'))})
                    (C {(make)} {(-f)} {(/dev/stdin)} {(-VCC)})
                  ]
                  negated: F
                )
              ]
            )
          left_token: <Left_CommandSub '$('>
          spids: [161 177]
        )
      }
    )
    (C {(export)} 
      {(Lit_VarLike 'CPP=') 
        (word_part.CommandSubPart
          command_list: 
            (command.CommandList
              children: [
                (command.Pipeline
                  children: [
                    (C {(echo)} {(DQ ('.include <bsd.lib.mk>'))})
                    (C {(make)} {(-f)} {(/dev/stdin)} {(-VCPP)})
                  ]
                  negated: F
                )
              ]
            )
          left_token: <Left_CommandSub '$('>
          spids: [182 198]
        )
      }
    )
    (C {(autoconf)})
    (C {(autoheader)})
    (C {(./configure)} {(--prefix) (Lit_Other '=')} {(--exec-prefix) (Lit_Other '=') (/usr)} 
      {(--with-conf-file) (Lit_Other '=') (/var/unbound/unbound.conf)} {(--with-run-dir) (Lit_Other '=') (/var/unbound)} {(--with-username) (Lit_Other '=') (unbound)}
    )
    (C {(sed)} {(-n)} {(-i.orig)} {(-e)} {(SQ <'/HAVE_SBRK/!p'>)} {(config.status)})
    (C {(./config.status)} {(config.h)})
  ]
)