(CommandList
  children: [
    (C {(set)} {(-e)})
    (FuncDef
      name: error
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(echo)} {(DQ ($ VSub_At '$@'))}]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[31])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [22]
        )
      spids: [18 21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:unbound)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(dirname)} 
                        {
                          (CommandSubPart
                            command_list: 
                              (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_Name '$unbound')})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ldnssrc)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(realpath)} {($ VSub_Name '$unbound') (/../ldns)})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [59 64]
              )
            }
          spids: [58]
        )
      ]
      spids: [58]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(Lit_Other '[')} {(-f)} {($ VSub_Name '$ldnssrc') (/ldns/ldns.h)} {(Lit_Other ']')})
        (C {(error)} {(DQ ("can't find LDNS sources"))})
      ]
    )
    (C {(export)} {(Lit_VarLike 'CFLAGS=') (DQ (-I) ($ VSub_Name '$ldnssrc'))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ldnsbld)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(realpath)} {($ VSub_Name '$unbound') (/../../lib/libldns)})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [93 98]
              )
            }
          spids: [92]
        )
      ]
      spids: [92]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(Lit_Other '[')} {(-f)} {($ VSub_Name '$ldnsbld') (/Makefile)} {(Lit_Other ']')})
        (C {(error)} {(DQ ("can't find LDNS build directory"))})
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ldnsobj)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(realpath)} 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(make)} {(-C) ($ VSub_Name '$ldnsbld')} {(-V.OBJDIR)})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [122 129]
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [119 130]
              )
            }
          spids: [118]
        )
      ]
      spids: [118]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(Lit_Other '[')} {(-f)} {($ VSub_Name '$ldnsobj') (/libprivateldns.a)} {(Lit_Other ']')})
        (C {(error)} {(DQ ("can't find LDNS object directory"))})
      ]
    )
    (C {(export)} {(Lit_VarLike 'LDFLAGS=') (DQ (-L) ($ VSub_Name '$ldnsobj'))})
    (C {(export)} 
      {(Lit_VarLike 'CC=') 
        (CommandSubPart
          command_list: 
            (CommandList
              children: [
                (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=') 
        (CommandSubPart
          command_list: 
            (CommandList
              children: [
                (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)})
  ]
)