From bffbb4ffea26ca95b1fd7115acade1ce2e9a971e Mon Sep 17 00:00:00 2001 From: Jiaxun Yang <jiaxun.yang@flygoat.com> Date: Mon, 17 Jun 2024 14:00:14 +0100 Subject: [PATCH] litex_setup: Implement mips_gcc_install Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> --- litex_setup.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/litex_setup.py b/litex_setup.py index 0c0679176..3db73714f 100755 --- a/litex_setup.py +++ b/litex_setup.py @@ -363,6 +363,28 @@ def riscv_gcc_install(): else: NotImplementedError(f"RISC-V GCC requires manual installation on {sys.platform}.") +# MIPS toolchain. +# ----------------- + +def mips_gcc_install(): + # Linux. + # ------ + if sys.platform.startswith("linux"): + os_release = (open("/etc/os-release").read()).lower() + # Fedora. + if "fedora" in os_release: + os.system("dnf install gcc-mips64-linux-gnu") + # Arch (AUR repository). + elif "arch" in os_release: + os.system("yay -S mips64el-linux-gnu-gcc") + # Ubuntu. + else: + os.system("apt install gcc-mips64el-linux-gnuabi64") + # Manual installation. + # -------------------- + else: + NotImplementedError(f"MIPS GCC requires manual installation on {sys.platform}.") + # PowerPC toolchain. # ----------------- @@ -424,7 +446,7 @@ def main(): parser.add_argument("--tag", default=None, help="Use version from release tag.") # GCC toolchains. - parser.add_argument("--gcc", default=None, help="Install GCC Toolchain (riscv, powerpc or openrisc).") + parser.add_argument("--gcc", default=None, help="Install GCC Toolchain (riscv, mips, powerpc or openrisc).") # Development mode. parser.add_argument("--dev", action="store_true", help="Development-Mode (no Auto-Update of litex_setup.py / Switch to git@github.com URLs).") @@ -474,6 +496,8 @@ def main(): os.chdir(os.path.join(current_path)) if args.gcc == "riscv": riscv_gcc_install() + if args.gcc == "mips": + mips_gcc_install() if args.gcc == "powerpc": powerpc_gcc_install() if args.gcc == "openrisc":