summaryrefslogtreecommitdiffstats
path: root/scripts/docker/android-build-container/Dockerfile
blob: 1fcc1aa7690671edc40693a75f2b15c57fd35b3a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
From ubuntu:18.04

RUN apt-get update  && \
    apt-get upgrade -y && \
    apt-get install -y \
    autoconf \
    automake \
    git \
    libtool-bin \
    make \
    wget \
    unzip \
    python \
    bzip2 \
    pkg-config \
    libx11-xcb1 \
    libgl1-mesa-glx \
    libglib2.0-0 \
    openjdk-8-jdk \
    curl \
    p7zip-full

# create our working directory and place the local copies of the Qt
# install, NDK and SDK there, plus the three files from the Subsurface
# sources that we need to get the prep routines to run
RUN mkdir -p /android
ADD android-ndk-r*-linux-x86_64.zip /android/
ADD sdk-tools-linux-*.zip /android/
ADD install-qt.sh android-build-wrapper.sh variables.sh /android/

# install current cmake
ADD cmake-3.13.2.tar.gz /android/
RUN cd /android/cmake-3.13.2 && \
    bash ./bootstrap && \
    make -j6 && make install

# run the build wrapper in prep mode
RUN cd /android && bash -x /android/android-build-wrapper.sh -prep-only

# clean up the files that we don't need to keep the container smaller
RUN cd /android && \
    apt-get remove -y gcc g++-7 libstdc++-7-dev && \
    rm -rf \
	   Qt/5*/android_arm*/lib/*x86* \
	   Qt/5*/android_arm*/doc \
	   Qt/5*/android_arm*/include/QtHelp \
	   Qt/5*/android_arm*/include/QtFbSupport \
	   Qt/5*/android_arm*/include/QtFontDatabaseSupport \
	   Qt/5*/android_arm*/include/QtNfc \
	   Qt/5*/android_arm*/include/QtPrintSupport \
	   Qt/5*/android_arm*/include/QtTest \
	   Qt/5*/android_arm*/include/QtXml \
	   Qt/5*/android_arm*/plugins/geoservices/libqtgeoservices_mapboxgl.so \
	   sdk-tools-linux-*.zip \
	   android-ndk-r*-linux-x86_64.zip \
	   $( find android-ndk*/platforms -name arch-mips -o -name arch-x86 ) \
	   android-ndk-r[0-9a-z]*/toolchains/x86-* android-ndk*/toolchains/llvm/prebuilt/x86-* \
	   android-ndk-r[0-9a-z]*/platforms/android-[12][2345678] \
	   android-ndk-r[0-9a-z]*/platforms/android-21/arch-x86_64 \
	   android-ndk-r[0-9a-z]*/prebuilt/linux-x86_64 \
	   android-ndk-r[0-9a-z]*/simpleperf \
	   android-ndk-r[0-9a-z]*/sources/cxx-stl/llvm-libc++/libs/x* \
	   android-ndk-r[0-9a-z]*/sources/cxx-stl/llvm-libc++/libs/*/*static* \
	   android-ndk-r[0-9a-z]*/sources/cxx-stl/llvm-libc++/test \
	   android-ndk-r[0-9a-z]*/sources/cxx-stl/llvm-libc++/utils \
	   android-ndk-r[0-9a-z]*/sources/cxx-stl/llvmlibc++abi \
	   android-ndk-r[0-9a-z]*/sources/cxx-stl/system \
	   android-ndk-r[0-9a-z]*/sources/third_party \
	   android-ndk-r[0-9a-z]*/sysroot/usr/lib \
	   android-sdk-linux/build-tools/28.0.3/renderscript \
	   android-sdk-linux/platform-tools/systrace \
	   android-sdk-linux/tools/lib \
	   android-sdk-linux/tools/proguard \
	   android-sdk-linux/tools/support \
           android-sdk-linux/emulator \
	   /usr/lib/gcc \
           cmake-3.13* && \
    ls -l && \
    du -sh *
RUN apt-get clean
RUN cd /android/android-ndk-r18b/toolchains && ln -s x86_64-4.9 x86-64-4.9
RUN touch /android/finished-"`date`"