From f335f79632ccf01eecb6093b7a850c7bebf74a6e Mon Sep 17 00:00:00 2001 From: Romain Malmain Date: Tue, 7 May 2024 16:12:37 +0200 Subject: [PATCH] Add docker-compose for symqemu --- Dockerfile | 42 +++++++++++++++++++++++++++++------------- docker-compose.yml | 17 +++++++++++++++++ 2 files changed, 46 insertions(+), 13 deletions(-) create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile index 2b5d6f50e7..2859665a16 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # prepare machine -FROM ubuntu:22.04 as builder +FROM ubuntu:22.04 as base RUN apt update && apt install -y \ ninja-build \ @@ -16,7 +16,10 @@ RUN apt update && apt install -y \ z3 \ libz3-dev \ libz3-dev \ - libzstd-dev + libzstd-dev \ + colordiff \ + xxd \ + wdiff RUN pip install --user meson @@ -35,20 +38,33 @@ RUN if [ $LLVM_VERSION -eq 12 ] || [ $LLVM_VERSION -eq 13 ] || [ $LLVM_VERSION else mkdir /llvm && cd /llvm && wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && ./llvm.sh ${LLVM_VERSION}; \ fi +RUN < /configure_symqemu.sh +../configure \ + --audio-drv-list= \ + --disable-sdl \ + --disable-gtk \ + --disable-vte \ + --disable-opengl \ + --disable-virglrenderer \ + --target-list=x86_64-linux-user,riscv64-linux-user \ + --enable-debug \ + --enable-debug-tcg \ + --symcc-rt-llvm-version="$LLVM_VERSION" \ + --disable-werror +EOF + +RUN chmod u+x /configure_symqemu.sh + +FROM base as symqemu-dev + +WORKDIR /symqemu_source + +FROM base as symqemu + COPY . /symqemu_source WORKDIR /symqemu_source -RUN mkdir build && cd build && ../configure \ - --audio-drv-list= \ - --disable-sdl \ - --disable-gtk \ - --disable-vte \ - --disable-opengl \ - --disable-virglrenderer \ - --target-list=x86_64-linux-user,riscv64-linux-user \ - --enable-debug \ - --enable-debug-tcg \ - --symcc-rt-llvm-version="$LLVM_VERSION" +RUN mkdir build && cd build && /configure_symqemu.sh RUN cd build && make -j diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000..aec9518b33 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,17 @@ +services: + symqemu-dev: + build: + context: . + dockerfile: Dockerfile + target: symqemu-dev + volumes: + - ./:/symqemu_source + - /symqemu_source/build + command: tail -f /dev/null + + symqemu: + build: + context: . + dockerfile: Dockerfile + target: symqemu + command: tail -f /dev/null