Skip to content

Commit f3b48fd

Browse files
committed
actually use the crosscompilers
1 parent f1d9ff8 commit f3b48fd

File tree

3 files changed

+32
-29
lines changed

3 files changed

+32
-29
lines changed

Dockerfile

+16-16
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,33 @@ LABEL org.opencontainers.image.source=https://github.com/halide/docker-images
55

66
WORKDIR /ws
77

8-
## Install wget
9-
#RUN yum -y install wget
10-
118
## Install Ninja
12-
RUN git clone --depth 1 --branch v1.12.1 https://github.com/ninja-build/ninja.git && \
9+
ARG NINJA_VERSION=v1.12.1
10+
RUN git clone --depth 1 --branch ${NINJA_VERSION} https://github.com/ninja-build/ninja.git && \
1311
cmake -S ninja -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF && \
1412
cmake --build build --target install -j "$(nproc)" && \
1513
rm -rf ninja build
1614

1715
## Install flatbuffers
18-
ARG FB_VERSION=23.5.26
19-
RUN wget -q https://github.com/google/flatbuffers/archive/refs/tags/v${FB_VERSION}.tar.gz && \
20-
tar xvf v${FB_VERSION}.tar.gz && \
21-
rm v${FB_VERSION}.tar.gz && \
22-
cmake -G Ninja -S flatbuffers-${FB_VERSION} -B build \
16+
ARG FB_VERSION=v23.5.26
17+
RUN git clone --depth 1 --branch ${FB_VERSION} https://github.com/google/flatbuffers.git && \
18+
cmake -G Ninja -S flatbuffers -B build \
2319
-DCMAKE_BUILD_TYPE=Release \
20+
-DCMAKE_C_COMPILER=$TARGET_CC \
21+
-DCMAKE_CXX_COMPILER=$TARGET_CXX \
2422
-DFLATBUFFERS_BUILD_TESTS=OFF \
2523
&& \
2624
cmake --build build --target install && \
27-
rm -rf flatbuffers-${FB_VERSION} build
25+
rm -rf flatbuffers build
2826

2927
## Install flatbuffers
3028
ARG WABT_VERSION=1.0.36
3129
RUN git clone --depth 1 --branch ${WABT_VERSION} https://github.com/WebAssembly/wabt.git && \
3230
git -C wabt submodule update --init third_party/picosha2 && \
3331
cmake -G Ninja -S wabt -B build \
3432
-DCMAKE_BUILD_TYPE=Release \
33+
-DCMAKE_C_COMPILER=$TARGET_CC \
34+
-DCMAKE_CXX_COMPILER=$TARGET_CXX \
3535
-DWITH_EXCEPTIONS=ON \
3636
-DBUILD_TESTS=OFF \
3737
-DBUILD_TOOLS=OFF \
@@ -41,16 +41,16 @@ RUN git clone --depth 1 --branch ${WABT_VERSION} https://github.com/WebAssembly/
4141
cmake --build build --target install && \
4242
rm -rf wabt build
4343

44-
## Install LLVM
44+
# Install LLVM
4545
ARG LLVM_TAG=llvmorg-18.1.8
46-
RUN wget -q https://github.com/llvm/llvm-project/archive/refs/tags/${LLVM_TAG}.tar.gz && \
47-
tar xf ${LLVM_TAG}.tar.gz && \
48-
rm ${LLVM_TAG}.tar.gz && \
49-
cmake -G Ninja -S llvm-project-${LLVM_TAG}/llvm -B build \
46+
RUN git clone --depth 1 --branch ${LLVM_TAG} https://github.com/llvm/llvm-project.git && \
47+
cmake -G Ninja -S llvm-project/llvm -B build \
5048
"-DLLVM_ENABLE_PROJECTS=clang;lld" \
5149
"-DLLVM_ENABLE_RUNTIMES=compiler-rt" \
5250
"-DLLVM_TARGETS_TO_BUILD=WebAssembly;X86;AArch64;ARM;Hexagon;NVPTX;PowerPC;RISCV" \
5351
-DCMAKE_BUILD_TYPE=Release \
52+
-DCMAKE_C_COMPILER=$TARGET_CC \
53+
-DCMAKE_CXX_COMPILER=$TARGET_CXX \
5454
-DLLVM_BUILD_32_BITS=OFF \
5555
-DLLVM_ENABLE_ASSERTIONS=ON \
5656
-DLLVM_ENABLE_BINDINGS=OFF \
@@ -72,4 +72,4 @@ RUN wget -q https://github.com/llvm/llvm-project/archive/refs/tags/${LLVM_TAG}.t
7272
-DLLVM_INCLUDE_TESTS=OFF \
7373
&& \
7474
cmake --build build --target install && \
75-
rm -rf llvm-project-${LLVM_TAG} build
75+
rm -rf llvm-project build

build-images.sh

+11-12
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,16 @@ set -eo pipefail
44

55
[[ "$1" == "" ]] && echo "You must specify the LLVM version as an argument, e.g. 17.0.6" && exit
66

7-
LLVM_TAG=$1
7+
LLVM_TAG="$1"
88

9-
docker build \
10-
--tag "ghcr.io/halide/manylinux_2_28_aarch64-llvm:$LLVM_TAG" \
11-
--build-arg "LLVM_TAG=llvmorg-$LLVM_TAG" \
12-
--build-arg "ARCH=aarch64" \
13-
.
14-
15-
docker build \
16-
--tag "ghcr.io/halide/manylinux_2_28_x86_64-llvm:$LLVM_TAG" \
17-
--build-arg "LLVM_TAG=llvmorg-$LLVM_TAG" \
18-
--build-arg "ARCH=x86_64" \
19-
.
9+
build_arch () {
10+
ARCH="$1"
11+
docker build \
12+
--tag "ghcr.io/halide/manylinux_2_28_$ARCH-llvm:$LLVM_TAG" \
13+
--build-arg "LLVM_TAG=llvmorg-$LLVM_TAG" \
14+
--build-arg "ARCH=$ARCH" \
15+
.
16+
}
2017

18+
build_arch aarch64
19+
build_arch x86_64

reset-docker.sh

+5-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ fi
1717
##
1818
# Remove all images
1919

20-
docker image prune
20+
docker image prune -f
2121

2222
read -ra images < <(docker images -qa) || true
2323
if ((${#images[@]} != 0)); then
@@ -37,3 +37,7 @@ if ((${#volumes[@]} != 0)); then
3737
else
3838
echo "No volumes to remove"
3939
fi
40+
41+
##
42+
# Remove everything else
43+
docker system prune -af --volumes

0 commit comments

Comments
 (0)