Skip to content

Commit b8a8881

Browse files
committed
Refactor RISC-V toolchain selection and defaults
1 parent f8e8edc commit b8a8881

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

.ci/setup-toolchain.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ setup_llvm_toolchain() {
4141
# Set cross-compile prefix for LLVM
4242
echo "CROSS_COMPILE=riscv32-unknown-elf-" >> "$GITHUB_ENV"
4343
echo "TOOLCHAIN_TYPE=llvm" >> "$GITHUB_ENV"
44-
echo "AR=llvm-ar" >> "$GITHUB_ENV"
4544
}
4645

4746
case "$TOOLCHAIN_TYPE" in

arch/riscv/build.mk

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ DEFINES := -DF_CPU=$(F_CLK) \
1717
-DF_TIMER=$(F_TICK) \
1818
-include config.h
1919

20+
# Toolchain override (default to GNU)
21+
CROSS_COMPILE ?= riscv32-unknown-elf-
22+
TOOLCHAIN_TYPE ?= gnu
23+
2024
# Architecture flags
2125
ARCH_FLAGS = -march=rv32imzicsr -mabi=ilp32
2226

@@ -28,26 +32,30 @@ CFLAGS += -mstrict-align -ffreestanding -nostdlib -fomit-frame-pointer
2832
CFLAGS += $(INC_DIRS) $(DEFINES) -fdata-sections -ffunction-sections
2933

3034
ifeq ($(CC_IS_CLANG),1)
35+
ifeq ($(TOOLCHAIN_TYPE),llvm)
3136
CC = $(CROSS_COMPILE)clang
3237
AS = $(CROSS_COMPILE)clang
3338
LD = $(CROSS_COMPILE)ld.lld
3439
DUMP = $(CROSS_COMPILE)llvm-objdump -M no-aliases
3540
READ = $(CROSS_COMPILE)llvm-readelf
3641
OBJ = $(CROSS_COMPILE)llvm-objcopy
3742
SIZE = $(CROSS_COMPILE)llvm-size
43+
AR = $(CROSS_COMPILE)llvm-ar
3844

3945
CFLAGS += --target=riscv32-unknown-elf
4046
CFLAGS += -Wno-unused-command-line-argument
4147
ASFLAGS = --target=riscv32-unknown-elf $(ARCH_FLAGS)
4248
LDFLAGS = -m elf32lriscv --gc-sections
4349
else
4450
CC = $(CC_DEFAULT)
51+
CC = $(CROSS_COMPILE)gcc
4552
AS = $(CROSS_COMPILE)as
4653
LD = $(CROSS_COMPILE)ld
4754
DUMP = $(CROSS_COMPILE)objdump -Mno-aliases
4855
READ = $(CROSS_COMPILE)readelf
4956
OBJ = $(CROSS_COMPILE)objcopy
5057
SIZE = $(CROSS_COMPILE)size
58+
AR = $(CROSS_COMPILE)ar
5159

5260
ASFLAGS = $(ARCH_FLAGS)
5361
LDFLAGS = -melf32lriscv --gc-sections

0 commit comments

Comments
 (0)