Allow using gcc for or1k.
* Using CLANG can set by using CLANG=1 or CLANG=0 in the environment. * or1k continues to default to CLANG if environment is not net.
This commit is contained in:
parent
382b3fb4ca
commit
36bb0f4f3a
|
@ -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":
|
||||||
|
# Default to CLANG unless told otherwise
|
||||||
|
if clang is None:
|
||||||
|
clang = True
|
||||||
|
|
||||||
|
triple = "or1k-elf"
|
||||||
|
cpuflags = "-mhard-mul -mhard-div -mror"
|
||||||
|
if clang:
|
||||||
triple = "or1k-linux"
|
triple = "or1k-linux"
|
||||||
cpuflags = "-mhard-mul -mhard-div -mror -mffl1 -maddc"
|
cpuflags += "-mffl1 -maddc"
|
||||||
clang = "1"
|
|
||||||
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)))
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue