Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM debian:stretch
FROM debian:buster

RUN apt-get update && apt-get -y -f install \
bash \
Expand Down
6 changes: 2 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,12 @@ all:
done

base:
$(DOCKER) build -t $(IMAGE):base .
$(DOCKER) build -t $(PROJECT)/$(IMAGE):base .

$(PLATFORMS): base
$(DOCKER) build -t $(IMAGE):$@ -f docker/$@.Dockerfile docker
$(DOCKER) build -t $(PROJECT)/$(IMAGE):$@ -f docker/$@.Dockerfile docker

push:
docker tag cross-compiler:$(PLATFORM) $(PROJECT)/cross-compiler:$(PLATFORM)
docker push $(PROJECT)/cross-compiler:$(PLATFORM)

push-all:
Expand All @@ -45,7 +44,6 @@ push-all:

pull:
docker pull $(PROJECT)/cross-compiler:$(PLATFORM)
docker tag $(PROJECT)/cross-compiler:$(PLATFORM) cross-compiler:$(PLATFORM)

pull-all:
for i in $(PLATFORMS); do \
Expand Down
37 changes: 21 additions & 16 deletions docker/android-arm.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,23 +1,28 @@
FROM cross-compiler:base
FROM elementumorg/cross-compiler:base as ndk
WORKDIR /ndk

ENV CROSS_TRIPLE arm-linux-androideabi
ENV NDK android-ndk-r20b
RUN wget -nv https://dl.google.com/android/repository/${NDK}-linux-x86_64.zip
RUN unzip ${NDK}-linux-x86_64.zip ${NDK}/toolchains/llvm/prebuilt/linux-x86_64/* 1>log 2>err
RUN ln -s ${NDK}/toolchains/llvm/prebuilt/linux-x86_64/ toolchain

FROM elementumorg/cross-compiler:base as base

ENV CROSS_TRIPLE armv7a-linux-androideabi21
ENV CROSS_ROOT /usr/${CROSS_TRIPLE}
ENV PATH ${PATH}:${CROSS_ROOT}/bin:${CROSS_ROOT}/go/bin
ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV LD_LIBRARY_PATH ${CROSS_ROOT}/lib:${LD_LIBRARY_PATH}
ENV PKG_CONFIG_PATH ${CROSS_ROOT}/lib/pkgconfig:${PKG_CONFIG_PATH}

RUN apt-get update && apt-get install -y python

ENV NDK android-ndk-r20b

RUN set -ex && \
mkdir -p /build && \
cd /build && \
wget -nv https://dl.google.com/android/repository/${NDK}-linux-x86_64.zip && \
unzip ${NDK}-linux-x86_64.zip 1>log 2>err && \
cd ${NDK} && \
./build/tools/make_standalone_toolchain.py --arch=arm --api=21 --install-dir=${CROSS_ROOT} && \
cd / && rm -rf /build
COPY --from=ndk /ndk/toolchain/arm-linux-androideabi/bin/ld ${CROSS_ROOT}/bin/
COPY --from=ndk /ndk/toolchain/bin/clang++ /ndk/toolchain/bin/clang /ndk/toolchain/bin/${CROSS_TRIPLE}-clang* ${CROSS_ROOT}/bin/
COPY --from=ndk /ndk/toolchain/bin/arm-linux-androideabi-ar ${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar
COPY --from=ndk /ndk/toolchain/bin/arm-linux-androideabi-ranlib ${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ranlib
COPY --from=ndk /ndk/toolchain/lib/gcc ${CROSS_ROOT}/lib/gcc/
COPY --from=ndk /ndk/toolchain/lib64/libc++.so.1 ${CROSS_ROOT}/lib64/
COPY --from=ndk /ndk/toolchain/lib64/clang ${CROSS_ROOT}/lib64/clang/
COPY --from=ndk /ndk/toolchain/sysroot/usr/include ${CROSS_ROOT}/sysroot/usr/include/
COPY --from=ndk /ndk/toolchain/sysroot/usr/lib/arm-linux-androideabi ${CROSS_ROOT}/sysroot/usr/lib/arm-linux-androideabi

RUN cd ${CROSS_ROOT}/bin && \
ln -s ${CROSS_TRIPLE}-clang ${CROSS_TRIPLE}-cc
ln -s ${CROSS_TRIPLE}-clang ${CROSS_TRIPLE}-gcc