mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	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`"
 |