(CommandList
  children: [
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(source)} {(sources/include.sh)})
        (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
      ]
    )
    (C {(load_target)} {(DQ ($ VSub_Number '$1'))})
    (AndOr
      ops: [Op_DPipe]
      children: [(C {(check_for_base_arch)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})]
    )
    (C {(export)} {(Lit_VarLike 'TOOLCHAIN_PREFIX=') (DQ (${ VSub_Name ARCH) (-))})
    (C {(build_section)} {(binutils)})
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$ELF2FLT'))} {(Lit_Other ']')})
        (C {(build_section)} {(elf2flt)})
      ]
    )
    (C {(build_section)} {(gcc)})
    (C {(build_section)} {(ccwrap)})
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$KARCH'))} {(Lit_Other ']')})
          ]
          action: [
            (C {(build_section)} {(linux-headers)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$UCLIBC_CONFIG'))} 
                          {(Lit_Other ']')}
                        )
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$MUSL'))} 
                          {(Lit_Other ']')}
                        )
                      ]
                    )
                  ]
                  action: [(C {(build_section)} {(musl)})]
                  spids: [16777215 167]
                )
              ]
              else_action: [(C {(build_section)} {(uClibc)})]
              spids: [175 183]
            )
          ]
          spids: [16777215 125]
        )
      ]
      spids: [16777215 185]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$KARCH'))} {(Lit_Other ']')})
        (SimpleCommand
          words: [{(cat)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {(DQ (${ VSub_Name STAGE_DIR)) (/README)}
              spids: [204]
            )
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              body: 
                {
                  (DQ ('Cross compiler for ') ($ VSub_Name '$ARCH') 
                    (' from http://landley.net/aboriginal\n') ('\n') ('To use: Add the ') (Right_DoubleQuote '"') (bin) (Right_DoubleQuote '"') 
                    (' subdirectory to your ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('PATH, and use ') (Right_DoubleQuote '"') 
                    ($ VSub_Name '$ARCH') (-cc) (Right_DoubleQuote '"') (' as\n') ('your compiler.\n') ('\n') 
                    ('The syntax used to build the Linux kernel is:\n') ('\n') ('  make ARCH=') (${ VSub_Name KARCH) (' CROSS_COMPILE=') (${ VSub_Name ARCH) ('-\n') ('\n')
                  )
                }
              do_expansion: True
              here_end: EOF
              was_filled: T
              spids: [213]
            )
          ]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$SKIP_STRIP'))} {(Lit_Other ']')})]
          action: [
            (C {(cd)} {(DQ ($ VSub_Name '$STAGE_DIR'))})
            (ForEach
              iter_name: i
              iter_words: [
                {
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(find)} {(bin)} {(-type)} {(f)})])
                    left_token: <Left_Backtick '`'>
                    spids: [281 289]
                  )
                }
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [(C {(find)} {(DQ ($ VSub_Name '$CROSS_TARGET'))} {(-type)} {(f)})]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [291 301]
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (SimpleCommand
                      words: [{(strip)} {(DQ ($ VSub_Name '$i'))}]
                      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[313])]
                    )
                  ]
                  spids: [304 318]
                )
              spids: [280 16777215]
            )
          ]
          spids: [16777215 265]
        )
      ]
      spids: [16777215 320]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$KARCH'))} {(Lit_Other ']')})
          ]
          action: [
            (C {(echo)} {(DQ ('Sanity test: building Hello World.'))})
            (AndOr
              ops: [Op_DAmp Op_DPipe]
              children: [
                (C {(DQ (${ VSub_Name ARCH) (-gcc))} {(-Os)} 
                  {(DQ (${ VSub_Name SOURCES) (/root-filesystem/src/hello.c))} {(-o)} {(DQ ($ VSub_Name '$WORK')) (/hello)}
                )
                (C {(DQ (${ VSub_Name ARCH) (-gcc))} {(-Os)} {(-static)} 
                  {(DQ (${ VSub_Name SOURCES) (/root-filesystem/src/hello.c))} {(-o)} {(DQ ($ VSub_Name '$WORK')) (/hello)}
                )
                (C {(dienow)})
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$CROSS_SMOKE_TEST'))} 
                      {(Lit_Other ']')}
                    )
                  ]
                  action: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(more/cross-smoke-test.sh)} {(DQ ($ VSub_Name '$ARCH'))})
                        (ControlFlow
                          token: <ControlFlow_Exit exit>
                          arg_word: {(1)}
                        )
                      ]
                    )
                  ]
                  spids: [16777215 436]
                )
              ]
              spids: [16777215 452]
            )
          ]
          spids: [16777215 337]
        )
      ]
      spids: [16777215 454]
    )
    (C {(create_stage_tarball)})
    (C {(echo)} {(-e)} 
      {
        (DQ (Lit_Other '\\') ('e[32mCross compiler toolchain build complete.') (Lit_Other '\\') ('e[0m'))
      }
    )
  ]
)