(CommandList
  children: [
    (C {(setupfor)} {(gcc-core)})
    (AndOr
      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])]
        )
      ]
      op_id: Op_DAmp
    )
    (C {(blank_workdir)} {(build-gcc)})
    (AndOr
      children: [
        (C {(sed)} {(-i)} {(SQ <"s@^STMP_FIX.*@@">)} {(DQ (${ VSub_Name CURSRC) (/gcc/Makefile.in))})
        (C {(dienow)})
      ]
      op_id: Op_DPipe
    )
    (FuncDef
      name: configure_gcc
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$NO_CPLUSPLUS"))} {(Lit_Other "]")})
                (AndOr
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LeftVar name:STUFF)
                          rhs: {(DQ ("--enable-languages=c,c++ --disable-libstdcxx-pch"))}
                          spids: [103]
                        )
                      ]
                      spids: [103]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LeftVar name:STUFF)
                          rhs: {(DQ ("--enable-languages=c"))}
                          spids: [111]
                        )
                      ]
                      spids: [111]
                    )
                  ]
                  op_id: Op_DPipe
                )
              ]
              op_id: Op_DAmp
            )
            (AndOr
              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")}
                )
                (AndOr
                  children: [
                    (C {(mkdir)} {(-p)} {(gcc)})
                    (AndOr
                      children: [
                        (C {(ln)} {(-s)} 
                          {
                            (DQ 
                              (CommandSubPart
                                command_list: 
                                  (C {(which)} 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name CC_FOR_TARGET>
                                        suffix_op: 
                                          (StringUnary
                                            op_id: VTest_ColonHyphen
                                            arg_word: {(cc)}
                                          )
                                        spids: [202 206]
                                      )
                                    }
                                  )
                                spids: [199 207]
                              )
                            )
                          } {(gcc/xgcc)}
                        )
                        (C {(dienow)})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
          ]
          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: [-1 231]
        )
      ]
      else_action: 
        (CommandList
          children: [
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$ELF2FLT"))} {(Lit_Other "]")})
                (AndOr
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LeftVar name:X) rhs:{(--enable-shared)} spids:[315])]
                      spids: [315]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LeftVar name:X) rhs:{(--disable-shared)} spids:[320])]
                      spids: [320]
                    )
                  ]
                  op_id: Op_DPipe
                )
              ]
              op_id: Op_DAmp
            )
            (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: False
                          do_prefix: False
                          do_suffix: False
                        )
                      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
      children: [
        (C {(make)} {(-j)} {($ VSub_Name "$CPUS")} {(configure-host)})
        (AndOr
          children: [
            (C {(make)} {(-j)} {($ VSub_Name "$CPUS")} {(all-gcc)} 
              {(Lit_VarLike "LDFLAGS=") (DQ ($ VSub_Name "$STATIC_FLAGS"))}
            )
            (AndOr
              children: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$STAGE_DIR")) (/cc/lib)}) (C {(dienow)})]
              op_id: Op_DPipe
            )
          ]
          op_id: Op_DAmp
        )
      ]
      op_id: Op_DAmp
    )
    (If
      arms: [
        (if_arm
          cond: 
            (AndOr
              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 "]")})
              ]
              op_id: Op_DAmp
            )
          action: 
            (AndOr
              children: [
                (C {(make)} {(-j)} {($ VSub_Name "$CPUS")} 
                  {(configure-target-libstdc) (Lit_Other "+") (Lit_Other "+") (-v3)} {(Lit_VarLike "SHELL=") (sh)}
                )
                (AndOr
                  children: [
                    (C {(cd)} 
                      {(DQ ($ VSub_Name "$CROSS_TARGET")) (/libstdc) (Lit_Other "+") (Lit_Other "+") 
                        (-v3/libsupc) (Lit_Other "+") (Lit_Other "+")
                      }
                    )
                    (AndOr
                      children: [
                        (C {(make)} {(-j)} {($ VSub_Name "$CPUS")})
                        (AndOr
                          children: [
                            (C {(mv)} {(.libs/libsupc) (Lit_Other "+") (Lit_Other "+") (.a)} 
                              {(DQ ($ VSub_Name "$STAGE_DIR")) (/cc/lib)}
                            )
                            (AndOr
                              children: [(C {(cd)} {(../../..)}) (C {(dienow)})]
                              op_id: Op_DPipe
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
          spids: [-1 583]
        )
      ]
      spids: [-1 684]
    )
    (AndOr
      children: [
        (C {(ln)} {(-s)} {(lib)} {(DQ ($ VSub_Name "$STAGE_DIR") (/lib64))})
        (AndOr
          children: [
            (C {(make)} {(-j)} {($ VSub_Name "$CPUS")} {(install-gcc)})
            (AndOr
              children: [(C {(rm)} {(DQ ($ VSub_Name "$STAGE_DIR") (/lib64))}) (C {(dienow)})]
              op_id: Op_DPipe
            )
          ]
          op_id: Op_DAmp
        )
      ]
      op_id: Op_DAmp
    )
    (SimpleCommand
      words: [
        {(rm)}
        {(-rf)}
        {(DQ ($ VSub_Name "$STAGE_DIR")) (/lib/gcc/) (Lit_Other "*") (/) (Lit_Other "*") 
          (/install-tools)
        }
      ]
      redirects: [(Redirect op_id:Redir_Great arg_word:{(/dev/null)} fd:2 spids:[746])]
    )
    (AndOr
      children: [
        (C {(mv)} 
          {(DQ ($ VSub_Name "$STAGE_DIR")) (/lib/gcc/) (Lit_Other "*") (/) (Lit_Other "*") (/include)} {(DQ ($ VSub_Name "$STAGE_DIR")) (/cc/include)}
        )
        (AndOr
          children: [
            (C {(mv)} 
              {(DQ ($ VSub_Name "$STAGE_DIR")) (/lib/gcc/) (Lit_Other "*") (/) (Lit_Other "*") (/) 
                (Lit_Other "*")
              } {(DQ ($ VSub_Name "$STAGE_DIR")) (/cc/lib)}
            )
            (AndOr
              children: [
                (C {(ln)} {(-s)} {(DQ ($ VSub_Name "$CROSS_TARGET"))} 
                  {(DQ ($ VSub_Name "$STAGE_DIR") (/tools))}
                )
                (AndOr
                  children: [
                    (C {(cp)} 
                      {(DQ ($ VSub_Name "$STAGE_DIR") (/libexec/gcc/)) (Lit_Other "*") (/) 
                        (Lit_Other "*") (/c) (Lit_Other "*")
                      } {(DQ ($ VSub_Name "$STAGE_DIR") (/tools/bin))}
                    )
                    (AndOr
                      children: [
                        (C {(rm)} {(-rf)} {(DQ ($ VSub_Name "$STAGE_DIR") (/libexec))})
                        (C {(dienow)})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
          ]
          op_id: Op_DAmp
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (C {(mv)} {(DQ ($ VSub_Name "$STAGE_DIR") (/bin/) (${ VSub_Name TOOLCHAIN_PREFIX) (gcc))} 
          {(DQ ($ VSub_Name "$STAGE_DIR") (/tools/bin/cc))}
        )
        (AndOr
          children: [
            (C {(ln)} {(-sf)} {(DQ (${ VSub_Name TOOLCHAIN_PREFIX) (cc))} 
              {(DQ ($ VSub_Name "$STAGE_DIR") (/bin/) (${ VSub_Name TOOLCHAIN_PREFIX) (gcc))}
            )
            (AndOr
              children: [
                (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
                          children: [
                            (C {(mv)} 
                              {
                                (DQ ($ VSub_Name "$STAGE_DIR") (/bin/) (${ VSub_Name TOOLCHAIN_PREFIX) 
                                  ("g++")
                                )
                              } {(DQ ($ VSub_Name "$STAGE_DIR") ("/tools/bin/c++"))}
                            )
                            (AndOr
                              children: [
                                (C {(ln)} {(-sf)} {(DQ (${ VSub_Name TOOLCHAIN_PREFIX) (cc))} 
                                  {
                                    (DQ ($ VSub_Name "$STAGE_DIR") (/bin/) 
                                      (${ VSub_Name TOOLCHAIN_PREFIX) ("g++")
                                    )
                                  }
                                )
                                (AndOr
                                  children: [
                                    (C {(ln)} {(-sf)} {(DQ (${ VSub_Name TOOLCHAIN_PREFIX) (cc))} 
                                      {
                                        (DQ ($ VSub_Name "$STAGE_DIR") (/bin/) 
                                          (${ VSub_Name TOOLCHAIN_PREFIX) ("c++")
                                        )
                                      }
                                    )
                                    (AndOr
                                      children: [
                                        (C {(ln)} {(-s)} {(c) (Lit_Other "+") (Lit_Other "+")} 
                                          {(DQ ($ VSub_Name "$STAGE_DIR") ("/tools/bin/raw++"))}
                                        )
                                        (C {(dienow)})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      spids: [-1 919]
                    )
                  ]
                  spids: [-1 1004]
                )
              ]
              op_id: Op_DAmp
            )
          ]
          op_id: Op_DAmp
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [(C {(cd)} {(DQ ($ VSub_Name "$STAGE_DIR") (/tools))}) (C {(dienow)})]
      op_id: Op_DPipe
    )
    (SimpleCommand
      words: [{(ln)} {(-s)} {(cc)} {(DQ ($ VSub_Name "$STAGE_DIR") (/tools/bin/gcc))}]
      redirects: [(Redirect op_id:Redir_Great arg_word:{(/dev/null)} fd:2 spids:[1033])]
    )
    (AndOr
      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: [(Redirect op_id:Redir_Great arg_word:{(/dev/null)} fd:2 spids:[1061])]
        )
      ]
      op_id: Op_DAmp
    )
    (C {(rm)} {(-rf)} 
      {(DQ (${ VSub_Name STAGE_DIR)) (/) (Lit_LBrace "{") (lib/gcc) (Lit_Comma ",") 
        (libexec/gcc/install-tools) (Lit_Comma ",") (bin/) (${ VSub_Name ARCH) (-unknown-) (Lit_Other "*") (Lit_RBrace "}")
      }
    )
    (SimpleCommand
      words: [{(cleanup)}]
      more_env: [(env_pair name:PACKAGE val:{(gcc)} spids:[1093])]
    )
  ]
)