@@ -39,9 +39,12 @@ SHELL_HACK := $(shell mkdir -p $(BIN_DIR)/linux-x86-softfp $(BIN_DIR)/riscv32 $(
39
39
ifeq ($(call has, PREBUILT) , 1)
40
40
ifeq ($(call has, SYSTEM) , 1)
41
41
LATEST_RELEASE := $(shell wget -q https://api.github.com/repos/sysprog21/rv32emu-prebuilt/releases -O- | grep '"tag_name"' | grep "Linux-Image" | head -n 1 | sed -E 's/.* "tag_name": "([^"]+) ".*/\1/')
42
+ else ifeq ($(call has, ARCH_TEST), 1)
43
+ LATEST_RELEASE := $(shell wget -q https://api.github.com/repos/sysprog21/rv32emu-prebuilt/releases -O- | grep '"tag_name"' | grep "sail" | head -n 1 | sed -E 's/.* "tag_name": "([^"]+) ".*/\1/')
42
44
else
43
45
LATEST_RELEASE := $(shell wget -q https://api.github.com/repos/sysprog21/rv32emu-prebuilt/releases -O- | grep '"tag_name"' | grep "ELF" | head -n 1 | sed -E 's/.* "tag_name": "([^"]+) ".*/\1/')
44
46
endif
47
+ PREBUILT_BLOB_URL = https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE )
45
48
else
46
49
# Since rv32emu only supports the dynamic binary translation of integer instruction in tiered compilation currently,
47
50
# we disable the hardware floating-point and the related SIMD operation of x86.
@@ -67,6 +70,14 @@ ifeq ($(call has, SYSTEM), 1)
67
70
))
68
71
69
72
$(Q)$(eval RV32EMU_PREBUILT_TARBALL := rv32emu-linux-image-prebuilt.tar.gz)
73
+ else ifeq ($(call has, ARCH_TEST), 1)
74
+ $(Q)$(eval PREBUILT_SAIL_FILENAME := $(shell cat $(BIN_DIR)/rv32emu-prebuilt-sail-$(HOST_PLATFORM).sha | awk '{ print $$2 };'))
75
+
76
+ $(Q)$(eval $(foreach FILE,$(PREBUILT_SAIL_FILENAME), \
77
+ $(call verify,$(shell grep -w $(FILE) $(BIN_DIR)/rv32emu-prebuilt-sail-$(HOST_PLATFORM).sha | awk '{ print $$1 };'),$(BIN_DIR)/$(FILE),RES) \
78
+ ))
79
+
80
+ $(Q)$(eval RV32EMU_PREBUILT_TARBALL := rv32emu-prebuilt-sail-$(HOST_PLATFORM))
70
81
else
71
82
$(Q)$(eval PREBUILT_X86_FILENAME := $(shell cat $(BIN_DIR)/sha1sum-linux-x86-softfp | awk '{ print $$2 };'))
72
83
$(Q)$(eval PREBUILT_RV32_FILENAME := $(shell cat $(BIN_DIR)/sha1sum-riscv32 | awk '{ print $$2 };'))
81
92
$(Q)$(eval RV32EMU_PREBUILT_TARBALL := rv32emu-prebuilt.tar.gz)
82
93
endif
83
94
95
+ ifeq ($(call has, ARCH_TEST) , 1)
84
96
$(Q)if [ "$(RES)" = "1" ]; then \
85
- $(PRINTF) "\n$(YELLOW)SHA-1 verification fails ! Re-fetching prebuilt binaries from \"rv32emu-prebuilt\" ...\n$(NO_COLOR)"; \
86
- wget -q --show-progress https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE )/$(RV32EMU_PREBUILT_TARBALL) -O- | tar -C build --strip-components=1 -xz; \
97
+ $(PRINTF) "\n$(YELLOW)SHA-1 verification failed ! Re-fetching prebuilt binaries from \"rv32emu-prebuilt\" ...\n$(NO_COLOR)"; \
98
+ wget -q --show-progress $(PREBUILT_BLOB_URL )/$(RV32EMU_PREBUILT_TARBALL) -O build/$(RV32EMU_PREBUILT_TARBALL); \
87
99
else \
88
100
$(call notice, [OK]); \
89
101
fi
102
+ else
103
+ $(Q)if [ "$(RES)" = "1" ]; then \
104
+ $(PRINTF) "\n$(YELLOW)SHA-1 verification failed! Re-fetching prebuilt binaries from \"rv32emu-prebuilt\" ...\n$(NO_COLOR)"; \
105
+ wget -q --show-progress $(PREBUILT_BLOB_URL)/$(RV32EMU_PREBUILT_TARBALL) -O- | tar -C build --strip-components=1 -xz; \
106
+ else \
107
+ $(call notice, [OK]); \
108
+ fi
109
+ endif
90
110
else
91
111
ifeq ($(call has, SYSTEM) , 1)
92
112
$(Q)(cd $(BIN_DIR) && $(SHA1SUM) linux-image/Image >> sha1sum-linux-image)
@@ -127,13 +147,15 @@ endif
127
147
128
148
fetch-checksum :
129
149
ifeq ($(call has, PREBUILT) , 1)
130
- $(Q)$(PRINTF) "Fetching SHA-1 of prebuilt binaries ... "
150
+ $(Q)$(PRINTF) "Fetching SHA-1 of prebuilt binaries ...\n "
131
151
ifeq ($(call has, SYSTEM) , 1)
132
- $(Q)wget -q -O $(BIN_DIR)/sha1sum-linux-image https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE )/sha1sum-linux-image
152
+ $(Q)wget -q -O $(BIN_DIR)/sha1sum-linux-image $(PREBUILT_BLOB_URL )/sha1sum-linux-image
133
153
$(Q)$(call notice, [OK])
154
+ else ifeq ($(call has, ARCH_TEST), 1)
155
+ $(Q)wget -q -O $(BIN_DIR)/rv32emu-prebuilt-sail-$(HOST_PLATFORM).sha $(PREBUILT_BLOB_URL)/rv32emu-prebuilt-sail-$(HOST_PLATFORM).sha
134
156
else
135
- $(Q)wget -q -O $(BIN_DIR)/sha1sum-linux-x86-softfp https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE )/sha1sum-linux-x86-softfp
136
- $(Q)wget -q -O $(BIN_DIR)/sha1sum-riscv32 https://github.com/sysprog21/rv32emu-prebuilt/releases/download/$(LATEST_RELEASE )/sha1sum-riscv32
157
+ $(Q)wget -q -O $(BIN_DIR)/sha1sum-linux-x86-softfp $(PREBUILT_BLOB_URL )/sha1sum-linux-x86-softfp
158
+ $(Q)wget -q -O $(BIN_DIR)/sha1sum-riscv32 $(PREBUILT_BLOB_URL )/sha1sum-riscv32
137
159
$(Q)$(call notice, [OK])
138
160
endif
139
161
endif
0 commit comments