diff options
author | 2021-10-24 06:18:42 -0700 | |
---|---|---|
committer | 2021-10-24 06:18:42 -0700 | |
commit | 449c8b5f362835d75e5f98ccf89f99df5d7a2e88 (patch) | |
tree | 8fefde6f3d2bb6d376f588b9d4c1fd837102d641 /Dockerfile-zig | |
parent | 1f7af3754d3649a82145da4c92b76a10ab1b2468 (diff) | |
download | bun-449c8b5f362835d75e5f98ccf89f99df5d7a2e88.tar.gz bun-449c8b5f362835d75e5f98ccf89f99df5d7a2e88.tar.zst bun-449c8b5f362835d75e5f98ccf89f99df5d7a2e88.zip |
[internal] Tweak build system to better support unit tests in Zig
Diffstat (limited to 'Dockerfile-zig')
-rw-r--r-- | Dockerfile-zig | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/Dockerfile-zig b/Dockerfile-zig new file mode 100644 index 000000000..57598be49 --- /dev/null +++ b/Dockerfile-zig @@ -0,0 +1,52 @@ +FROM ubuntu:latest + +RUN apt-get update && apt-get install --no-install-recommends -y wget gnupg2 curl lsb-release wget software-properties-common +RUN curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - + +RUN wget https://apt.llvm.org/llvm.sh --no-check-certificate +RUN chmod +x llvm.sh +RUN ./llvm.sh 12 + +RUN apt-get update && apt-get install --no-install-recommends -y \ + ca-certificates \ + curl \ + gnupg2 \ + software-properties-common \ + cmake \ + build-essential \ + git \ + libssl-dev \ + ruby \ + liblld-12-dev \ + libclang-12-dev \ + nodejs \ + gcc \ + g++ \ + npm \ + clang-12 \ + clang-format-12 \ + libc++-12-dev \ + libc++abi-12-dev \ + lld-12 \ + libicu-dev + +RUN update-alternatives --install /usr/bin/ld ld /usr/bin/lld-12 90 && \ + update-alternatives --install /usr/bin/cc cc /usr/bin/clang-12 90 && \ + update-alternatives --install /usr/bin/cpp cpp /usr/bin/clang++-12 90 && \ + update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-12 90 + + +ENV CC=clang-12 +ENV CXX=clang++-12 + +# Compile zig +RUN mkdir -p /home/ubuntu/zig; cd /home/ubuntu; git clone https://github.com/jarred-sumner/zig.git; cd /home/ubuntu/zig && git checkout jarred/zig-sloppy-with-small-structs && cmake . -DCMAKE_BUILD_TYPE=Release && make -j$(nproc) + +ENV PATH="/home/ubuntu/zig:$PATH" + +RUN npm install -g esbuild + + + + + |