diff --git a/litex/soc/integration/cpu_interface.py b/litex/soc/integration/cpu_interface.py index 7eaeb5154..238f5203b 100644 --- a/litex/soc/integration/cpu_interface.py +++ b/litex/soc/integration/cpu_interface.py @@ -15,6 +15,7 @@ import os import json from shutil import which +from sysconfig import get_platform from migen import * @@ -58,8 +59,13 @@ def get_cpu_mak(cpu): r = None if not isinstance(triple, tuple): triple = (triple,) + p = get_platform() for i in range(len(triple)): t = triple[i] + # use native toolchain if host and target platforms are the same + if t == 'riscv64-unknown-elf' and p == 'linux-riscv64': + r = '--native--' + break if which(t+"-gcc"): r = t break diff --git a/litex/soc/software/common.mak b/litex/soc/software/common.mak index 11e8fc385..18fc50c3f 100644 --- a/litex/soc/software/common.mak +++ b/litex/soc/software/common.mak @@ -1,4 +1,8 @@ +ifeq ($(TRIPLE),--native--) +TARGET_PREFIX= +else TARGET_PREFIX=$(TRIPLE)- +endif RM ?= rm -f PYTHON ?= python3