Merge pull request #21 from mithro/master

Allow using gcc for or1k.
This commit is contained in:
enjoy-digital 2017-03-05 11:13:05 +01:00 committed by GitHub
commit 3f8327bbea
1 changed files with 22 additions and 6 deletions

View File

@ -11,26 +11,42 @@ cpu_endianness = {
} }
def get_cpu_mak(cpu): def get_cpu_mak(cpu):
clang = os.getenv("CLANG", "")
if clang != "":
clang = bool(int(clang))
else:
clang = None
if cpu == "lm32": if cpu == "lm32":
assert not clang, "lm32 not supported with clang."
triple = "lm32-elf" triple = "lm32-elf"
cpuflags = "-mbarrel-shift-enabled -mmultiply-enabled -mdivide-enabled -msign-extend-enabled" cpuflags = "-mbarrel-shift-enabled -mmultiply-enabled -mdivide-enabled -msign-extend-enabled"
clang = "" clang = False
elif cpu == "or1k": elif cpu == "or1k":
triple = "or1k-linux" # Default to CLANG unless told otherwise
cpuflags = "-mhard-mul -mhard-div -mror -mffl1 -maddc" if clang is None:
clang = "1" clang = True
triple = "or1k-elf"
cpuflags = "-mhard-mul -mhard-div -mror"
if clang:
triple = "or1k-linux"
cpuflags += "-mffl1 -maddc"
elif cpu == "riscv32": elif cpu == "riscv32":
assert not clang, "riscv32 not supported with clang."
triple = "riscv32-unknown-elf" triple = "riscv32-unknown-elf"
cpuflags = "-mno-save-restore" cpuflags = "-mno-save-restore"
clang = "0" clang = False
else: else:
raise ValueError("Unsupported CPU type: "+cpu) raise ValueError("Unsupported CPU type: "+cpu)
assert isinstance(clang, bool)
return [ return [
("TRIPLE", triple), ("TRIPLE", triple),
("CPU", cpu), ("CPU", cpu),
("CPUFLAGS", cpuflags), ("CPUFLAGS", cpuflags),
("CPUENDIANNESS", cpu_endianness[cpu]), ("CPUENDIANNESS", cpu_endianness[cpu]),
("CLANG", clang) ("CLANG", str(int(clang)))
] ]