diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1bf4dde..905add6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -107,8 +107,14 @@ jobs: runs-on: ubuntu-22.04 needs: [rust-build-programs] + strategy: + fail-fast: false + matrix: + ghc: + - "9.0.2" + container: - image: ghcr.io/clash-lang/clash-ci-9.0.2:2022-12-13 + image: ghcr.io/clash-lang/clash-ci:${{ matrix.ghc }}-20240221 steps: - name: Checkout @@ -124,8 +130,8 @@ jobs: with: path: | ~/.cabal/store - key: packages-cachebust-1-${{ hashFiles('cabal.project.freeze', 'cabal.project') }} - restore-keys: packages-cachebust-1- + key: packages-cachebust-2-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze', 'cabal.project') }} + restore-keys: packages-cachebust-2-${{ matrix.ghc }} - name: Install build deps run: | diff --git a/clash-vexriscv/Makefile b/clash-vexriscv/Makefile index 49f7cf0..db1a711 100644 --- a/clash-vexriscv/Makefile +++ b/clash-vexriscv/Makefile @@ -40,13 +40,17 @@ $(OUT_DIR)/impl.o: $(FFI_DIR)/impl.cpp $(FFI_DIR)/interface.h $(OUT_DIR)/verilated.o: $(shell pkg-config --variable=includedir verilator)/verilated.cpp $(CXX) $(FFI_CPPFLAGS) -c $(shell pkg-config --variable=includedir verilator)/verilated.cpp -o $(OUT_DIR)/verilated.o +$(OUT_DIR)/verilated_threads.o: $(shell pkg-config --variable=includedir verilator)/verilated_threads.cpp + $(CXX) $(FFI_CPPFLAGS) -c $(shell pkg-config --variable=includedir verilator)/verilated_threads.cpp -o $(OUT_DIR)/verilated_threads.o + $(OUT_DIR)/VVexRiscv__ALL.a: $(VERILATOR_DIR)/VVexRiscv__ALL.a cp $(VERILATOR_DIR)/VVexRiscv__ALL.a $(OUT_DIR)/VVexRiscv__ALL.a -$(OUT_DIR)/libVexRiscvFFI.a: $(OUT_DIR)/VVexRiscv__ALL.a $(OUT_DIR)/impl.o $(OUT_DIR)/verilated.o +$(OUT_DIR)/libVexRiscvFFI.a: $(OUT_DIR)/VVexRiscv__ALL.a $(OUT_DIR)/impl.o $(OUT_DIR)/verilated.o $(OUT_DIR)/verilated_threads.o rm -f $(OUT_DIR)/libVexRiscvFFI.a cp $(OUT_DIR)/VVexRiscv__ALL.a $(OUT_DIR)/libVexRiscvFFI.a ar r \ $(OUT_DIR)/libVexRiscvFFI.a \ $(OUT_DIR)/impl.o \ - $(OUT_DIR)/verilated.o + $(OUT_DIR)/verilated.o \ + $(OUT_DIR)/verilated_threads.o