11cb0ef41Sopenharmony_ci# Copyright 2018 the V8 project authors. All rights reserved.
21cb0ef41Sopenharmony_ci# Use of this source code is governed by a BSD-style license that can be
31cb0ef41Sopenharmony_ci# found in the LICENSE file.
41cb0ef41Sopenharmony_ci
51cb0ef41Sopenharmony_ciimport("//build/toolchain/gcc_toolchain.gni")
61cb0ef41Sopenharmony_ci
71cb0ef41Sopenharmony_cigcc_toolchain("mips-bundled") {
81cb0ef41Sopenharmony_ci  toolprefix = rebase_path("//tools/mips_toolchain/bin/mips-mti-linux-gnu-",
91cb0ef41Sopenharmony_ci                           root_build_dir)
101cb0ef41Sopenharmony_ci  cc = "${toolprefix}gcc"
111cb0ef41Sopenharmony_ci  cxx = "${toolprefix}g++"
121cb0ef41Sopenharmony_ci
131cb0ef41Sopenharmony_ci  readelf = "${toolprefix}readelf"
141cb0ef41Sopenharmony_ci  nm = "${toolprefix}nm"
151cb0ef41Sopenharmony_ci  ar = "${toolprefix}ar"
161cb0ef41Sopenharmony_ci  ld = cxx
171cb0ef41Sopenharmony_ci
181cb0ef41Sopenharmony_ci  # Flag that sets endianness
191cb0ef41Sopenharmony_ci  extra_ldflags = "-EB"
201cb0ef41Sopenharmony_ci  extra_cppflags = "-EB"
211cb0ef41Sopenharmony_ci
221cb0ef41Sopenharmony_ci  toolchain_args = {
231cb0ef41Sopenharmony_ci    current_cpu = "mips"
241cb0ef41Sopenharmony_ci    current_os = "linux"
251cb0ef41Sopenharmony_ci    is_clang = false
261cb0ef41Sopenharmony_ci  }
271cb0ef41Sopenharmony_ci}
281cb0ef41Sopenharmony_ci
291cb0ef41Sopenharmony_cigcc_toolchain("mips64-bundled") {
301cb0ef41Sopenharmony_ci  toolprefix = rebase_path("//tools/mips_toolchain/bin/mips-mti-linux-gnu-",
311cb0ef41Sopenharmony_ci                           root_build_dir)
321cb0ef41Sopenharmony_ci  cc = "${toolprefix}gcc"
331cb0ef41Sopenharmony_ci  cxx = "${toolprefix}g++"
341cb0ef41Sopenharmony_ci
351cb0ef41Sopenharmony_ci  readelf = "${toolprefix}readelf"
361cb0ef41Sopenharmony_ci  nm = "${toolprefix}nm"
371cb0ef41Sopenharmony_ci  ar = "${toolprefix}ar"
381cb0ef41Sopenharmony_ci  ld = cxx
391cb0ef41Sopenharmony_ci
401cb0ef41Sopenharmony_ci  # Flag that sets endianness and ABI
411cb0ef41Sopenharmony_ci  extra_ldflags = "-EB -mabi=64"
421cb0ef41Sopenharmony_ci  extra_cppflags = "-EB -mabi=64"
431cb0ef41Sopenharmony_ci
441cb0ef41Sopenharmony_ci  toolchain_args = {
451cb0ef41Sopenharmony_ci    current_cpu = "mips64"
461cb0ef41Sopenharmony_ci    current_os = "linux"
471cb0ef41Sopenharmony_ci    is_clang = false
481cb0ef41Sopenharmony_ci  }
491cb0ef41Sopenharmony_ci}
501cb0ef41Sopenharmony_ci
511cb0ef41Sopenharmony_cigcc_toolchain("mipsel-bundled") {
521cb0ef41Sopenharmony_ci  toolprefix = rebase_path("//tools/mips_toolchain/bin/mips-mti-linux-gnu-",
531cb0ef41Sopenharmony_ci                           root_build_dir)
541cb0ef41Sopenharmony_ci  cc = "${toolprefix}gcc"
551cb0ef41Sopenharmony_ci  cxx = "${toolprefix}g++"
561cb0ef41Sopenharmony_ci
571cb0ef41Sopenharmony_ci  readelf = "${toolprefix}readelf"
581cb0ef41Sopenharmony_ci  nm = "${toolprefix}nm"
591cb0ef41Sopenharmony_ci  ar = "${toolprefix}ar"
601cb0ef41Sopenharmony_ci  ld = cxx
611cb0ef41Sopenharmony_ci
621cb0ef41Sopenharmony_ci  # Flag that sets endianness
631cb0ef41Sopenharmony_ci  extra_ldflags = "-EL"
641cb0ef41Sopenharmony_ci  extra_cppflags = "-EL"
651cb0ef41Sopenharmony_ci
661cb0ef41Sopenharmony_ci  toolchain_args = {
671cb0ef41Sopenharmony_ci    current_cpu = "mipsel"
681cb0ef41Sopenharmony_ci    current_os = "linux"
691cb0ef41Sopenharmony_ci    is_clang = false
701cb0ef41Sopenharmony_ci  }
711cb0ef41Sopenharmony_ci}
721cb0ef41Sopenharmony_ci
731cb0ef41Sopenharmony_cigcc_toolchain("mips64el-bundled") {
741cb0ef41Sopenharmony_ci  toolprefix = rebase_path("//tools/mips_toolchain/bin/mips-mti-linux-gnu-",
751cb0ef41Sopenharmony_ci                           root_build_dir)
761cb0ef41Sopenharmony_ci  cc = "${toolprefix}gcc"
771cb0ef41Sopenharmony_ci  cxx = "${toolprefix}g++"
781cb0ef41Sopenharmony_ci
791cb0ef41Sopenharmony_ci  readelf = "${toolprefix}readelf"
801cb0ef41Sopenharmony_ci  nm = "${toolprefix}nm"
811cb0ef41Sopenharmony_ci  ar = "${toolprefix}ar"
821cb0ef41Sopenharmony_ci  ld = cxx
831cb0ef41Sopenharmony_ci
841cb0ef41Sopenharmony_ci  # Flag that sets endianness and ABI
851cb0ef41Sopenharmony_ci  extra_ldflags = "-EL -mabi=64"
861cb0ef41Sopenharmony_ci  extra_cppflags = "-EL -mabi=64"
871cb0ef41Sopenharmony_ci
881cb0ef41Sopenharmony_ci  toolchain_args = {
891cb0ef41Sopenharmony_ci    current_cpu = "mips64el"
901cb0ef41Sopenharmony_ci    current_os = "linux"
911cb0ef41Sopenharmony_ci    is_clang = false
921cb0ef41Sopenharmony_ci  }
931cb0ef41Sopenharmony_ci}
94