(command.CommandList
  children: [
    (command.AndOr
      ops: [Op_DAmp Op_DPipe]
      children: [
        (C {(source)} {(sources/include.sh)})
        (C {(load_target)} {(DQ ($ VSub_Number '$1'))})
        (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
      ]
    )
    (command.AndOr
      ops: [Op_DPipe]
      children: [
        (C {(check_for_base_arch)})
        (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
      ]
    )
    (C {(check_prerequisite)} {(DQ (${ VSub_Name CC_PREFIX) (cc))})
    (command.AndOr
      ops: [Op_DAmp Op_DAmp Op_DPipe]
      children: [
        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$HOST_ARCH'))} {(Lit_Other ']')})
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:HOST_ARCH)
              op: Equal
              rhs: {(DQ ($ VSub_DollarName '$ARCH'))}
            )
          ]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:STAGE_DIR)
              op: Equal
              rhs: {(DQ ($ VSub_DollarName '$STAGE_DIR') (/usr))}
            )
          ]
        )
        (C {(check_prerequisite)} {(DQ (${ VSub_Name HOST_ARCH) (-cc))})
      ]
    )
    (command.AndOr
      ops: [Op_DPipe]
      children: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$STAGE_DIR') (/bin))}) (C {(dienow)})]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_DollarName '$KARCH'))} 
              {(Lit_Other ']')}
            )
          ]
          action: [
            (C {(build_section)} {(linux-headers)})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$UCLIBC_CONFIG'))} 
                          {(Lit_Other ']')}
                        )
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_DollarName '$MUSL'))} 
                          {(Lit_Other ']')}
                        )
                      ]
                    )
                  ]
                  action: [(C {(build_section)} {(musl)})]
                )
              ]
              else_action: [(C {(build_section)} {(uClibc)})]
            )
          ]
        )
      ]
    )
    (C {(build_section)} {(binutils)})
    (command.AndOr
      ops: [Op_DAmp]
      children: [
        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_DollarName '$ELF2FLT'))} 
          {(Lit_Other ']')}
        )
        (C {(build_section)} {(elf2flt)})
      ]
    )
    (C {(build_section)} {(gcc)})
    (C {(build_section)} {(ccwrap)})
    (C {(export)} 
      {
        (DQ 
          (word_part.CommandSubPart
            command_list: 
              (command.CommandList
                children: [
                  (command.Pipeline
                    children: [(C {(echo)} {($ VSub_DollarName '$ARCH')}) (C {(sed)} {(SQ <s/-/_/g>)})]
                    negated: F
                  )
                ]
              )
            left_token: <Left_CommandSub '$('>
          )
        ) (Lit_VarLike '_CCWRAP_TOPDIR=') (DQ ($ VSub_DollarName '$STAGE_DIR'))
      }
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_DollarName '$KARCH'))} 
              {(Lit_Other ']')}
            )
          ]
          action: [
            (command.AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$NO_CPLUSPLUS'))} {(Lit_Other ']')})
                (C {(build_section)} {(uClibc) (Lit_Other '+') (Lit_Other '+')})
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$TOOLCHAIN_PREFIX'))} 
                      {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (C {(build_section)} {(make)})
                    (C {(build_section)} {(bash)})
                    (C {(build_section)} {(distcc)})
                    (command.AndOr
                      ops: [Op_DAmp Op_DPipe]
                      children: [
                        (C {(cp)} {(DQ ($ VSub_DollarName '$SOURCES') (/toys/hdainit.sh))} 
                          {(DQ ($ VSub_DollarName '$STAGE_DIR') (/../init))}
                        )
                        (C {(mv)} 
                          (word.BracedWordTree
                            parts: [
                              (DQ ($ VSub_DollarName '$STAGE_DIR'))
                              (/)
                              (word_part.BracedAltPart
                                words: [{(man)} {(share/man)}]
                              )
                            ]
                          )
                        )
                        (C {(dienow)})
                      ]
                    )
                  ]
                )
              ]
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Op_DPipe]
      children: [
        (C {(rm)} {(-rf)} 
          (word.BracedWordTree
            parts: [
              (DQ ($ VSub_DollarName '$STAGE_DIR'))
              (/)
              (word_part.BracedAltPart
                words: [{(info)} {(libexec/gcc/) (Lit_Other '*') (/) (Lit_Other '*') (/install-tools)}]
              )
            ]
          )
        )
        (C {(dienow)})
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$SKIP_STRIP'))} {(Lit_Other ']')})
          ]
          action: [
            (C {(DQ (${ VSub_Name ARCH) (-strip))} {(--strip-unneeded)} 
              {(DQ ($ VSub_DollarName '$STAGE_DIR')) (/lib/) (Lit_Other '*') (.so)}
            )
            (C {(DQ (${ VSub_Name ARCH) (-strip))} 
              (word.BracedWordTree
                parts: [
                  (DQ ($ VSub_DollarName '$STAGE_DIR'))
                  (/)
                  (word_part.BracedAltPart
                    words: [{(bin/) (Lit_Other '*')} {(sbin/) (Lit_Other '*')}]
                  )
                ]
              )
            )
          ]
        )
      ]
    )
    (C {(create_stage_tarball)})
  ]
)