mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-11 11:31:29 +00:00
d3e495efd0
If we install our support libraries into the NDK we later run into include path order issues that result in strange errors around the inclusion of math.h (because we find the C version of that include file that ships with the NDK before we find the libstdc++ version of math.h (because the include path for our support libraries is listed before the libstdc++ include search path). By having a distinct install-root for our libraries we can avoid this problem. Remove the previous hack that tried to work around the symptoms of this issue. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
82 lines
2.9 KiB
Docker
82 lines
2.9 KiB
Docker
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`"
|