(CommandList
  children: [
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (C {(set)} {(-o)} {(errexit)})
    (C {(source)} {(build/common.sh)})
    (FuncDef
      name: configure
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dir)
                  op: Equal
                  rhs: {($ VSub_Name "$PREPARE_DIR")}
                  spids: [58]
                )
              ]
              spids: [56]
            )
            (C {(rm)} {(-r)} {(-f)} {($ VSub_Name "$dir")})
            (C {(mkdir)} {(-p)} {($ VSub_Name "$dir")})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:conf)
                  op: Equal
                  rhs: {($ VSub_Name "$PWD") (/) ($ VSub_Name "$PY27") (/configure)}
                  spids: [82]
                )
              ]
              spids: [80]
            )
            (C {(cd)} {($ VSub_Name "$dir")})
            (TimeBlock pipeline:(C {($ VSub_Name "$conf")} {(--without-threads)}))
          ]
          spids: [53]
        )
      spids: [49 52]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:NPROC)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(nproc)})])
                left_token: <Left_CommandSub "$(">
                spids: [131 133]
              )
            }
          spids: [130]
        )
      ]
      spids: [128]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:JOBS)
          op: Equal
          rhs: 
            {
              (ArithSubPart
                anode: 
                  (TernaryOp
                    cond: 
                      (ArithBinary
                        op_id: Arith_DEqual
                        left: (ArithVarRef name:NPROC)
                        right: (ArithWord w:{(Lit_Digits 1)})
                      )
                    true_expr: (ArithVarRef name:NPROC)
                    false_expr: 
                      (ArithBinary
                        op_id: Arith_Minus
                        left: (ArithVarRef name:NPROC)
                        right: (ArithWord w:{(Lit_Digits 1)})
                      )
                  )
                spids: [138 157]
              )
            }
          spids: [137]
        )
      ]
      spids: [135]
    )
    (FuncDef
      name: build-python
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {($ VSub_Name "$PREPARE_DIR")})
            (C {(make)} {(clean)})
            (TimeBlock
              pipeline: 
                (C {(make)} {(-j)} {($ VSub_Name "$JOBS")} {(Lit_VarLike "EXTRA_CFLAGS=") (SQ <-O0>)})
            )
          ]
          spids: [164]
        )
      spids: [160 163]
    )
    (C {(DQ ($ VSub_At "$@"))})
  ]
)