mirror of
				https://github.com/bensuperpc/dockcross.git
				synced 2025-10-28 06:56:20 +01:00 
			
		
		
		
	Compare commits
	
		
			51 Commits
		
	
	
		
			update-cro
			...
			3deaae3929
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 3deaae3929 | ||
|   | 15f69e2d8a | ||
|   | c31dde3d41 | ||
|   | 3ada9c5df8 | ||
|   | 518960a612 | ||
|   | 1bebfd7300 | ||
|   | ce8865c0af | ||
|   | dcb6bde44b | ||
|   | 0ca299216e | ||
|   | 27e0cf6c78 | ||
|   | 494c154b87 | ||
|   | abab9c6b4b | ||
|   | d823872763 | ||
|   | 95d67e95d0 | ||
|   | 72c453f7c1 | ||
|   | 1cfb3b1459 | ||
|   | a10699233d | ||
|   | 9668cbac87 | ||
|   | a3b42cd215 | ||
|   | bcc2e1c2a5 | ||
|   | 4bd0eec07e | ||
|   | 5836581678 | ||
|   | 83766c341d | ||
|   | 663c6da5bf | ||
|   | 86f7a8625c | ||
|   | b73eaf9a77 | ||
|   | 7edeef6bc2 | ||
|   | 91a1cfe30b | ||
|   | 762ed4a396 | ||
|   | b25c978187 | ||
|   | 2235db7afb | ||
|   | 1678be2d0d | ||
|   | 16e96d1b07 | ||
|   | 7317e5bf2a | ||
|   | 08ddf8271b | ||
|   | e66c1880ec | ||
| ec5e88f98c | |||
|   | 49d9ab4342 | ||
|   | c76accc121 | ||
|   | 925499ed12 | ||
|   | 37e2800939 | ||
|   | 9e8e187280 | ||
|   | a08b4afce0 | ||
|   | a41e71ea67 | ||
|   | 283f79eacf | ||
|   | 4a4babf7fa | ||
|   | e6619f6a22 | ||
|   | d91bdd6564 | ||
|   | 133cdd4bf5 | ||
|   | 2592f3a90f | ||
|   | 69c4db9338 | 
							
								
								
									
										23
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1373,11 +1373,11 @@ jobs: | |||||||
|           cd ninja |           cd ninja | ||||||
|           ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.ninja_arg }} |           ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.ninja_arg }} | ||||||
|  |  | ||||||
|       # Updated on 12/09/2022 |       # Updated on 04/04/2025 (Use openSSL_1_1_1w to fix error: implicit declaration of function 'memcmp') | ||||||
|       - name: openssl build test |       - name: openssl build test | ||||||
|         if: ${{ matrix.arch_name.openssl == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }} |         if: ${{ matrix.arch_name.openssl == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }} | ||||||
|         run: | |         run: | | ||||||
|           git clone --depth 1 --branch OpenSSL_1_1_1q https://github.com/openssl/openssl.git |           git clone --depth 1 --branch OpenSSL_1_1_1w https://github.com/openssl/openssl.git | ||||||
|           cd openssl |           cd openssl | ||||||
|           wget https://raw.githubusercontent.com/mavlink/MAVSDK/main/third_party/openssl/dockcross-android.patch |           wget https://raw.githubusercontent.com/mavlink/MAVSDK/main/third_party/openssl/dockcross-android.patch | ||||||
|           patch -p 0 < dockcross-android.patch |           patch -p 0 < dockcross-android.patch | ||||||
| @@ -1483,14 +1483,14 @@ jobs: | |||||||
|         if: matrix.arch_name.multiarch == 'yes' |         if: matrix.arch_name.multiarch == 'yes' | ||||||
|         run: | |         run: | | ||||||
|           mkdir -p cache-${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }} |           mkdir -p cache-${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }} | ||||||
|           docker export dockcross/${{ matrix.arch_name.image }}:latest-${{ env.HOST_ARCH }} | xz -e9 -T0 > ./cache/${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}.tar.xz |           docker export dockcross/${{ matrix.arch_name.image }}:latest-${{ env.HOST_ARCH }} | xz -e9 -T0 > ./cache-${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}/${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}.tar.xz | ||||||
|  |  | ||||||
|       - name: save ${{ matrix.arch_name.image }}-${{ matrix.os }} |       - name: save ${{ matrix.arch_name.image }}-${{ matrix.os }} | ||||||
|         uses: actions/upload-artifact@v4 |         uses: actions/upload-artifact@v4 | ||||||
|         if: matrix.arch_name.multiarch == 'yes' |         if: matrix.arch_name.multiarch == 'yes' | ||||||
|         with: |         with: | ||||||
|           name: cache-${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }} |           name: cache-${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }} | ||||||
|           path: ./cache/${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}.tar.xz |           path: ./cache-${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }} | ||||||
|           retention-days: 3 |           retention-days: 3 | ||||||
|  |  | ||||||
|       - name: Login to Docker Hub |       - name: Login to Docker Hub | ||||||
| @@ -1524,18 +1524,18 @@ jobs: | |||||||
|         uses: actions/download-artifact@v4 |         uses: actions/download-artifact@v4 | ||||||
|         with: |         with: | ||||||
|           name: cache-${{ matrix.image_name }}-amd64 |           name: cache-${{ matrix.image_name }}-amd64 | ||||||
|           path: ./cache/${{ matrix.image_name }}-amd64.tar.xz |           path: ./cache-${{ matrix.image_name }}-amd64 | ||||||
|  |  | ||||||
|       - name: download ${{ matrix.image_name }}-arm64 |       - name: download ${{ matrix.image_name }}-arm64 | ||||||
|         uses: actions/download-artifact@v4 |         uses: actions/download-artifact@v4 | ||||||
|         with: |         with: | ||||||
|           name: cache-${{ matrix.image_name }}-arm64 |           name: cache-${{ matrix.image_name }}-arm64 | ||||||
|           path: ./cache/${{ matrix.image_name }}-arm64.tar.xz |           path: ./cache-${{ matrix.image_name }}-arm64 | ||||||
|  |  | ||||||
|       - name: load images |       - name: load images | ||||||
|         run: | |         run: | | ||||||
|           xz -d -k < ./cache/${{ matrix.image_name }}-amd64.tar.xz | docker import - dockcross/${{ matrix.image_name }}-amd64 |           xz -d -k < ./cache-${{ matrix.image_name }}-amd64/${{ matrix.image_name }}-amd64.tar.xz | docker import - dockcross/${{ matrix.image_name }}:latest-amd64 | ||||||
|           xz -d -k < ./cache/${{ matrix.image_name }}-arm64.tar.xz | docker import - dockcross/${{ matrix.image_name }}-arm64 |           xz -d -k < ./cache-${{ matrix.image_name }}-arm64/${{ matrix.image_name }}-arm64.tar.xz | docker import - dockcross/${{ matrix.image_name }}:latest-arm64 | ||||||
|  |  | ||||||
|       - name: Login to Docker Hub |       - name: Login to Docker Hub | ||||||
|         if: github.ref == 'refs/heads/master' |         if: github.ref == 'refs/heads/master' | ||||||
| @@ -1547,11 +1547,14 @@ jobs: | |||||||
|       - name: deploy-multi-arch |       - name: deploy-multi-arch | ||||||
|         if: github.ref == 'refs/heads/master' |         if: github.ref == 'refs/heads/master' | ||||||
|         run: | |         run: | | ||||||
|  |             docker images | ||||||
|  |  | ||||||
|             make ${{ matrix.image_name }}.tag-amd64 |             make ${{ matrix.image_name }}.tag-amd64 | ||||||
|             make ${{ matrix.image_name }}.tag-arm64 |  | ||||||
|  |  | ||||||
|             make ${{ matrix.image_name }}.push-amd64 |             make ${{ matrix.image_name }}.push-amd64 | ||||||
|  |  | ||||||
|  |             export HOST_ARCH=arm64 | ||||||
|  |             make ${{ matrix.image_name }}.tag-arm64 | ||||||
|             make ${{ matrix.image_name }}.push-arm64 |             make ${{ matrix.image_name }}.push-arm64 | ||||||
|  |             unset HOST_ARCH | ||||||
|  |  | ||||||
|             make ${{ matrix.image_name }}.push |             make ${{ matrix.image_name }}.push | ||||||
|   | |||||||
| @@ -106,10 +106,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm64) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm64) | ||||||
| @@ -135,7 +135,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com" | |||||||
| # This is for 64-bit ARM Linux machine | # This is for 64-bit ARM Linux machine | ||||||
|  |  | ||||||
| # Crosstool-ng crosstool-ng-1.25.0 2022-05-13 | # Crosstool-ng crosstool-ng-1.25.0 2022-05-13 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| @@ -147,9 +147,9 @@ RUN apt-get update \ | |||||||
| && apt-get clean --yes | && apt-get clean --yes | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target. | # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target. | ||||||
| ENV CROSS_TRIPLE aarch64-unknown-linux-gnu | ENV CROSS_TRIPLE=aarch64-unknown-linux-gnu | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -158,18 +158,18 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig | ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm64 | ENV ARCH=arm64 | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
| ``` | ``` | ||||||
| @@ -179,15 +179,15 @@ Then you must change these lines according to the targeted architecture. | |||||||
| Here you have to change the value according to the name of the toolchain (./ct-ng show-tuple): | Here you have to change the value according to the name of the toolchain (./ct-ng show-tuple): | ||||||
|  |  | ||||||
| ```docker | ```docker | ||||||
| ENV CROSS_TRIPLE aarch64-unknown-linux-gnu | ENV CROSS_TRIPLE=aarch64-unknown-linux-gnu | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| These lines also need to be changed: | These lines also need to be changed: | ||||||
|  |  | ||||||
| ```docker | ```docker | ||||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com" | LABEL maintainer="Matt McCormick matt@mmmccormick.com" | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig | ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig | ||||||
| ENV ARCH arm64 | ENV ARCH=arm64 | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| Once this part is finished, there must be 3 files in the `linux-arm64` folder: | Once this part is finished, there must be 3 files in the `linux-arm64` folder: | ||||||
|   | |||||||
							
								
								
									
										35
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								Makefile
									
									
									
									
									
								
							| @@ -30,7 +30,7 @@ TAG_FLAG := $(or $(TAG_FLAG), --tag) | |||||||
| ORG = dockcross | ORG = dockcross | ||||||
|  |  | ||||||
| # Host architecture | # Host architecture | ||||||
| HOST_ARCH := $(shell uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/') | HOST_ARCH := $(or $(HOST_ARCH), $(shell uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/')) | ||||||
|  |  | ||||||
| # Directory where to generate the dockcross script for each images (e.g bin/dockcross-manylinux2014-x64) | # Directory where to generate the dockcross script for each images (e.g bin/dockcross-manylinux2014-x64) | ||||||
| BIN = ./bin | BIN = ./bin | ||||||
| @@ -49,7 +49,7 @@ STANDARD_IMAGES := android-arm android-arm64 android-x86 android-x86_64 \ | |||||||
| # Generated Dockerfiles. | # Generated Dockerfiles. | ||||||
| GEN_IMAGES := android-arm android-arm64 \ | GEN_IMAGES := android-arm android-arm64 \ | ||||||
| 	linux-i686 linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \ | 	linux-i686 linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \ | ||||||
| 	manylinux_2_28-x64 \ | 	manylinux_2_28-x64 manylinux_2_34-x64 \ | ||||||
| 	manylinux2014-x64 manylinux2014-x86 \ | 	manylinux2014-x64 manylinux2014-x86 \ | ||||||
| 	manylinux2014-aarch64 linux-arm64-lts \ | 	manylinux2014-aarch64 linux-arm64-lts \ | ||||||
| 	web-wasm web-wasi web-wasi-emulated-threads web-wasi-threads linux-mips linux-mips-uclibc linux-mips-lts windows-arm64 windows-armv7 \ | 	web-wasm web-wasi web-wasi-emulated-threads web-wasi-threads linux-mips linux-mips-uclibc linux-mips-lts windows-arm64 windows-armv7 \ | ||||||
| @@ -68,11 +68,11 @@ MULTIARCH_IMAGES :=  linux-arm64 \ | |||||||
| GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES)) | GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES)) | ||||||
|  |  | ||||||
| # These images are expected to have explicit rules for *both* build and testing | # These images are expected to have explicit rules for *both* build and testing | ||||||
| NON_STANDARD_IMAGES := manylinux_2_28-x64 manylinux2014-x64 manylinux2014-x86 \ | NON_STANDARD_IMAGES := manylinux_2_28-x64 manylinux_2_34-x64 manylinux2014-x64 manylinux2014-x86 \ | ||||||
| 		      manylinux2014-aarch64 web-wasm web-wasi-emulated-threads web-wasi-threads | 		      manylinux2014-aarch64 web-wasm web-wasi-emulated-threads web-wasi-threads | ||||||
|  |  | ||||||
| # Docker composite files | # Docker composite files | ||||||
| DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.buildroot \ | DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.manylinux_2_34 common.buildroot \ | ||||||
| 	common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \ | 	common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \ | ||||||
| 	common.label-and-env | 	common.label-and-env | ||||||
| DOCKER_COMPOSITE_FOLDER_PATH = common/ | DOCKER_COMPOSITE_FOLDER_PATH = common/ | ||||||
| @@ -128,6 +128,7 @@ $(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOS | |||||||
| 		-e '/common.docker/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.docker' \ | 		-e '/common.docker/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.docker' \ | ||||||
| 		-e '/common.debian/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.debian' \ | 		-e '/common.debian/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.debian' \ | ||||||
| 		-e '/common.manylinux_2_28/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_28' \ | 		-e '/common.manylinux_2_28/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_28' \ | ||||||
|  | 		-e '/common.manylinux_2_34/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_34' \ | ||||||
| 		-e '/common.manylinux2014/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux2014' \ | 		-e '/common.manylinux2014/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux2014' \ | ||||||
| 		-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \ | 		-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \ | ||||||
| 		-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \ | 		-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \ | ||||||
| @@ -208,7 +209,7 @@ manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile manylinux2014-x64 | |||||||
| manylinux2014-aarch64.test: manylinux2014-aarch64 | manylinux2014-aarch64.test: manylinux2014-aarch64 | ||||||
| 	$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64:latest > $(BIN)/dockcross-manylinux2014-aarch64 \ | 	$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64:latest > $(BIN)/dockcross-manylinux2014-aarch64 \ | ||||||
| 		&& chmod +x $(BIN)/dockcross-manylinux2014-aarch64 | 		&& chmod +x $(BIN)/dockcross-manylinux2014-aarch64 | ||||||
| 	$(BIN)/dockcross-manylinux2014-aarch64 -i $(ORG)/manylinux2014-aarch64:latest /opt/python/cp38-cp38/bin/python test/run.py | 	$(BIN)/dockcross-manylinux2014-aarch64 -i $(ORG)/manylinux2014-aarch64:latest /opt/python/cp311-cp311/bin/python test/run.py | ||||||
|  |  | ||||||
| # | # | ||||||
| # manylinux_2_28-x64 | # manylinux_2_28-x64 | ||||||
| @@ -230,6 +231,26 @@ manylinux_2_28-x64.test: manylinux_2_28-x64 | |||||||
| 		&& chmod +x $(BIN)/dockcross-manylinux_2_28-x64 | 		&& chmod +x $(BIN)/dockcross-manylinux_2_28-x64 | ||||||
| 	$(BIN)/dockcross-manylinux_2_28-x64 -i $(ORG)/manylinux_2_28-x64:latest /opt/python/cp310-cp310/bin/python test/run.py | 	$(BIN)/dockcross-manylinux_2_28-x64 -i $(ORG)/manylinux_2_28-x64:latest /opt/python/cp310-cp310/bin/python test/run.py | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # manylinux_2_34-x64 | ||||||
|  | # | ||||||
|  | manylinux_2_34-x64: manylinux_2_34-x64/Dockerfile | ||||||
|  | 	mkdir -p $@/imagefiles && cp -r imagefiles $@/ | ||||||
|  | 	$(DOCKER) build -t $(ORG)/manylinux_2_34-x64:$(TAG) \ | ||||||
|  | 		-t $(ORG)/manylinux_2_34-x64:latest \ | ||||||
|  | 		--build-arg IMAGE=$(ORG)/manylinux_2_34-x64 \ | ||||||
|  | 		--build-arg VERSION=$(TAG) \ | ||||||
|  | 		--build-arg VCS_REF=`git rev-parse --short HEAD` \ | ||||||
|  | 		--build-arg VCS_URL=`git config --get remote.origin.url` \ | ||||||
|  | 		--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ | ||||||
|  | 		-f manylinux_2_34-x64/Dockerfile . | ||||||
|  | 	rm -rf $@/imagefiles | ||||||
|  |  | ||||||
|  | manylinux_2_34-x64.test: manylinux_2_34-x64 | ||||||
|  | 	$(DOCKER) run $(RM) $(ORG)/manylinux_2_34-x64:latest > $(BIN)/dockcross-manylinux_2_34-x64 \ | ||||||
|  | 		&& chmod +x $(BIN)/dockcross-manylinux_2_34-x64 | ||||||
|  | 	$(BIN)/dockcross-manylinux_2_34-x64 -i $(ORG)/manylinux_2_34-x64:latest /opt/python/cp310-cp310/bin/python test/run.py | ||||||
|  |  | ||||||
| # | # | ||||||
| # manylinux2014-x64 | # manylinux2014-x64 | ||||||
| # | # | ||||||
| @@ -248,7 +269,7 @@ manylinux2014-x64: manylinux2014-x64/Dockerfile | |||||||
| manylinux2014-x64.test: manylinux2014-x64 | manylinux2014-x64.test: manylinux2014-x64 | ||||||
| 	$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x64:latest > $(BIN)/dockcross-manylinux2014-x64 \ | 	$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x64:latest > $(BIN)/dockcross-manylinux2014-x64 \ | ||||||
| 		&& chmod +x $(BIN)/dockcross-manylinux2014-x64 | 		&& chmod +x $(BIN)/dockcross-manylinux2014-x64 | ||||||
| 	$(BIN)/dockcross-manylinux2014-x64 -i $(ORG)/manylinux2014-x64:latest /opt/python/cp38-cp38/bin/python test/run.py | 	$(BIN)/dockcross-manylinux2014-x64 -i $(ORG)/manylinux2014-x64:latest /opt/python/cp311-cp311/bin/python test/run.py | ||||||
|  |  | ||||||
| # | # | ||||||
| # manylinux2014-x86 | # manylinux2014-x86 | ||||||
| @@ -268,7 +289,7 @@ manylinux2014-x86: manylinux2014-x86/Dockerfile | |||||||
| manylinux2014-x86.test: manylinux2014-x86 | manylinux2014-x86.test: manylinux2014-x86 | ||||||
| 	$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x86:latest > $(BIN)/dockcross-manylinux2014-x86 \ | 	$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x86:latest > $(BIN)/dockcross-manylinux2014-x86 \ | ||||||
| 		&& chmod +x $(BIN)/dockcross-manylinux2014-x86 | 		&& chmod +x $(BIN)/dockcross-manylinux2014-x86 | ||||||
| 	$(BIN)/dockcross-manylinux2014-x86 -i $(ORG)/manylinux2014-x86:latest /opt/python/cp38-cp38/bin/python test/run.py | 	$(BIN)/dockcross-manylinux2014-x86 -i $(ORG)/manylinux2014-x86:latest /opt/python/cp311-cp311/bin/python test/run.py | ||||||
|  |  | ||||||
| # | # | ||||||
| # base-$(HOST_ARCH) | # base-$(HOST_ARCH) | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								README.md
									
									
									
									
									
								
							| @@ -18,6 +18,8 @@ Cross compiling toolchains in Docker images. | |||||||
| - [Meson](https://mesonbuild.com) is pre-installed. | - [Meson](https://mesonbuild.com) is pre-installed. | ||||||
| - [Conan.io](https://www.conan.io) can be used as a package manager. | - [Conan.io](https://www.conan.io) can be used as a package manager. | ||||||
| - Toolchain files configured for CMake. | - Toolchain files configured for CMake. | ||||||
|  | - [Rustup](https://rustup.rs/) is pre-installed. | ||||||
|  | - Some images (e.g. android) are configured for Rust. | ||||||
| - Current directory is mounted as the container\'s workdir, `/work`. | - Current directory is mounted as the container\'s workdir, `/work`. | ||||||
| - Works with the [Docker for Mac](https://docs.docker.com/docker-for-mac/) and [Docker for Windows](https://docs.docker.com/docker-for-windows/). | - Works with the [Docker for Mac](https://docs.docker.com/docker-for-mac/) and [Docker for Windows](https://docs.docker.com/docker-for-windows/). | ||||||
| - Support using alternative container executor by setting **OCI_EXE** environment variable. By default, it searches for [docker](https://www.docker.com) and [podman](https://podman.io) executable. | - Support using alternative container executor by setting **OCI_EXE** environment variable. By default, it searches for [docker](https://www.docker.com) and [podman](https://podman.io) executable. | ||||||
| @@ -30,6 +32,7 @@ Cross compiling toolchains in Docker images. | |||||||
| 3. `dockcross ninja -Cbuild`: Run ninja in the `./build` directory. | 3. `dockcross ninja -Cbuild`: Run ninja in the `./build` directory. | ||||||
| 4. `dockcross bash -c '$CC test/C/hello.c -o hello'`: Build the *hello.c* file with the compiler identified with the `CC` environmental variable in the build environment. | 4. `dockcross bash -c '$CC test/C/hello.c -o hello'`: Build the *hello.c* file with the compiler identified with the `CC` environmental variable in the build environment. | ||||||
| 5. `dockcross bash`: Run an interactive shell in the build environment. | 5. `dockcross bash`: Run an interactive shell in the build environment. | ||||||
|  | 6. `dockcross cargo build`: Build the current Rust project. | ||||||
|  |  | ||||||
| Note that commands are executed verbatim. If any shell processing for environment variable expansion or redirection is required, please use | Note that commands are executed verbatim. If any shell processing for environment variable expansion or redirection is required, please use | ||||||
|  |  | ||||||
| @@ -113,6 +116,7 @@ The dockcross script will execute the given command-line inside the container, a | |||||||
| | dockcross/linux-m68k-uclibc | m68k | GCC + uclibc | Linux | | | dockcross/linux-m68k-uclibc | m68k | GCC + uclibc | Linux | | ||||||
| | dockcross/linux-xtensa-uclibc | xtensa | GCC + uclibc | Linux | | | dockcross/linux-xtensa-uclibc | xtensa | GCC + uclibc | Linux | | ||||||
| | dockcross/manylinux_2_28-x64 | x86_64 | GCC | Linux | | | dockcross/manylinux_2_28-x64 | x86_64 | GCC | Linux | | ||||||
|  | | dockcross/manylinux_2_34-x64 | x86_64 | GCC | Linux | | ||||||
| | dockcross/manylinux2014-x86 | x86 | GCC | Linux | | | dockcross/manylinux2014-x86 | x86 | GCC | Linux | | ||||||
| | dockcross/manylinux2014-x64 | x86_64 | GCC | Linux | | | dockcross/manylinux2014-x64 | x86_64 | GCC | Linux | | ||||||
| | dockcross/linux-i686 | x86 | GCC | Linux | | | dockcross/linux-i686 | x86 | GCC | Linux | | ||||||
| @@ -381,6 +385,12 @@ Standalone Linux i686 cross compiler. | |||||||
|  |  | ||||||
| Docker [manylinux_2_28](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_28** to \"TRUE\" in the toolchain. | Docker [manylinux_2_28](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_28** to \"TRUE\" in the toolchain. | ||||||
|  |  | ||||||
|  | ### dockcross/manylinux_2_34-x64 | ||||||
|  |  | ||||||
|  |   | ||||||
|  |  | ||||||
|  | Docker [manylinux_2_34](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.8.10+, 3.9.5+, 3.10.0+. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_34** to \"TRUE\" in the toolchain. | ||||||
|  |  | ||||||
| ### dockcross/manylinux2014-x64 | ### dockcross/manylinux2014-x64 | ||||||
|  |  | ||||||
|   |   | ||||||
| @@ -566,7 +576,7 @@ An example Dockerfile would be: | |||||||
| ``` | ``` | ||||||
| FROM dockcross/linux-armv7 | FROM dockcross/linux-armv7 | ||||||
|  |  | ||||||
| ENV DEFAULT_DOCKCROSS_IMAGE my_cool_image | ENV DEFAULT_DOCKCROSS_IMAGE=my_cool_image | ||||||
| RUN apt-get install -y nano | RUN apt-get install -y nano | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
|   | |||||||
| @@ -17,8 +17,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \ | |||||||
|     CXX=${CROSS_ROOT}/bin/clang++ \ |     CXX=${CROSS_ROOT}/bin/clang++ \ | ||||||
|     LD=${CROSS_ROOT}/bin/ld |     LD=${CROSS_ROOT}/bin/ld | ||||||
|  |  | ||||||
| ENV ANDROID_NDK_REVISION 25b | ENV ANDROID_NDK_REVISION=25b | ||||||
| ENV ANDROID_API 23 | ENV ANDROID_API=23 | ||||||
|  |  | ||||||
| RUN mkdir -p /build && \ | RUN mkdir -p /build && \ | ||||||
|     cd /build && \ |     cd /build && \ | ||||||
| @@ -35,7 +35,13 @@ RUN mkdir -p /build && \ | |||||||
|     find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \ |     find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \ | ||||||
|     find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \; |     find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \; | ||||||
|  |  | ||||||
|  | # Prepare Rust | ||||||
|  | ENV PATH="/root/.cargo/bin/:$PATH" | ||||||
|  | RUN rustup target add armv7-linux-androideabi | ||||||
|  | COPY config.toml /root/.cargo/ | ||||||
|  |  | ||||||
|  | # Prepare CMake | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -15,10 +15,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
| set(CMAKE_EXE_LINKER_FLAGS "-llog") | set(CMAKE_EXE_LINKER_FLAGS "-llog") | ||||||
| set(CMAKE_SHARED_LINKER_FLAGS "-llog") | set(CMAKE_SHARED_LINKER_FLAGS "-llog") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) | set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | ||||||
|   | |||||||
							
								
								
									
										5
									
								
								android-arm/config.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								android-arm/config.toml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | [build] | ||||||
|  | target = "armv7-linux-androideabi" | ||||||
|  |  | ||||||
|  | [target.armv7-linux-androideabi] | ||||||
|  | linker = "/usr/arm-linux-androideabi/bin/armv7a-linux-androideabi23-clang" | ||||||
| @@ -21,8 +21,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \ | |||||||
|     CXX=${CROSS_ROOT}/bin/clang++ \ |     CXX=${CROSS_ROOT}/bin/clang++ \ | ||||||
|     LD=${CROSS_ROOT}/bin/ld |     LD=${CROSS_ROOT}/bin/ld | ||||||
|  |  | ||||||
| ENV ANDROID_NDK_REVISION 25b | ENV ANDROID_NDK_REVISION=25b | ||||||
| ENV ANDROID_API 23 | ENV ANDROID_API=23 | ||||||
|  |  | ||||||
| RUN mkdir -p /build && \ | RUN mkdir -p /build && \ | ||||||
|     cd /build && \ |     cd /build && \ | ||||||
| @@ -39,8 +39,13 @@ RUN mkdir -p /build && \ | |||||||
|     find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \ |     find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \ | ||||||
|     find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \; |     find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \; | ||||||
|  |  | ||||||
|  | # Prepare Rust | ||||||
|  | ENV PATH="/root/.cargo/bin/:$PATH" | ||||||
|  | RUN rustup target add aarch64-linux-android | ||||||
|  | COPY config.toml /root/.cargo/ | ||||||
|  |  | ||||||
|  | # Prepare CMake | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -14,10 +14,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
| set(CMAKE_EXE_LINKER_FLAGS "-llog") | set(CMAKE_EXE_LINKER_FLAGS "-llog") | ||||||
| set(CMAKE_SHARED_LINKER_FLAGS "-llog") | set(CMAKE_SHARED_LINKER_FLAGS "-llog") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) | set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | ||||||
|   | |||||||
							
								
								
									
										5
									
								
								android-arm64/config.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								android-arm64/config.toml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | [build] | ||||||
|  | target = "aarch64-linux-android" | ||||||
|  |  | ||||||
|  | [target.aarch64-linux-android] | ||||||
|  | linker = "/usr/aarch64-linux-android/bin/aarch64-linux-android-clang" | ||||||
| @@ -11,8 +11,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \ | |||||||
|     CXX=${CROSS_ROOT}/bin/clang++ \ |     CXX=${CROSS_ROOT}/bin/clang++ \ | ||||||
|     LD=${CROSS_ROOT}/bin/ld |     LD=${CROSS_ROOT}/bin/ld | ||||||
|  |  | ||||||
| ENV ANDROID_NDK_REVISION 25b | ENV ANDROID_NDK_REVISION=25b | ||||||
| ENV ANDROID_API 23 | ENV ANDROID_API=23 | ||||||
|  |  | ||||||
| RUN mkdir -p /build && \ | RUN mkdir -p /build && \ | ||||||
|     cd /build && \ |     cd /build && \ | ||||||
| @@ -29,8 +29,14 @@ RUN mkdir -p /build && \ | |||||||
|     find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \ |     find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \ | ||||||
|     find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \; |     find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \; | ||||||
|  |  | ||||||
|  | # Prepare Rust | ||||||
|  | ENV PATH="/root/.cargo/bin/:$PATH" | ||||||
|  | RUN rustup target add i686-linux-android | ||||||
|  | COPY config.toml /root/.cargo/ | ||||||
|  |  | ||||||
|  | # Prepare CMake | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| # Build-time metadata as defined at http://label-schema.org | # Build-time metadata as defined at http://label-schema.org | ||||||
| ARG BUILD_DATE | ARG BUILD_DATE | ||||||
| @@ -44,4 +50,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \ | |||||||
|       org.label-schema.vcs-ref=$VCS_REF \ |       org.label-schema.vcs-ref=$VCS_REF \ | ||||||
|       org.label-schema.vcs-url=$VCS_URL \ |       org.label-schema.vcs-url=$VCS_URL \ | ||||||
|       org.label-schema.schema-version="1.0" |       org.label-schema.schema-version="1.0" | ||||||
| ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION} | ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION} | ||||||
|   | |||||||
| @@ -14,8 +14,8 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
| set(CMAKE_EXE_LINKER_FLAGS "-llog") | set(CMAKE_EXE_LINKER_FLAGS "-llog") | ||||||
| set(CMAKE_SHARED_LINKER_FLAGS "-llog") | set(CMAKE_SHARED_LINKER_FLAGS "-llog") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) | set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) | ||||||
|   | |||||||
							
								
								
									
										5
									
								
								android-x86/config.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								android-x86/config.toml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | [build] | ||||||
|  | target = "i686-linux-android" | ||||||
|  |  | ||||||
|  | [target.i686-linux-android] | ||||||
|  | linker = "/usr/i686-linux-android/bin/i686-linux-android23-clang" | ||||||
| @@ -11,8 +11,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \ | |||||||
|     CXX=${CROSS_ROOT}/bin/clang++ \ |     CXX=${CROSS_ROOT}/bin/clang++ \ | ||||||
|     LD=${CROSS_ROOT}/bin/ld |     LD=${CROSS_ROOT}/bin/ld | ||||||
|  |  | ||||||
| ENV ANDROID_NDK_REVISION 25b | ENV ANDROID_NDK_REVISION=25b | ||||||
| ENV ANDROID_API 23 | ENV ANDROID_API=23 | ||||||
|  |  | ||||||
| RUN mkdir -p /build && \ | RUN mkdir -p /build && \ | ||||||
|     cd /build && \ |     cd /build && \ | ||||||
| @@ -29,8 +29,14 @@ RUN mkdir -p /build && \ | |||||||
|     find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \ |     find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \ | ||||||
|     find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \; |     find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \; | ||||||
|  |  | ||||||
|  | # Prepare Rust | ||||||
|  | ENV PATH="/root/.cargo/bin/:$PATH" | ||||||
|  | RUN rustup target add x86_64-linux-android | ||||||
|  | COPY config.toml /root/.cargo/ | ||||||
|  |  | ||||||
|  | # Prepare CMake | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| # Build-time metadata as defined at http://label-schema.org | # Build-time metadata as defined at http://label-schema.org | ||||||
| ARG BUILD_DATE | ARG BUILD_DATE | ||||||
| @@ -44,4 +50,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \ | |||||||
|       org.label-schema.vcs-ref=$VCS_REF \ |       org.label-schema.vcs-ref=$VCS_REF \ | ||||||
|       org.label-schema.vcs-url=$VCS_URL \ |       org.label-schema.vcs-url=$VCS_URL \ | ||||||
|       org.label-schema.schema-version="1.0" |       org.label-schema.schema-version="1.0" | ||||||
| ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION} | ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION} | ||||||
|   | |||||||
| @@ -14,8 +14,8 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
| set(CMAKE_EXE_LINKER_FLAGS "-llog") | set(CMAKE_EXE_LINKER_FLAGS "-llog") | ||||||
| set(CMAKE_SHARED_LINKER_FLAGS "-llog") | set(CMAKE_SHARED_LINKER_FLAGS "-llog") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) | set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) | ||||||
|   | |||||||
							
								
								
									
										5
									
								
								android-x86_64/config.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								android-x86_64/config.toml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | [build] | ||||||
|  | target = "x86_64-linux-android" | ||||||
|  |  | ||||||
|  | [target.x86_64-linux-android] | ||||||
|  | linker = "/usr/x86_64-linux-android/bin/x86_64-linux-android-clang" | ||||||
| @@ -6,13 +6,13 @@ LABEL maintainer="Chen Tao t.clydechen@gmail.com" | |||||||
| # This is for armv7e-m+fp bare metal | # This is for armv7e-m+fp bare metal | ||||||
|  |  | ||||||
| # Crosstool-ng version 1.25.0 | # Crosstool-ng version 1.25.0 | ||||||
| ENV CT_VERSION 8fa98eeeff9bc53478d97ef722f366fea151ae64 | ENV CT_VERSION=8fa98eeeff9bc53478d97ef722f366fea151ae64 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE arm-none-eabi | ENV CROSS_TRIPLE=arm-none-eabi | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -23,13 +23,13 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     OBJCOPY=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-objcopy |     OBJCOPY=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-objcopy | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/arm-none-eabi/pkgconfig | ENV PKG_CONFIG_PATH=/usr/lib/arm-none-eabi/pkgconfig | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm | ENV ARCH=arm | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
| @@ -10,7 +10,7 @@ set(CMAKE_CXX_COMPILER $ENV{CXX}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
|   | |||||||
| @@ -119,7 +119,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -27,6 +27,7 @@ COPY \ | |||||||
|   imagefiles/build-and-install-ninja.sh \ |   imagefiles/build-and-install-ninja.sh \ | ||||||
|   imagefiles/build-and-install-openssl.sh \ |   imagefiles/build-and-install-openssl.sh \ | ||||||
|   imagefiles/build-and-install-openssh.sh \ |   imagefiles/build-and-install-openssh.sh \ | ||||||
|  |   imagefiles/build-and-install-rustup.sh \ | ||||||
|   imagefiles/install-cmake-binary.sh \ |   imagefiles/install-cmake-binary.sh \ | ||||||
|   imagefiles/install-liquidprompt-binary.sh \ |   imagefiles/install-liquidprompt-binary.sh \ | ||||||
|   imagefiles/install-python-packages.sh \ |   imagefiles/install-python-packages.sh \ | ||||||
| @@ -40,8 +41,9 @@ RUN \ | |||||||
|   /buildscripts/build-and-install-curl.sh && \ |   /buildscripts/build-and-install-curl.sh && \ | ||||||
|   /buildscripts/build-and-install-git.sh && \ |   /buildscripts/build-and-install-git.sh && \ | ||||||
|   /buildscripts/build-and-install-cmake.sh $X86_FLAG && \ |   /buildscripts/build-and-install-cmake.sh $X86_FLAG && \ | ||||||
|  |   /buildscripts/build-and-install-rustup.sh && \ | ||||||
|   /buildscripts/install-liquidprompt-binary.sh && \ |   /buildscripts/install-liquidprompt-binary.sh && \ | ||||||
|   PYTHON=$([ -e /opt/python/cp38-cp38/bin/python ] && echo "/opt/python/cp38-cp38/bin/python" || echo "python3") && \ |   PYTHON=$([ -e /opt/python/cp311-cp311/bin/python ] && echo "/opt/python/cp311-cp311/bin/python" || echo "python3") && \ | ||||||
|   /buildscripts/install-python-packages.sh -python ${PYTHON} && \ |   /buildscripts/install-python-packages.sh -python ${PYTHON} && \ | ||||||
|   /buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \ |   /buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \ | ||||||
|   /buildscripts/build-and-install-flatcc.sh && \ |   /buildscripts/build-and-install-flatcc.sh && \ | ||||||
|   | |||||||
| @@ -16,6 +16,7 @@ RUN \ | |||||||
|     wget \ |     wget \ | ||||||
|     nasm \ |     nasm \ | ||||||
|     zip \ |     zip \ | ||||||
|  |     libatomic \ | ||||||
|   && \ |   && \ | ||||||
|   yum clean all && \ |   yum clean all && \ | ||||||
|   # Remove sudo provided by devtoolset since it doesn't work with |   # Remove sudo provided by devtoolset since it doesn't work with | ||||||
|   | |||||||
							
								
								
									
										30
									
								
								common/common.manylinux_2_34
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								common/common.manylinux_2_34
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  | RUN \ | ||||||
|  |   set -x && \ | ||||||
|  |   yum upgrade -y almalinux-release && \ | ||||||
|  |   yum -y install \ | ||||||
|  |     gpg \ | ||||||
|  |     python3-devel \ | ||||||
|  |     zlib-devel \ | ||||||
|  |     gettext \ | ||||||
|  |     openssh-clients \ | ||||||
|  |     wget \ | ||||||
|  |     nasm \ | ||||||
|  |     zip \ | ||||||
|  |   && \ | ||||||
|  |   yum clean all | ||||||
|  |  | ||||||
|  | # Image build scripts | ||||||
|  | COPY \ | ||||||
|  |   manylinux-common/install-python-packages.sh \ | ||||||
|  |   /buildscripts/ | ||||||
|  |  | ||||||
|  | RUN \ | ||||||
|  |   set -x && \ | ||||||
|  |   # Remove sudo provided by devtoolset since it doesn't work with | ||||||
|  |   # our sudo wrapper calling gosu. | ||||||
|  |   rm -f /opt/rh/gcc-toolset-14/root/usr/bin/sudo && \ | ||||||
|  |   /buildscripts/install-python-packages.sh && \ | ||||||
|  |   rm -rf /buildscripts | ||||||
|  |  | ||||||
|  | # Runtime scripts | ||||||
|  | COPY manylinux-common/pre_exec.sh /dockcross/ | ||||||
| @@ -9,7 +9,7 @@ | |||||||
| # | # | ||||||
| # For example: | # For example: | ||||||
| # | # | ||||||
| #  ENV WINEARCH win64 | #  ENV WINEARCH=win64 | ||||||
| #  ARG MXE_TARGET_ARCH=x86_64 | #  ARG MXE_TARGET_ARCH=x86_64 | ||||||
| #  ARG MXE_TARGET_THREAD= | #  ARG MXE_TARGET_THREAD= | ||||||
| #  ARG MXE_TARGET_LINK=shared | #  ARG MXE_TARGET_LINK=shared | ||||||
| @@ -18,7 +18,7 @@ | |||||||
| # mxe master 2024-07-27 | # mxe master 2024-07-27 | ||||||
| ARG MXE_GIT_TAG=9f349e0de62a4a68bfc0f13d835a6c685dae9daa | ARG MXE_GIT_TAG=9f349e0de62a4a68bfc0f13d835a6c685dae9daa | ||||||
|  |  | ||||||
| ENV CMAKE_TOOLCHAIN_FILE /usr/src/mxe/usr/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}/share/cmake/mxe-conf.cmake | ENV CMAKE_TOOLCHAIN_FILE=/usr/src/mxe/usr/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}/share/cmake/mxe-conf.cmake | ||||||
|  |  | ||||||
| ARG DEBIAN_FRONTEND=noninteractive | ARG DEBIAN_FRONTEND=noninteractive | ||||||
|  |  | ||||||
| @@ -125,14 +125,15 @@ RUN \ | |||||||
|   # |   # | ||||||
|   rm -rf /tmp/wine-* |   rm -rf /tmp/wine-* | ||||||
|  |  | ||||||
| ENV PATH ${PATH}:/usr/src/mxe/usr/bin | ENV CROSS_ROOT=/usr/src/mxe/usr | ||||||
| ENV CROSS_TRIPLE ${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD} | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV AS=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-as \ | ENV CROSS_TRIPLE=${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD} | ||||||
|     AR=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ar \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     CC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gcc \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CPP=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-cpp \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
|     CXX=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-g++ \ |     CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \ | ||||||
|     LD=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ld \ |     CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \ | ||||||
|     FC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gfortran |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|  |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| WORKDIR /work | WORKDIR /work | ||||||
|   | |||||||
| @@ -92,7 +92,7 @@ function build_perl { | |||||||
|         -fsSLO ${PERL_DOWNLOAD_URL}/${perl_fname}.tar.gz |         -fsSLO ${PERL_DOWNLOAD_URL}/${perl_fname}.tar.gz | ||||||
|  |  | ||||||
|     check_sha256sum ${perl_fname}.tar.gz ${perl_sha256} |     check_sha256sum ${perl_fname}.tar.gz ${perl_sha256} | ||||||
|     tar -xzf ${perl_fname}.tar.gz |     tar -xzf ${perl_fname}.tar.gz --no-same-owner | ||||||
|     (cd ${perl_fname} && do_perl_build) |     (cd ${perl_fname} && do_perl_build) | ||||||
|     rm -rf ${perl_fname} ${perl_fname}.tar.gz |     rm -rf ${perl_fname} ${perl_fname}.tar.gz | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								imagefiles/build-and-install-rustup.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								imagefiles/build-and-install-rustup.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | set -ex | ||||||
|  |  | ||||||
|  | if ! command -v curl &> /dev/null; then | ||||||
|  | 	echo >&2 'error: "curl" not found!' | ||||||
|  | 	exit 1 | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | ||||||
| @@ -26,8 +26,15 @@ if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then | |||||||
|  |  | ||||||
|     groupadd -o -g "$BUILDER_GID" "$BUILDER_GROUP" 2> /dev/null |     groupadd -o -g "$BUILDER_GID" "$BUILDER_GROUP" 2> /dev/null | ||||||
|     useradd -o -m -g "$BUILDER_GID" -u "$BUILDER_UID" "$BUILDER_USER" 2> /dev/null |     useradd -o -m -g "$BUILDER_GID" -u "$BUILDER_UID" "$BUILDER_USER" 2> /dev/null | ||||||
|  |  | ||||||
|  |     # Change ownership of /dev/pts/0 to new user | ||||||
|  |     chown "$BUILDER_UID" /dev/pts/0 | ||||||
|  |  | ||||||
|     export HOME=/home/${BUILDER_USER} |     export HOME=/home/${BUILDER_USER} | ||||||
|     shopt -s dotglob |     shopt -s dotglob | ||||||
|  |     # Move rustup/cargo directories as they are large, and not needed as root | ||||||
|  |     mv -t $HOME/ /root/.rustup /root/.cargo | ||||||
|  |     # Copy the rest | ||||||
|     cp -r /root/* $HOME/ |     cp -r /root/* $HOME/ | ||||||
|     chown -R $BUILDER_UID:$BUILDER_GID $HOME |     chown -R $BUILDER_UID:$BUILDER_GID $HOME | ||||||
|  |  | ||||||
| @@ -38,7 +45,7 @@ if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then | |||||||
|  |  | ||||||
|     # Enable passwordless sudo capabilities for the user |     # Enable passwordless sudo capabilities for the user | ||||||
|     chown root:$BUILDER_GID "$(which gosu)" |     chown root:$BUILDER_GID "$(which gosu)" | ||||||
|     chmod +s "$(which gosu)"; sync |     chmod +s "$(which gosu)" | ||||||
|  |  | ||||||
|     # Execute project specific pre execution hook |     # Execute project specific pre execution hook | ||||||
|     if [[ -e /work/.dockcross ]]; then |     if [[ -e /work/.dockcross ]]; then | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com" | |||||||
|  |  | ||||||
| # Buildroot version | # Buildroot version | ||||||
| # buildroot master 2021-09-20 | # buildroot master 2021-09-20 | ||||||
| ENV BR_VERSION d4877e6f88d5eea54dc74b855556ffc0dd3f399f | ENV BR_VERSION=d4877e6f88d5eea54dc74b855556ffc0dd3f399f | ||||||
|  |  | ||||||
| #include "common.buildroot" | #include "common.buildroot" | ||||||
|  |  | ||||||
| @@ -19,8 +19,8 @@ RUN apt-get update \ | |||||||
| && apt-get clean --yes | && apt-get clean --yes | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "aarch64-buildroot-linux-gnu" target. | # The CROSS_TRIPLE is a configured alias of the "aarch64-buildroot-linux-gnu" target. | ||||||
| ENV CROSS_TRIPLE aarch64-buildroot-linux-gnu | ENV CROSS_TRIPLE=aarch64-buildroot-linux-gnu | ||||||
| ENV CROSS_ROOT /buildroot | ENV CROSS_ROOT=/buildroot | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -29,17 +29,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| #ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig | #ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm64 | ENV ARCH=arm64 | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
|  |  | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ FROM ${ORG}/base:latest | |||||||
| # This is for 64-bit ARM Linux machine (Ubuntu 18.04 or Debian 9 mini) | # This is for 64-bit ARM Linux machine (Ubuntu 18.04 or Debian 9 mini) | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| @@ -16,9 +16,9 @@ RUN apt-get update \ | |||||||
| && apt-get clean --yes | && apt-get clean --yes | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target. | # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target. | ||||||
| ENV CROSS_TRIPLE aarch64-unknown-linux-gnu | ENV CROSS_TRIPLE=aarch64-unknown-linux-gnu | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -27,17 +27,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig | ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm64 | ENV ARCH=arm64 | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64) | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -1,13 +1,16 @@ | |||||||
| ARG ORG=dockcross | ARG ORG=dockcross | ||||||
| FROM ${ORG}/base:latest | FROM ${ORG}/base:latest | ||||||
|  |  | ||||||
| ENV XCC_PREFIX /usr/xcc | ENV XCC_PREFIX=/usr/xcc | ||||||
| ENV CROSS_TRIPLE aarch64-linux-musl | ENV CROSS_TRIPLE=aarch64-linux-musl | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross | ||||||
|  |  | ||||||
| RUN mkdir -p ${XCC_PREFIX} | RUN mkdir -p ${XCC_PREFIX} | ||||||
| RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz | # RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz | ||||||
| RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz | # RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz | ||||||
|  | # Mirrored for reliability. | ||||||
|  | RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz | ||||||
|  | RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz | ||||||
|  |  | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
| @@ -17,13 +20,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
|  | # Prepare Rust | ||||||
|  | ENV PATH="/root/.cargo/bin/:$PATH" | ||||||
|  | RUN rustup target add aarch64-unknown-linux-musl && cargo install --version 0.28.0 cbindgen | ||||||
|  | COPY config.toml /root/.cargo/ | ||||||
|  |  | ||||||
|  | # Prepare CMake | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm64 | ENV ARCH=arm64 | ||||||
|  |  | ||||||
| # Build-time metadata as defined at http://label-schema.org | # Build-time metadata as defined at http://label-schema.org | ||||||
| ARG BUILD_DATE | ARG BUILD_DATE | ||||||
| @@ -32,9 +41,9 @@ ARG VERSION=latest | |||||||
| ARG VCS_REF | ARG VCS_REF | ||||||
| ARG VCS_URL | ARG VCS_URL | ||||||
| LABEL org.label-schema.build-date=$BUILD_DATE \ | LABEL org.label-schema.build-date=$BUILD_DATE \ | ||||||
|       org.label-schema.name=$IMAGE \ |     org.label-schema.name=$IMAGE \ | ||||||
|       org.label-schema.version=$VERSION \ |     org.label-schema.version=$VERSION \ | ||||||
|       org.label-schema.vcs-ref=$VCS_REF \ |     org.label-schema.vcs-ref=$VCS_REF \ | ||||||
|       org.label-schema.vcs-url=$VCS_URL \ |     org.label-schema.vcs-url=$VCS_URL \ | ||||||
|       org.label-schema.schema-version="1.0" |     org.label-schema.schema-version="1.0" | ||||||
| ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION} | ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION} | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
|   | |||||||
							
								
								
									
										7
									
								
								linux-arm64-musl/config.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								linux-arm64-musl/config.toml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | [build] | ||||||
|  | target = "aarch64-unknown-linux-musl" | ||||||
|  |  | ||||||
|  | [target.aarch64-unknown-linux-musl] | ||||||
|  | ar = "/usr/xcc/aarch64-linux-musl-cross/bin/aarch64-linux-musl-ar" | ||||||
|  | linker = "/usr/xcc/aarch64-linux-musl-cross/bin/aarch64-linux-musl-ld" | ||||||
|  |  | ||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64) | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com" | |||||||
| # musleabi as default glibc | # musleabi as default glibc | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| @@ -20,8 +20,8 @@ RUN apt-get update \ | |||||||
| && apt-get clean --yes | && apt-get clean --yes | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "armv5-unknown-linux-musleabi" target. | # The CROSS_TRIPLE is a configured alias of the "armv5-unknown-linux-musleabi" target. | ||||||
| ENV CROSS_TRIPLE armv5-unknown-linux-musleabi | ENV CROSS_TRIPLE=armv5-unknown-linux-musleabi | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -30,17 +30,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/arm-linux-musleabihf/ | ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-musleabihf/ | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm | ENV ARCH=arm | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -10,10 +10,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | ||||||
|   | |||||||
| @@ -124,7 +124,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ FROM ${ORG}/base:latest | |||||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com" | LABEL maintainer="Matt McCormick matt@mmmccormick.com" | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| # This is for compiling binaries for arm routers with uclibc (e.g ddwrt, asuswrt) | # This is for compiling binaries for arm routers with uclibc (e.g ddwrt, asuswrt) | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
| @@ -16,8 +16,8 @@ RUN apt-get update \ | |||||||
|   qemu-user-static \ |   qemu-user-static \ | ||||||
| && apt-get clean --yes | && apt-get clean --yes | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE arm-unknown-linux-uclibcgnueabi | ENV CROSS_TRIPLE=arm-unknown-linux-uclibcgnueabi | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -26,17 +26,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake /usr/lib/${CROSS_ROOT}/ | COPY Toolchain.cmake /usr/lib/${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/{CROSS_ROOT}/pkgconfig/ | ENV PKG_CONFIG_PATH=/usr/lib/{CROSS_ROOT}/pkgconfig/ | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm | ENV ARCH=arm | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com" | |||||||
| # VFP instructions (armhf). | # VFP instructions (armhf). | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| @@ -22,8 +22,8 @@ RUN apt-get update \ | |||||||
|  |  | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target. | # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target. | ||||||
| ENV CROSS_TRIPLE armv5-unknown-linux-gnueabi | ENV CROSS_TRIPLE=armv5-unknown-linux-gnueabi | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -32,17 +32,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabi/pkgconfig | ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabi/pkgconfig | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm | ENV ARCH=arm | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ FROM ${ORG}/base:latest | |||||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com" | LABEL maintainer="Matt McCormick matt@mmmccormick.com" | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| # This is for 32-bit ARMv6 Linux | # This is for 32-bit ARMv6 Linux | ||||||
| # Raspberry Pi is ARMv6+VFP2 | # Raspberry Pi is ARMv6+VFP2 | ||||||
| @@ -19,8 +19,8 @@ RUN apt-get update \ | |||||||
|  |  | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "armv6-unknown-linux-gnueabihf" target. | # The CROSS_TRIPLE is a configured alias of the "armv6-unknown-linux-gnueabihf" target. | ||||||
| ENV CROSS_TRIPLE armv6-unknown-linux-gnueabihf | ENV CROSS_TRIPLE=armv6-unknown-linux-gnueabihf | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -29,17 +29,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/ | ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/ | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm | ENV ARCH=arm | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -1,13 +1,16 @@ | |||||||
| ARG ORG=dockcross | ARG ORG=dockcross | ||||||
| FROM ${ORG}/base:latest | FROM ${ORG}/base:latest | ||||||
|  |  | ||||||
| ENV XCC_PREFIX /usr/xcc | ENV XCC_PREFIX=/usr/xcc | ||||||
| ENV CROSS_TRIPLE armv6-linux-musleabihf | ENV CROSS_TRIPLE=armv6-linux-musleabihf | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross | ||||||
|  |  | ||||||
| RUN mkdir -p ${XCC_PREFIX} | RUN mkdir -p ${XCC_PREFIX} | ||||||
| RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz | # RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz | ||||||
| RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz | # RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz | ||||||
|  | # Mirrored for reliability | ||||||
|  | RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz | ||||||
|  | RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz | ||||||
|  |  | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
| @@ -18,12 +21,12 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm | ENV ARCH=arm | ||||||
|  |  | ||||||
| # Build-time metadata as defined at http://label-schema.org | # Build-time metadata as defined at http://label-schema.org | ||||||
| ARG BUILD_DATE | ARG BUILD_DATE | ||||||
| @@ -37,4 +40,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \ | |||||||
|       org.label-schema.vcs-ref=$VCS_REF \ |       org.label-schema.vcs-ref=$VCS_REF \ | ||||||
|       org.label-schema.vcs-url=$VCS_URL \ |       org.label-schema.vcs-url=$VCS_URL \ | ||||||
|       org.label-schema.schema-version="1.0" |       org.label-schema.schema-version="1.0" | ||||||
| ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION} | ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION} | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ FROM ${ORG}/base:latest | |||||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com" | LABEL maintainer="Matt McCormick matt@mmmccormick.com" | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| # This is for 32-bit ARMv6 Linux | # This is for 32-bit ARMv6 Linux | ||||||
| # Raspberry Pi is ARMv6+VFP2 | # Raspberry Pi is ARMv6+VFP2 | ||||||
| @@ -19,8 +19,8 @@ RUN apt-get update \ | |||||||
|  |  | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "armv6-unknown-linux-gnueabihf" target. | # The CROSS_TRIPLE is a configured alias of the "armv6-unknown-linux-gnueabihf" target. | ||||||
| ENV CROSS_TRIPLE armv6-unknown-linux-gnueabihf | ENV CROSS_TRIPLE=armv6-unknown-linux-gnueabihf | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -29,17 +29,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/ | ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/ | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm | ENV ARCH=arm | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -10,10 +10,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ FROM ${ORG}/base:latest | |||||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com" | LABEL maintainer="Matt McCormick matt@mmmccormick.com" | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| # This is for 32-bit ARMv7 Linux | # This is for 32-bit ARMv7 Linux | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
| @@ -18,8 +18,8 @@ RUN apt-get update \ | |||||||
|  |  | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "armv7-unknown-linux-gnueabi" target. | # The CROSS_TRIPLE is a configured alias of the "armv7-unknown-linux-gnueabi" target. | ||||||
| ENV CROSS_TRIPLE armv7-unknown-linux-gnueabi | ENV CROSS_TRIPLE=armv7-unknown-linux-gnueabi | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -28,17 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/ | ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/ | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm | ENV ARCH=arm | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ FROM ${ORG}/base:latest | |||||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com" | LABEL maintainer="Matt McCormick matt@mmmccormick.com" | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| # This is for 32-bit ARMv7 Linux | # This is for 32-bit ARMv7 Linux | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
| @@ -18,8 +18,8 @@ RUN apt-get update \ | |||||||
|  |  | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target. | # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target. | ||||||
| ENV CROSS_TRIPLE armv7-unknown-linux-gnueabi | ENV CROSS_TRIPLE=armv7-unknown-linux-gnueabi | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -28,17 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/ | ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/ | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm | ENV ARCH=arm | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com" | |||||||
|  |  | ||||||
| # We use a git commit while waiting for 1.25 to release (1.24 is several years old) | # We use a git commit while waiting for 1.25 to release (1.24 is several years old) | ||||||
| # crosstool-ng 1.25.0 | # crosstool-ng 1.25.0 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| @@ -20,9 +20,9 @@ RUN apt-get update \ | |||||||
|  |  | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target. | # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target. | ||||||
| ENV CROSS_TRIPLE arm-cortexa8_neon-linux-gnueabihf | ENV CROSS_TRIPLE=arm-cortexa8_neon-linux-gnueabihf | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| ENV DEFAULT_DOCKCROSS_IMAGE dockcross/linux-armv7a | ENV DEFAULT_DOCKCROSS_IMAGE=dockcross/linux-armv7a | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/pkgconfig | ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm | ENV ARCH=arm | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | ||||||
|   | |||||||
| @@ -116,7 +116,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com" | |||||||
| # This is for 32-bit ARMv7 Linux | # This is for 32-bit ARMv7 Linux | ||||||
|  |  | ||||||
| # Crosstool-ng version 2024-05-21 | # Crosstool-ng version 2024-05-21 | ||||||
| ENV CT_VERSION crosstool-ng-1.26.0 | ENV CT_VERSION=crosstool-ng-1.26.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| @@ -19,9 +19,9 @@ RUN apt-get update \ | |||||||
|  |  | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target. | # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target. | ||||||
| #ENV CROSS_TRIPLE armv7-unknown-linux-gnueabi | #ENV CROSS_TRIPLE=armv7-unknown-linux-gnueabi | ||||||
| ENV CROSS_TRIPLE arm-cortexa8_neon-linux-gnueabihf | ENV CROSS_TRIPLE=arm-cortexa8_neon-linux-gnueabihf | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -30,19 +30,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| ENV DEFAULT_DOCKCROSS_IMAGE dockcross/linux-armv7a | ENV DEFAULT_DOCKCROSS_IMAGE=dockcross/linux-armv7a | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/ | ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/ | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm | ENV ARCH=arm | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -1,13 +1,16 @@ | |||||||
| ARG ORG=dockcross | ARG ORG=dockcross | ||||||
| FROM ${ORG}/base:latest | FROM ${ORG}/base:latest | ||||||
|  |  | ||||||
| ENV XCC_PREFIX /usr/xcc | ENV XCC_PREFIX=/usr/xcc | ||||||
| ENV CROSS_TRIPLE armv7l-linux-musleabihf | ENV CROSS_TRIPLE=armv7l-linux-musleabihf | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross | ||||||
|  |  | ||||||
| RUN mkdir -p ${XCC_PREFIX} | RUN mkdir -p ${XCC_PREFIX} | ||||||
| RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz | # RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz | ||||||
| RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz | # RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz | ||||||
|  | # Mirrored for reliability | ||||||
|  | RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz | ||||||
|  | RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz | ||||||
|  |  | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
| @@ -18,12 +21,12 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH arm | ENV ARCH=arm | ||||||
|  |  | ||||||
| # Build-time metadata as defined at http://label-schema.org | # Build-time metadata as defined at http://label-schema.org | ||||||
| ARG BUILD_DATE | ARG BUILD_DATE | ||||||
| @@ -37,4 +40,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \ | |||||||
|       org.label-schema.vcs-ref=$VCS_REF \ |       org.label-schema.vcs-ref=$VCS_REF \ | ||||||
|       org.label-schema.vcs-url=$VCS_URL \ |       org.label-schema.vcs-url=$VCS_URL \ | ||||||
|       org.label-schema.schema-version="1.0" |       org.label-schema.schema-version="1.0" | ||||||
| ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION} | ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION} | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ LABEL maintainer="PJ Reid PJ.Reid@Zetier.com" | |||||||
| # This is for 32-bit (i686) intel/amd devices | # This is for 32-bit (i686) intel/amd devices | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| @@ -18,9 +18,9 @@ RUN apt-get update \ | |||||||
| && apt-get clean --yes | && apt-get clean --yes | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "i686-linux-gnu" target. | # The CROSS_TRIPLE is a configured alias of the "i686-linux-gnu" target. | ||||||
| ENV CROSS_TRIPLE i686-linux-gnu | ENV CROSS_TRIPLE=i686-linux-gnu | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -29,15 +29,15 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH i686 | ENV ARCH=i686 | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -9,10 +9,10 @@ set(CMAKE_C_COMPILER $ENV{CC}) | |||||||
| set(CMAKE_CXX_COMPILER $ENV{CXX}) | set(CMAKE_CXX_COMPILER $ENV{CXX}) | ||||||
| set(CMAKE_Fortran_COMPILER $ENV{FC}) | set(CMAKE_Fortran_COMPILER $ENV{FC}) | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-x86_64 -cpu qemu32) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-x86_64 -cpu qemu32) | ||||||
|   | |||||||
| @@ -119,7 +119,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -4,13 +4,13 @@ FROM ${ORG}/base:latest | |||||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com" | LABEL maintainer="Matt McCormick matt@mmmccormick.com" | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| ARG QEMU_VERSION=6.0.0 | ARG QEMU_VERSION=6.0.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE m68k-unknown-uclinux-uclibc | ENV CROSS_TRIPLE=m68k-unknown-uclinux-uclibc | ||||||
|  |  | ||||||
| WORKDIR /usr/src | WORKDIR /usr/src | ||||||
|  |  | ||||||
| @@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \ | |||||||
|   make install && \ |   make install && \ | ||||||
|   cd .. && rm -rf qemu-${QEMU_VERSION} |   cd .. && rm -rf qemu-${QEMU_VERSION} | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| WORKDIR /work | WORKDIR /work | ||||||
|  |  | ||||||
| COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ | COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/mk68-unknown-linux-uclibc/pkgconfig | ENV PKG_CONFIG_PATH=/usr/lib/mk68-unknown-linux-uclibc/pkgconfig | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH powerpc | ENV ARCH=powerpc | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com" | |||||||
| # This is for 32-bit Big-Endian MIPS devices with hard floating point enabled | # This is for 32-bit Big-Endian MIPS devices with hard floating point enabled | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| @@ -18,9 +18,9 @@ RUN apt-get update \ | |||||||
| && apt-get clean --yes | && apt-get clean --yes | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-gnu" target. | # The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-gnu" target. | ||||||
| ENV CROSS_TRIPLE mips-unknown-linux-gnu | ENV CROSS_TRIPLE=mips-unknown-linux-gnu | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -29,15 +29,15 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH mips | ENV ARCH=mips | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -9,10 +9,10 @@ set(CMAKE_C_COMPILER $ENV{CC}) | |||||||
| set(CMAKE_CXX_COMPILER $ENV{CXX}) | set(CMAKE_CXX_COMPILER $ENV{CXX}) | ||||||
| set(CMAKE_Fortran_COMPILER $ENV{FC}) | set(CMAKE_Fortran_COMPILER $ENV{FC}) | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips) | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -5,7 +5,7 @@ LABEL maintainer="Rene Helmke rene.helmke@fkie.fraunhofer.de" | |||||||
| # This is for 32-bit Big-Endian MIPS devices with hard floating point enabled and uclibc. | # This is for 32-bit Big-Endian MIPS devices with hard floating point enabled and uclibc. | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| @@ -17,9 +17,9 @@ RUN apt-get update \ | |||||||
| && apt-get clean --yes | && apt-get clean --yes | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-uclibc" target. | # The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-uclibc" target. | ||||||
| ENV CROSS_TRIPLE mips-unknown-linux-uclibc | ENV CROSS_TRIPLE=mips-unknown-linux-uclibc | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -28,17 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/mips-linux-uclibc/ | ENV PKG_CONFIG_PATH=/usr/lib/mips-linux-uclibc/ | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH mips | ENV ARCH=mips | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips) | ||||||
|   | |||||||
| @@ -121,7 +121,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com" | |||||||
| # This is for 32-bit Big-Endian MIPS devices with hard floating point enabled | # This is for 32-bit Big-Endian MIPS devices with hard floating point enabled | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| @@ -18,9 +18,9 @@ RUN apt-get update \ | |||||||
| && apt-get clean --yes | && apt-get clean --yes | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-gnu" target. | # The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-gnu" target. | ||||||
| ENV CROSS_TRIPLE mips-unknown-linux-gnu | ENV CROSS_TRIPLE=mips-unknown-linux-gnu | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -29,15 +29,15 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH mips | ENV ARCH=mips | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -9,10 +9,10 @@ set(CMAKE_C_COMPILER $ENV{CC}) | |||||||
| set(CMAKE_CXX_COMPILER $ENV{CXX}) | set(CMAKE_CXX_COMPILER $ENV{CXX}) | ||||||
| set(CMAKE_Fortran_COMPILER $ENV{FC}) | set(CMAKE_Fortran_COMPILER $ENV{FC}) | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips) | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ FROM ${ORG}/base:latest | |||||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com" | LABEL maintainer="Matt McCormick matt@mmmccormick.com" | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| # This is for 32-bit or 64-bit mipsel Linux (multilib) | # This is for 32-bit or 64-bit mipsel Linux (multilib) | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
| @@ -18,8 +18,8 @@ RUN apt-get update \ | |||||||
|  |  | ||||||
|  |  | ||||||
| # The CROSS_TRIPLE is a configured alias of the "mipsel-unknown-linux-gnu" target. | # The CROSS_TRIPLE is a configured alias of the "mipsel-unknown-linux-gnu" target. | ||||||
| ENV CROSS_TRIPLE mipsel-unknown-linux-gnu | ENV CROSS_TRIPLE=mipsel-unknown-linux-gnu | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -28,17 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/mipsel-unknown-linux-gnu/ | ENV PKG_CONFIG_PATH=/usr/lib/mipsel-unknown-linux-gnu/ | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH mipsel | ENV ARCH=mipsel | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mipsel) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mipsel) | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -4,13 +4,13 @@ FROM ${ORG}/base:latest | |||||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com and Fancy2209" | LABEL maintainer="Matt McCormick matt@mmmccormick.com and Fancy2209" | ||||||
|  |  | ||||||
| # Crosstool-ng version 2024-08-04 | # Crosstool-ng version 2024-08-04 | ||||||
| ENV CT_VERSION crosstool-ng-1.26.0 | ENV CT_VERSION=crosstool-ng-1.26.0 | ||||||
|  |  | ||||||
| ARG QEMU_VERSION=6.0.0 | ARG QEMU_VERSION=6.0.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE powerpc-unknown-linux-gnu | ENV CROSS_TRIPLE=powerpc-unknown-linux-gnu | ||||||
|  |  | ||||||
| WORKDIR /usr/src | WORKDIR /usr/src | ||||||
|  |  | ||||||
| @@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \ | |||||||
|   make install && \ |   make install && \ | ||||||
|   cd .. && rm -rf qemu-${QEMU_VERSION} |   cd .. && rm -rf qemu-${QEMU_VERSION} | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| WORKDIR /work | WORKDIR /work | ||||||
|  |  | ||||||
| COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ | COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/powerpc-unknown-linux-gnu/pkgconfig | ENV PKG_CONFIG_PATH=/usr/lib/powerpc-unknown-linux-gnu/pkgconfig | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH powerpc | ENV ARCH=powerpc | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-ppc) | set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-ppc) | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -4,13 +4,13 @@ FROM ${ORG}/base:latest | |||||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com" | LABEL maintainer="Matt McCormick matt@mmmccormick.com" | ||||||
|  |  | ||||||
| # Crosstool-ng version 2023-09-21 | # Crosstool-ng version 2023-09-21 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| ARG QEMU_VERSION=6.0.0 | ARG QEMU_VERSION=6.0.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE powerpc64le-unknown-linux-gnu | ENV CROSS_TRIPLE=powerpc64le-unknown-linux-gnu | ||||||
|  |  | ||||||
| WORKDIR /usr/src | WORKDIR /usr/src | ||||||
|  |  | ||||||
| @@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \ | |||||||
|   make install && \ |   make install && \ | ||||||
|   cd .. && rm -rf qemu-${QEMU_VERSION} |   cd .. && rm -rf qemu-${QEMU_VERSION} | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| WORKDIR /work | WORKDIR /work | ||||||
|  |  | ||||||
| COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ | COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/powerpc64le-unknown-linux-gnu/pkgconfig | ENV PKG_CONFIG_PATH=/usr/lib/powerpc64le-unknown-linux-gnu/pkgconfig | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH powerpc | ENV ARCH=powerpc | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -120,7 +120,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -4,13 +4,13 @@ FROM ${ORG}/base:latest | |||||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com" | LABEL maintainer="Matt McCormick matt@mmmccormick.com" | ||||||
|  |  | ||||||
| # Crosstool-ng version 2024-08-04 | # Crosstool-ng version 2024-08-04 | ||||||
| ENV CT_VERSION crosstool-ng-1.26.0 | ENV CT_VERSION=crosstool-ng-1.26.0 | ||||||
|  |  | ||||||
| ARG QEMU_VERSION=6.0.0 | ARG QEMU_VERSION=6.0.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE powerpc64le-unknown-linux-gnu | ENV CROSS_TRIPLE=powerpc64le-unknown-linux-gnu | ||||||
|  |  | ||||||
| WORKDIR /usr/src | WORKDIR /usr/src | ||||||
|  |  | ||||||
| @@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \ | |||||||
|   make install && \ |   make install && \ | ||||||
|   cd .. && rm -rf qemu-${QEMU_VERSION} |   cd .. && rm -rf qemu-${QEMU_VERSION} | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| WORKDIR /work | WORKDIR /work | ||||||
|  |  | ||||||
| COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ | COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/powerpc64le-unknown-linux-gnu/pkgconfig | ENV PKG_CONFIG_PATH=/usr/lib/powerpc64le-unknown-linux-gnu/pkgconfig | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH powerpc | ENV ARCH=powerpc | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -121,7 +121,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -4,13 +4,13 @@ FROM ${ORG}/base:latest | |||||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com" | LABEL maintainer="Matt McCormick matt@mmmccormick.com" | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| ARG QEMU_VERSION=6.0.0 | ARG QEMU_VERSION=6.0.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE riscv32-unknown-linux-gnu | ENV CROSS_TRIPLE=riscv32-unknown-linux-gnu | ||||||
|  |  | ||||||
| WORKDIR /usr/src | WORKDIR /usr/src | ||||||
|  |  | ||||||
| @@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \ | |||||||
|   make install && \ |   make install && \ | ||||||
|   cd .. && rm -rf qemu-${QEMU_VERSION} |   cd .. && rm -rf qemu-${QEMU_VERSION} | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| WORKDIR /work | WORKDIR /work | ||||||
|  |  | ||||||
| COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ | COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/riscv32-unknown-linux-gnu/pkgconfig | ENV PKG_CONFIG_PATH=/usr/lib/riscv32-unknown-linux-gnu/pkgconfig | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH riscv32 | ENV ARCH=riscv32 | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -124,7 +124,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
| @@ -4,13 +4,13 @@ FROM ${ORG}/base:latest | |||||||
| LABEL maintainer="Matt McCormick matt@mmmccormick.com" | LABEL maintainer="Matt McCormick matt@mmmccormick.com" | ||||||
|  |  | ||||||
| # Crosstool-ng version 2022-05-19 | # Crosstool-ng version 2022-05-19 | ||||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ENV CT_VERSION=crosstool-ng-1.25.0 | ||||||
|  |  | ||||||
| ARG QEMU_VERSION=6.0.0 | ARG QEMU_VERSION=6.0.0 | ||||||
|  |  | ||||||
| #include "common.crosstool" | #include "common.crosstool" | ||||||
|  |  | ||||||
| ENV CROSS_TRIPLE riscv64-unknown-linux-gnu | ENV CROSS_TRIPLE=riscv64-unknown-linux-gnu | ||||||
|  |  | ||||||
| WORKDIR /usr/src | WORKDIR /usr/src | ||||||
|  |  | ||||||
| @@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \ | |||||||
|   make install && \ |   make install && \ | ||||||
|   cd .. && rm -rf qemu-${QEMU_VERSION} |   cd .. && rm -rf qemu-${QEMU_VERSION} | ||||||
|  |  | ||||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} | ||||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ |     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ |     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||||
| @@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | |||||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ |     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran |     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||||
|  |  | ||||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||||
|  |  | ||||||
| WORKDIR /work | WORKDIR /work | ||||||
|  |  | ||||||
| COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ | COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ | ||||||
| ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake | ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake | ||||||
|  |  | ||||||
| ENV PKG_CONFIG_PATH /usr/lib/riscv64-unknown-linux-gnu/pkgconfig | ENV PKG_CONFIG_PATH=/usr/lib/riscv64-unknown-linux-gnu/pkgconfig | ||||||
|  |  | ||||||
| # Linux kernel cross compilation variables | # Linux kernel cross compilation variables | ||||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ENV PATH=${PATH}:${CROSS_ROOT}/bin | ||||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ENV CROSS_COMPILE=${CROSS_TRIPLE}- | ||||||
| ENV ARCH riscv64 | ENV ARCH=riscv64 | ||||||
|  |  | ||||||
| #include "common.label-and-env" | #include "common.label-and-env" | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC}) | |||||||
|  |  | ||||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||||
|  |  | ||||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -124,7 +124,7 @@ CT_LOG_EXTRA=y | |||||||
| # CT_LOG_DEBUG is not set | # CT_LOG_DEBUG is not set | ||||||
| CT_LOG_LEVEL_MAX="EXTRA" | CT_LOG_LEVEL_MAX="EXTRA" | ||||||
| # CT_LOG_SEE_TOOLS_WARN is not set | # CT_LOG_SEE_TOOLS_WARN is not set | ||||||
| CT_LOG_PROGRESS_BAR=y | CT_LOG_PROGRESS_BAR=n | ||||||
| CT_LOG_TO_FILE=y | CT_LOG_TO_FILE=y | ||||||
| CT_LOG_FILE_COMPRESS=y | CT_LOG_FILE_COMPRESS=y | ||||||
| # end of Paths and misc options | # end of Paths and misc options | ||||||
|   | |||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user