(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: (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]
                    )
                  ]
                  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: 
                                  (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)})
                      ]
                      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: [
        (AndOr
          children: [
            (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$ELF2FLT"))} {(Lit_Other "]")})
            (AndOr
              children: [
                (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]
                )
              ]
              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: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} 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: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} 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: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[1061])]
        )
      ]
      op_id: Op_DAmp
    )
    (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])]
    )
  ]
)