(CommandList
  children: [
    (C {(setupfor)} {(gcc-core)})
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$NO_CPLUSPLUS'))} {(Lit_Other ']')})
        (SimpleCommand
          words: [{(setupfor)} {(gcc-g) (Lit_Other '+') (Lit_Other '+')}]
          more_env: [(env_pair name:REUSE_CURSRC val:{(1)} spids:[28])]
        )
      ]
    )
    (C {(blank_workdir)} {(build-gcc)})
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {(sed)} {(-i)} {(SQ <'s@^STMP_FIX.*@@'>)} {(DQ (${ VSub_Name CURSRC) (/gcc/Makefile.in))})
        (C {(dienow)})
      ]
    )
    (FuncDef
      name: configure_gcc
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp Op_DPipe]
              children: [
                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$NO_CPLUSPLUS'))} {(Lit_Other ']')})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:STUFF)
                      op: Equal
                      rhs: {(DQ ('--enable-languages=c,c++ --disable-libstdcxx-pch'))}
                      spids: [103]
                    )
                  ]
                  spids: [103]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:STUFF)
                      op: Equal
                      rhs: {(DQ ('--enable-languages=c'))}
                      spids: [111]
                    )
                  ]
                  spids: [111]
                )
              ]
            )
            (AndOr
              ops: [Op_DAmp Op_DAmp Op_DPipe]
              children: [
                (C {(DQ ($ VSub_Name '$CURSRC') (/configure))} 
                  {(--target) (Lit_Other '=') (DQ ($ VSub_Name '$CROSS_TARGET'))} {(--prefix) (Lit_Other '=') (DQ ($ VSub_Name '$STAGE_DIR'))} {(--disable-multilib)} {(--disable-nls)} 
                  {(--enable-c99)} {(--enable-long-long)} {(--enable-__cxa_atexit)} {($ VSub_Name '$STUFF')} 
                  {(--program-prefix) (Lit_Other '=') (DQ ($ VSub_Name '$TOOLCHAIN_PREFIX'))} {(DQ ($ VSub_At '$@'))} {($ VSub_Name '$GCC_FLAGS')}
                )
                (C {(mkdir)} {(-p)} {(gcc)})
                (C {(ln)} {(-s)} 
                  {
                    (DQ 
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(which)} 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name CC_FOR_TARGET>
                                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(cc)})
                                    spids: [202 206]
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [199 207]
                      )
                    )
                  } {(gcc/xgcc)}
                )
                (C {(dienow)})
              ]
            )
          ]
          spids: [83]
        )
      spids: [77 82]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$HOST_ARCH'))} {(Lit_Other ']')})]
          action: [
            (SimpleCommand
              words: [
                {(configure_gcc)}
                {(--disable-threads)}
                {(--disable-shared)}
                {(--host) (Lit_Other '=') (DQ ($ VSub_Name '$CROSS_HOST'))}
              ]
              more_env: [
                (env_pair
                  name: AR_FOR_TARGET
                  val: {(DQ (${ VSub_Name CC_PREFIX) (ar))}
                  spids: [260]
                )
              ]
            )
          ]
          spids: [16777215 231]
        )
      ]
      else_action: [
        (AndOr
          ops: [Op_DAmp Op_DPipe]
          children: [
            (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$ELF2FLT'))} {(Lit_Other ']')})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:X) op:Equal rhs:{(--enable-shared)} spids:[315])]
              spids: [315]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:X)
                  op: Equal
                  rhs: {(--disable-shared)}
                  spids: [320]
                )
              ]
              spids: [320]
            )
          ]
        )
        (SimpleCommand
          words: [
            {(configure_gcc)}
            {(--enable-threads) (Lit_Other '=') (posix)}
            {($ VSub_Name '$X')}
            {(--build) (Lit_Other '=') (DQ ($ VSub_Name '$CROSS_HOST'))}
            {(--host) (Lit_Other '=') 
              (DQ 
                (BracedVarSub
                  token: <VSub_Name CROSS_TARGET>
                  suffix_op: 
                    (PatSub
                      pat: {(unknown-elf)}
                      replace: {(walrus-elf)}
                      do_all: F
                      do_prefix: F
                      do_suffix: F
                    )
                  spids: [501 507]
                )
              )
            }
          ]
          more_env: [
            (env_pair name:CC val:{(DQ (${ VSub_Name HOST_ARCH) (-cc))} spids:[324])
            (env_pair name:AR val:{(DQ (${ VSub_Name HOST_ARCH) (-ar))} spids:[332])
            (env_pair name:AS val:{(DQ (${ VSub_Name HOST_ARCH) (-as))} spids:[340])
            (env_pair name:LD val:{(DQ (${ VSub_Name HOST_ARCH) (-ld))} spids:[350])
            (env_pair name:NM val:{(DQ (${ VSub_Name HOST_ARCH) (-nm))} spids:[358])
            (env_pair
              name: CC_FOR_TARGET
              val: {(DQ (${ VSub_Name CC_PREFIX) (cc))}
              spids: [368]
            )
            (env_pair
              name: AR_FOR_TARGET
              val: {(DQ (${ VSub_Name CC_PREFIX) (ar))}
              spids: [376]
            )
            (env_pair
              name: NM_FOR_TARGET
              val: {(DQ (${ VSub_Name CC_PREFIX) (nm))}
              spids: [386]
            )
            (env_pair
              name: GCC_FOR_TARGET
              val: {(DQ (${ VSub_Name CC_PREFIX) (cc))}
              spids: [394]
            )
            (env_pair
              name: AS_FOR_TARGET
              val: {(DQ (${ VSub_Name CC_PREFIX) (as))}
              spids: [404]
            )
            (env_pair
              name: LD_FOR_TARGET
              val: {(DQ (${ VSub_Name CC_PREFIX) (ld))}
              spids: [412]
            )
            (env_pair
              name: CXX_FOR_TARGET
              val: {(DQ (${ VSub_Name CC_PREFIX) ('c++'))}
              spids: [422]
            )
            (env_pair
              name: ac_cv_path_AR_FOR_TARGET
              val: {(DQ (${ VSub_Name CC_PREFIX) (ar))}
              spids: [432]
            )
            (env_pair
              name: ac_cv_path_RANLIB_FOR_TARGET
              val: {(DQ (${ VSub_Name CC_PREFIX) (ranlib))}
              spids: [442]
            )
            (env_pair
              name: ac_cv_path_NM_FOR_TARGET
              val: {(DQ (${ VSub_Name CC_PREFIX) (nm))}
              spids: [452]
            )
            (env_pair
              name: ac_cv_path_AS_FOR_TARGET
              val: {(DQ (${ VSub_Name CC_PREFIX) (as))}
              spids: [462]
            )
            (env_pair
              name: ac_cv_path_LD_FOR_TARGET
              val: {(DQ (${ VSub_Name CC_PREFIX) (ld))}
              spids: [472]
            )
          ]
        )
      ]
      spids: [282 510]
    )
    (AndOr
      ops: [Op_DAmp Op_DAmp Op_DPipe]
      children: [
        (C {(make)} {(-j)} {($ VSub_Name '$CPUS')} {(configure-host)})
        (C {(make)} {(-j)} {($ VSub_Name '$CPUS')} {(all-gcc)} 
          {(Lit_VarLike 'LDFLAGS=') (DQ ($ VSub_Name '$STATIC_FLAGS'))}
        )
        (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$STAGE_DIR')) (/cc/lib)})
        (C {(dienow)})
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$HOST_ARCH'))} 
                  {(Lit_Other ']')}
                )
                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$NO_CPLUSPLUS'))} {(Lit_Other ']')})
              ]
            )
          ]
          action: [
            (AndOr
              ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DPipe]
              children: [
                (C {(make)} {(-j)} {($ VSub_Name '$CPUS')} 
                  {(configure-target-libstdc) (Lit_Other '+') (Lit_Other '+') (-v3)} {(Lit_VarLike 'SHELL=') (sh)}
                )
                (C {(cd)} 
                  {(DQ ($ VSub_Name '$CROSS_TARGET')) (/libstdc) (Lit_Other '+') (Lit_Other '+') 
                    (-v3/libsupc) (Lit_Other '+') (Lit_Other '+')
                  }
                )
                (C {(make)} {(-j)} {($ VSub_Name '$CPUS')})
                (C {(mv)} {(.libs/libsupc) (Lit_Other '+') (Lit_Other '+') (.a)} 
                  {(DQ ($ VSub_Name '$STAGE_DIR')) (/cc/lib)}
                )
                (C {(cd)} {(../../..)})
                (C {(dienow)})
              ]
            )
          ]
          spids: [16777215 583]
        )
      ]
      spids: [16777215 684]
    )
    (AndOr
      ops: [Op_DAmp Op_DAmp Op_DPipe]
      children: [
        (C {(ln)} {(-s)} {(lib)} {(DQ ($ VSub_Name '$STAGE_DIR') (/lib64))})
        (C {(make)} {(-j)} {($ VSub_Name '$CPUS')} {(install-gcc)})
        (C {(rm)} {(DQ ($ VSub_Name '$STAGE_DIR') (/lib64))})
        (C {(dienow)})
      ]
    )
    (SimpleCommand
      words: [
        {(rm)}
        {(-rf)}
        {(DQ ($ VSub_Name '$STAGE_DIR')) (/lib/gcc/) (Lit_Other '*') (/) (Lit_Other '*') 
          (/install-tools)
        }
      ]
      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[746])]
    )
    (AndOr
      ops: [Op_DAmp Op_DAmp Op_DAmp Op_DAmp Op_DPipe]
      children: [
        (C {(mv)} 
          {(DQ ($ VSub_Name '$STAGE_DIR')) (/lib/gcc/) (Lit_Other '*') (/) (Lit_Other '*') (/include)} {(DQ ($ VSub_Name '$STAGE_DIR')) (/cc/include)}
        )
        (C {(mv)} 
          {(DQ ($ VSub_Name '$STAGE_DIR')) (/lib/gcc/) (Lit_Other '*') (/) (Lit_Other '*') (/) 
            (Lit_Other '*')
          } {(DQ ($ VSub_Name '$STAGE_DIR')) (/cc/lib)}
        )
        (C {(ln)} {(-s)} {(DQ ($ VSub_Name '$CROSS_TARGET'))} {(DQ ($ VSub_Name '$STAGE_DIR') (/tools))})
        (C {(cp)} 
          {(DQ ($ VSub_Name '$STAGE_DIR') (/libexec/gcc/)) (Lit_Other '*') (/) (Lit_Other '*') (/c) 
            (Lit_Other '*')
          } {(DQ ($ VSub_Name '$STAGE_DIR') (/tools/bin))}
        )
        (C {(rm)} {(-rf)} {(DQ ($ VSub_Name '$STAGE_DIR') (/libexec))})
        (C {(dienow)})
      ]
    )
    (AndOr
      ops: [Op_DAmp Op_DAmp Op_DAmp]
      children: [
        (C {(mv)} {(DQ ($ VSub_Name '$STAGE_DIR') (/bin/) (${ VSub_Name TOOLCHAIN_PREFIX) (gcc))} 
          {(DQ ($ VSub_Name '$STAGE_DIR') (/tools/bin/cc))}
        )
        (C {(ln)} {(-sf)} {(DQ (${ VSub_Name TOOLCHAIN_PREFIX) (cc))} 
          {(DQ ($ VSub_Name '$STAGE_DIR') (/bin/) (${ VSub_Name TOOLCHAIN_PREFIX) (gcc))}
        )
        (C {(ln)} {(-s)} {(cc)} {(DQ ($ VSub_Name '$STAGE_DIR') (/tools/bin/rawcc))})
        (If
          arms: [
            (if_arm
              cond: [
                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$NO_CPLUSPLUS'))} {(Lit_Other ']')})
              ]
              action: [
                (AndOr
                  ops: [Op_DAmp Op_DAmp Op_DAmp Op_DPipe]
                  children: [
                    (C {(mv)} 
                      {
                        (DQ ($ VSub_Name '$STAGE_DIR') (/bin/) (${ VSub_Name TOOLCHAIN_PREFIX) ('g++'))
                      } {(DQ ($ VSub_Name '$STAGE_DIR') ('/tools/bin/c++'))}
                    )
                    (C {(ln)} {(-sf)} {(DQ (${ VSub_Name TOOLCHAIN_PREFIX) (cc))} 
                      {
                        (DQ ($ VSub_Name '$STAGE_DIR') (/bin/) (${ VSub_Name TOOLCHAIN_PREFIX) ('g++'))
                      }
                    )
                    (C {(ln)} {(-sf)} {(DQ (${ VSub_Name TOOLCHAIN_PREFIX) (cc))} 
                      {
                        (DQ ($ VSub_Name '$STAGE_DIR') (/bin/) (${ VSub_Name TOOLCHAIN_PREFIX) ('c++'))
                      }
                    )
                    (C {(ln)} {(-s)} {(c) (Lit_Other '+') (Lit_Other '+')} 
                      {(DQ ($ VSub_Name '$STAGE_DIR') ('/tools/bin/raw++'))}
                    )
                    (C {(dienow)})
                  ]
                )
              ]
              spids: [16777215 919]
            )
          ]
          spids: [16777215 1004]
        )
      ]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [(C {(cd)} {(DQ ($ VSub_Name '$STAGE_DIR') (/tools))}) (C {(dienow)})]
    )
    (SimpleCommand
      words: [{(ln)} {(-s)} {(cc)} {(DQ ($ VSub_Name '$STAGE_DIR') (/tools/bin/gcc))}]
      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[1033])]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$NO_CPLUSPLUS'))} {(Lit_Other ']')})
        (SimpleCommand
          words: [
            {(ln)}
            {(-s)}
            {(c) (Lit_Other '+') (Lit_Other '+')}
            {(DQ ($ VSub_Name '$STAGE_DIR') ('/tools/bin/g++'))}
          ]
          redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[1061])]
        )
      ]
    )
    (C {(rm)} {(-rf)} 
      (BracedWordTree
        parts: [
          (DQ (${ VSub_Name STAGE_DIR))
          (/)
          (BracedAltPart
            words: [
              {(lib/gcc)}
              {(libexec/gcc/install-tools)}
              {(bin/) (${ VSub_Name ARCH) (-unknown-) (Lit_Other '*')}
            ]
          )
        ]
      )
    )
    (SimpleCommand
      words: [{(cleanup)}]
      more_env: [(env_pair name:PACKAGE val:{(gcc)} spids:[1093])]
    )
  ]
)