mirror of
				https://github.com/bensuperpc/dockcross.git
				synced 2025-10-31 16:16:23 +01:00 
			
		
		
		
	Compare commits
	
		
			26 Commits
		
	
	
		
			add-mipsel
			...
			update_win
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e5cb29c74f | |||
| 7a4634c4f8 | |||
| 96839c5789 | |||
| eda038eacf | |||
| daad4d760d | |||
| 979104089a | |||
| 7876c21e62 | |||
| 2ff17c20e8 | |||
| c068180665 | |||
| 63514041f6 | |||
| a0c458c8c1 | |||
| 3d5142d6ad | |||
| a9dda23ae7 | |||
| 0fc1c34f29 | |||
| 84d4b38037 | |||
| a5f1b3098a | |||
| e3084efc93 | |||
| 8328c514c1 | |||
|   | 2333930f42 | ||
|   | 4887a524ff | ||
| f924b46533 | |||
| 6791b57fa4 | |||
| 159e3f9b7b | |||
| 27902330f4 | |||
| 4a768c052c | |||
| 6839433b97 | 
							
								
								
									
										117
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										117
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							| @@ -18,26 +18,47 @@ jobs: | ||||
|     name: base | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - name: checkout code | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           submodules: "recursive" | ||||
|           fetch-depth: 1 | ||||
|  | ||||
|       - name: build | ||||
|         run: make base | ||||
|         uses: nick-fields/retry@v2 | ||||
|         with: | ||||
|           timeout_minutes: 120 | ||||
|           retry_wait_seconds: 40 | ||||
|           max_attempts: 3 | ||||
|           retry_on: error | ||||
|           command: make base | ||||
|  | ||||
|       - name: test | ||||
|         run: make base.test | ||||
|  | ||||
|       - name: archive base | ||||
|         run: | | ||||
|           mkdir -p cache | ||||
|           docker save dockcross/base:latest | xz -e9 -T0 > ./cache/base.tar.xz | ||||
|  | ||||
|       - name: save base | ||||
|         uses: actions/upload-artifact@v3 | ||||
|         with: | ||||
|           name: cache | ||||
|           path: ./cache | ||||
|           retention-days: 1 | ||||
|  | ||||
|       - name: deploy | ||||
|         if: github.ref == 'refs/heads/master' | ||||
|         run: | | ||||
|           docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }} | ||||
|           docker image push dockcross/base --all-tags | ||||
|         uses: nick-fields/retry@v2 | ||||
|         with: | ||||
|           timeout_minutes: 30 | ||||
|           retry_wait_seconds: 30 | ||||
|           max_attempts: 4 | ||||
|           retry_on: error | ||||
|           command: | | ||||
|             docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }} | ||||
|             docker image push dockcross/base --all-tags | ||||
|  | ||||
|   image: | ||||
|     name: ${{ matrix.arch_name.image }} | ||||
| @@ -516,7 +537,7 @@ jobs: | ||||
|               cpython: "yes", | ||||
|               cpython_arg: "--host=s390x-ibm-linux-gnu --target=s390x-ibm-linux-gnu", | ||||
|             } | ||||
|           # Linux mips images | ||||
|           # Linux mips images  | ||||
|           - { | ||||
|               image: "linux-mips", | ||||
|               stockfish: "no", | ||||
| @@ -534,6 +555,24 @@ jobs: | ||||
|               cpython: "yes", | ||||
|               cpython_arg: "--host=mips-unknown-linux-gnu --target=mips-unknown-linux-gnu", | ||||
|             } | ||||
|           # Linux mips images | ||||
|           - { | ||||
|               image: "linux-mips-lts", | ||||
|               stockfish: "no", | ||||
|               stockfish_arg: "", | ||||
|               ninja: "yes", | ||||
|               ninja_arg: "", | ||||
|               openssl: "yes", | ||||
|               openssl_arg: "linux-generic32", | ||||
|               C: "yes", | ||||
|               C_arg: "", | ||||
|               C-Plus-Plus: "yes", | ||||
|               C-Plus-Plus_arg: "", | ||||
|               fmt: "yes", | ||||
|               fmt_arg: "", | ||||
|               cpython: "yes", | ||||
|               cpython_arg: "--host=mips-unknown-linux-gnu --target=mips-unknown-linux-gnu", | ||||
|             } | ||||
|           # Linux ppc64le images | ||||
|           - { | ||||
|               image: "linux-ppc64le", | ||||
| @@ -815,39 +854,56 @@ jobs: | ||||
|               cpython_arg: "", | ||||
|             } | ||||
|     steps: | ||||
|       - uses: actions/checkout@v3 | ||||
|       - name: checkout code | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           submodules: "recursive" | ||||
|           fetch-depth: 1 | ||||
|  | ||||
|       - uses: actions/download-artifact@v3 | ||||
|         with: | ||||
|           name: cache | ||||
|           path: ./cache | ||||
|  | ||||
|       - name: load base | ||||
|         run: xz -d -k < ./cache/base.tar.xz | docker load | ||||
|  | ||||
|       - name: build | ||||
|         run: make ${{ matrix.arch_name.image }} | ||||
|         uses: nick-fields/retry@v2 | ||||
|         with: | ||||
|           timeout_minutes: 360 | ||||
|           retry_wait_seconds: 20 | ||||
|           max_attempts: 3 | ||||
|           retry_on: error | ||||
|           command: make ${{ matrix.arch_name.image }} | ||||
|  | ||||
|       - name: basic test | ||||
|         run: make ${{ matrix.arch_name.image }}.test | ||||
|       # Updated on 28/08/2021 | ||||
|  | ||||
|       # Updated on 19/05/2022 | ||||
|       - name: stockfish build test | ||||
|         if: ${{ matrix.arch_name.stockfish == 'yes' }} | ||||
|         run: | | ||||
|           git clone --depth 1 --branch sf_14 https://github.com/official-stockfish/Stockfish.git | ||||
|           git clone --depth 1 --branch sf_15 https://github.com/official-stockfish/Stockfish.git | ||||
|           cd Stockfish/src | ||||
|           ./../../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} net | ||||
|           ./../../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} build ${{ matrix.arch_name.stockfish_arg }} -j2 | ||||
|           cd ../.. | ||||
|           rm -rf Stockfish | ||||
|       # Updated on 28/08/2021 | ||||
|       # Updated on 19/05/2022 | ||||
|  | ||||
|       - name: ninja build test | ||||
|         if: ${{ matrix.arch_name.ninja == 'yes' }} | ||||
|         run: | | ||||
|           git clone --depth 1 --branch v1.10.2 https://github.com/ninja-build/ninja.git | ||||
|           git clone --depth 1 --branch v1.11.0 https://github.com/ninja-build/ninja.git | ||||
|           cd ninja | ||||
|           ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.ninja_arg }} | ||||
|       # Updated on 28/08/2021 | ||||
|  | ||||
|       # Updated on 19/05/2022 | ||||
|       - name: openssl build test | ||||
|         if: ${{ matrix.arch_name.openssl == 'yes' }} | ||||
|         run: | | ||||
|           git clone --depth 1 --branch OpenSSL_1_1_1k https://github.com/openssl/openssl.git | ||||
|           git clone --depth 1 --branch OpenSSL_1_1_1o https://github.com/openssl/openssl.git | ||||
|           cd openssl | ||||
|           wget https://raw.githubusercontent.com/mavlink/MAVSDK/main/third_party/openssl/dockcross-android.patch | ||||
|           patch -p 0 < dockcross-android.patch | ||||
| @@ -855,47 +911,58 @@ jobs: | ||||
|           ./../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} -j2 | ||||
|           cd .. | ||||
|           rm -rf openssl | ||||
|       # Updated on 28/08/2021 | ||||
|  | ||||
|       # Updated on 19/05/2022 | ||||
|       - name: C build test | ||||
|         if: ${{ matrix.arch_name.C == 'yes' }} | ||||
|         run: | | ||||
|           git clone https://github.com/TheAlgorithms/C.git | ||||
|           cd C | ||||
|           git checkout cc241f58c253c533ac94e07151ef91a5ef7e5719 | ||||
|           git checkout 2314a195862243e09c485a66194866517a6f8c31 | ||||
|           ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.C_arg }} | ||||
|           cd .. | ||||
|           rm -rf C | ||||
|       # Updated on 28/08/2021 | ||||
|  | ||||
|       # Updated on 19/05/2022 | ||||
|       - name: C-Plus-Plus build test | ||||
|         if: ${{ matrix.arch_name.C-Plus-Plus == 'yes' }} | ||||
|         run: | | ||||
|           git clone https://github.com/TheAlgorithms/C-Plus-Plus.git | ||||
|           cd C-Plus-Plus | ||||
|           git checkout c3b07aed2240e5364e1a49d091a00b61f520e653 | ||||
|           git checkout 37a29008e6b77921a97a89ca8b7fd9e700aeccd0 | ||||
|           ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.C-Plus-Plus_arg }} | ||||
|           cd .. | ||||
|           rm -rf C-Plus-Plus | ||||
|       # Updated on 28/08/2021 | ||||
|  | ||||
|       # Updated on 19/05/2022 | ||||
|       - name: fmt build test | ||||
|         if: ${{ matrix.arch_name.fmt == 'yes' }} | ||||
|         run: | | ||||
|           git clone --depth 1 --branch 8.0.1 https://github.com/fmtlib/fmt.git | ||||
|           git clone --depth 1 --branch 8.1.1 https://github.com/fmtlib/fmt.git | ||||
|           cd fmt | ||||
|           ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.fmt_arg }} -DFMT_DOC=OFF | ||||
|           cd .. | ||||
|           rm -rf fmt | ||||
|       # Updated on 05/10/2021 | ||||
|  | ||||
|       # Updated on 19/05/2022 | ||||
|       - name: cpython build test | ||||
|         if: ${{ matrix.arch_name.cpython == 'yes' }} | ||||
|         run: | | ||||
|           git clone --depth 1 --branch v3.9.2 https://github.com/python/cpython.git | ||||
|           git clone --depth 1 --branch v3.9.13 https://github.com/python/cpython.git | ||||
|           cd cpython | ||||
|           ./../tools/dockcross-command.sh ${{ matrix.arch_name.image }} ./configure ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no --disable-ipv6 ${{ matrix.arch_name.cpython_arg }} --build=x86_64-linux-gnu --enable-shared | ||||
|           ./../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} -j2 | ||||
|           cd .. | ||||
|           rm -rf cpython | ||||
|  | ||||
|       - name: deploy | ||||
|         if: github.ref == 'refs/heads/master' | ||||
|         run: | | ||||
|           docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }} | ||||
|           docker image push dockcross/${{ matrix.arch_name.image }} --all-tags | ||||
|         uses: nick-fields/retry@v2 | ||||
|         with: | ||||
|           timeout_minutes: 30 | ||||
|           retry_wait_seconds: 30 | ||||
|           max_attempts: 4 | ||||
|           retry_on: error | ||||
|           command: | | ||||
|             docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }} | ||||
|             docker image push dockcross/${{ matrix.arch_name.image }} --all-tags | ||||
|   | ||||
							
								
								
									
										287
									
								
								CONTRIBUTING.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										287
									
								
								CONTRIBUTING.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,287 @@ | ||||
| # Contributing | ||||
|  | ||||
| ## Getting started | ||||
|  | ||||
| ## How to add a new image ? (With crosstool-ng) | ||||
|  | ||||
| In this part, we will see how to add a new image, we will take example with `linux-arm64` for a raspberry pi 4, with [crosstool-ng](https://github.com/crosstool-ng/crosstool-ng). | ||||
|  | ||||
| ### Build and config crosstool-ng | ||||
|  | ||||
| To start, you need to download the source code of crosstool-ng: | ||||
|  | ||||
| ```bash | ||||
| git clone --recurse-submodules --remote-submodules https://github.com/crosstool-ng/crosstool-ng.git | ||||
| ``` | ||||
|  | ||||
| Go to crosstool-ng folder: | ||||
|  | ||||
| ```bash | ||||
| cd crosstool-ng | ||||
| ``` | ||||
|  | ||||
| Change git branch: | ||||
|  | ||||
| ```bash | ||||
| git checkout crosstool-ng-1.25.0 | ||||
| ``` | ||||
|  | ||||
| Once in the **crosstool-ng** folder, you must first run the **bootstrap** script: | ||||
|  | ||||
| ```bash | ||||
| ./bootstrap | ||||
| ``` | ||||
|  | ||||
| Then run the **configure** script: | ||||
|  | ||||
| *Note: ***--enable-local*** Do a portable install of crosstool-ng.*: | ||||
|  | ||||
| ```bash | ||||
| ./configure --enable-local | ||||
| ``` | ||||
|  | ||||
| Finally, launch the building of crosstool-ng: | ||||
|  | ||||
| ```bash | ||||
| make -j$(nproc) | ||||
| ``` | ||||
|  | ||||
| Once the crosstool-ng build is complete, you can run this command to test crosstool-ng: | ||||
|  | ||||
| ```bash | ||||
| ./ct-ng --version | ||||
| ``` | ||||
|  | ||||
| Before starting the configuration of the toolchains, i recommend you to use one of the examples from crosstool-ng and then make your changes, the command to display the examples: | ||||
|  | ||||
| ```bash | ||||
| ./ct-ng list-samples | ||||
| ``` | ||||
|  | ||||
| We will take the example of **aarch64-rpi4-linux-gnu**, a **.config** file will be created: | ||||
|  | ||||
| ```bash | ||||
| ./ct-ng aarch64-rpi4-linux-gnu | ||||
| ``` | ||||
|  | ||||
| We will configure the toolchains according to our needs: | ||||
|  | ||||
| ```bash | ||||
| ./ct-ng menuconfig | ||||
| ``` | ||||
|  | ||||
| Once the modifications are made, we will display the name of the toolchains, it will be useful later: | ||||
|  | ||||
| ```bash | ||||
| ./ct-ng show-tuple | ||||
| ``` | ||||
|  | ||||
| ### Configuring docker image | ||||
|  | ||||
| You must create a file with the **same** name of the docker image (**linux-arm64**). | ||||
|  | ||||
| Copy the **.config** of crosstool-ng to this file (**linux-arm64**) and rename it to **crosstool-ng.config**. | ||||
|  | ||||
| You need to create a file named **Toolchain.cmake** in **linux-arm64**. | ||||
|  | ||||
| Copy text to **Toolchain.cmake** file: | ||||
|  | ||||
| ```cmake | ||||
| set(CMAKE_SYSTEM_NAME Linux) | ||||
| set(CMAKE_SYSTEM_VERSION 1) | ||||
| set(CMAKE_SYSTEM_PROCESSOR ARM64) | ||||
|  | ||||
| set(cross_triple $ENV{CROSS_TRIPLE}) | ||||
| set(cross_root $ENV{CROSS_ROOT}) | ||||
|  | ||||
| set(CMAKE_C_COMPILER $ENV{CC}) | ||||
| set(CMAKE_CXX_COMPILER $ENV{CXX}) | ||||
| set(CMAKE_Fortran_COMPILER $ENV{FC}) | ||||
|  | ||||
| set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") | ||||
|  | ||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | ||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | ||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | ||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||
|  | ||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm64) | ||||
| ``` | ||||
|  | ||||
| Then ou must change these lines according to the targeted architecture, here **ARM64**: | ||||
|  | ||||
| ```cmake | ||||
| set(CMAKE_SYSTEM_PROCESSOR ARM64) | ||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm64) | ||||
| ``` | ||||
|  | ||||
| Then you must create a file named **Dockerfile.in** in the image folder (**linux-arm64**). | ||||
|  | ||||
| Copy text to **Dockerfile.in** file: | ||||
|  | ||||
| ```docker | ||||
| FROM dockcross/base:latest | ||||
|  | ||||
| LABEL maintainer="Matt McCormick matt.mccormick@kitware.com" | ||||
|  | ||||
| # This is for 64-bit ARM Linux machine | ||||
|  | ||||
| # Crosstool-ng crosstool-ng-1.25.0 2022-05-13 | ||||
| ENV CT_VERSION crosstool-ng-1.25.0 | ||||
|  | ||||
| #include "common.crosstool" | ||||
|  | ||||
| # The cross-compiling emulator | ||||
| RUN apt-get update \ | ||||
| && apt-get install -y \ | ||||
|   qemu-user \ | ||||
|   qemu-user-static \ | ||||
| && apt-get clean --yes | ||||
|  | ||||
| # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target. | ||||
| ENV CROSS_TRIPLE aarch64-unknown-linux-gnu | ||||
|  | ||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||
|     CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \ | ||||
|     CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \ | ||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||
|  | ||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||
|  | ||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ||||
|  | ||||
| ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig | ||||
|  | ||||
| # Linux kernel cross compilation variables | ||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ||||
| ENV ARCH arm64 | ||||
|  | ||||
| #include "common.label-and-env" | ||||
| ``` | ||||
|  | ||||
| Then ou 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): | ||||
|  | ||||
| ```docker | ||||
| ENV CROSS_TRIPLE aarch64-unknown-linux-gnu | ||||
| ``` | ||||
|  | ||||
| These lines also need to be changed: | ||||
|  | ||||
| ```docker | ||||
| LABEL maintainer="Matt McCormick matt.mccormick@kitware.com" | ||||
| ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig | ||||
| ENV ARCH arm64 | ||||
| ``` | ||||
|  | ||||
| Once this part is finished, there must be 3 files in the **linux-arm64** folder: | ||||
|  | ||||
| - **crosstool-ng.config**, the configuration of the toolchain/crosstool-ng. | ||||
| - **Dockerfile.in**, the docker file. | ||||
| - **Toolchain.cmake**, the CMake file for the toolchains. | ||||
|  | ||||
| ### Makefile | ||||
|  | ||||
| For this last part, we will see how to add the image to the [Makefile](Makefile) and to a github action. | ||||
|  | ||||
| You need to add the image/folder name (**linux-arm64**) to the **STANDARD_IMAGES** variable in the [Makefile](Makefile): | ||||
|  | ||||
| ```make | ||||
| # These images are built using the "build implicit rule" | ||||
| STANDARD_IMAGES = android-arm android-arm64 android-x86 android-x86_64 \ | ||||
|  linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \ | ||||
|  linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-m68k-uclibc linux-s390x linux-x64-tinycc \ | ||||
|  linux-armv6 linux-armv6-lts linux-armv6-musl linux-arm64-lts \ | ||||
|  linux-armv7l-musl linux-armv7 linux-armv7a linux-armv7-lts linux-x86_64-full \ | ||||
|  linux-mips linux-ppc64le linux-riscv64 linux-riscv32 linux-xtensa-uclibc \ | ||||
|  web-wasi \ | ||||
|  windows-static-x86 windows-static-x64 windows-static-x64-posix windows-armv7 \ | ||||
|  windows-shared-x86 windows-shared-x64 windows-shared-x64-posix windows-arm64 | ||||
| ``` | ||||
|  | ||||
| You need to add the image/folder name (**linux-arm64**) to the **GEN_IMAGES** variable in the [Makefile](Makefile): | ||||
|  | ||||
| ```make | ||||
| # Generated Dockerfiles. | ||||
| GEN_IMAGES = android-arm android-arm64 \ | ||||
|  linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \ | ||||
|  manylinux2014-x64 manylinux2014-x86 \ | ||||
|  manylinux2014-aarch64 linux-arm64-lts \ | ||||
|  web-wasm web-wasi linux-mips windows-arm64 windows-armv7 \ | ||||
|  windows-static-x86 windows-static-x64 windows-static-x64-posix \ | ||||
|  windows-shared-x86 windows-shared-x64 windows-shared-x64-posix \ | ||||
|  linux-armv7 linux-armv7a linux-armv7l-musl linux-armv7-lts linux-x86_64-full \ | ||||
|  linux-armv6 linux-armv6-lts linux-armv6-musl \ | ||||
|  linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-ppc64le linux-s390x \ | ||||
|  linux-riscv64 linux-riscv32 linux-m68k-uclibc linux-x64-tinycc linux-xtensa-uclibc | ||||
| ``` | ||||
|  | ||||
| ### Image building and testing | ||||
|  | ||||
| You can now start building the image: | ||||
|  | ||||
| ```bash | ||||
| make linux-arm64 | ||||
| ``` | ||||
|  | ||||
| When finished, you can test it: | ||||
|  | ||||
| ```bash | ||||
| make linux-arm64.test | ||||
| ``` | ||||
|  | ||||
| If you want to go a little further in the tests: | ||||
|  | ||||
| ```bash | ||||
| docker run --rm linux-arm64 > ./linux-arm64 | ||||
| chmod +x ./linux-arm64 | ||||
| ``` | ||||
|  | ||||
| And then run the commands to build a project (you must be in the directory of your project to build): | ||||
|  | ||||
| ```bash | ||||
| ./linux-arm64 make | ||||
| ``` | ||||
|  | ||||
| With CMake + Ninja: | ||||
|  | ||||
| ```bash | ||||
| ./linux-arm64 cmake -Bbuild -S. -GNinja | ||||
| ./linux-arm64 ninja -Cbuild | ||||
| ``` | ||||
|  | ||||
| ### CI (github action) | ||||
|  | ||||
| To finish, you have to add to [Github Action](.github/workflows/main.yml) the image/folder name: | ||||
|  | ||||
| ```yml | ||||
|           # Linux arm64/armv8 images | ||||
|           - { | ||||
|               image: "linux-arm64", | ||||
|               stockfish: "yes", | ||||
|               stockfish_arg: "ARCH=armv8", | ||||
|               ninja: "yes", | ||||
|               ninja_arg: "", | ||||
|               openssl: "yes", | ||||
|               openssl_arg: "linux-aarch64", | ||||
|               C: "yes", | ||||
|               C_arg: "", | ||||
|               C-Plus-Plus: "yes", | ||||
|               C-Plus-Plus_arg: "", | ||||
|               fmt: "yes", | ||||
|               fmt_arg: "", | ||||
|               cpython: "yes", | ||||
|               cpython_arg: "--host=aarch64-unknown-linux-gnu --target=aarch64-unknown-linux-gnu", | ||||
|             } | ||||
| ``` | ||||
|  | ||||
| You can disable and enable the build of certain tests which can cause problems with certain CPU architectures (eg. OpenSSL with Risc-V...). | ||||
							
								
								
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| Copyright (c) 2015, 2016, 2017, 2018 Steeve Morin, Rob Burns, Matthew McCormick, Jean-Christophe-Fillion-Robin | ||||
| Copyright (c) 2015, 2016, 2017, 2018, 2021 Steeve Morin, Rob Burns, Matthew McCormick, Jean-Christophe-Fillion-Robin, Bensuperpc | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
|   | ||||
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							| @@ -18,7 +18,7 @@ STANDARD_IMAGES = android-arm android-arm64 android-x86 android-x86_64 \ | ||||
| 	linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-m68k-uclibc linux-s390x linux-x64-tinycc \ | ||||
| 	linux-armv6 linux-armv6-lts linux-armv6-musl linux-arm64-lts linux-mipsel-lts \ | ||||
| 	linux-armv7l-musl linux-armv7 linux-armv7a linux-armv7-lts linux-x86_64-full \ | ||||
| 	linux-mips linux-ppc64le linux-riscv64 linux-riscv32 linux-xtensa-uclibc \ | ||||
| 	linux-mips linux-mips-lts linux-ppc64le linux-riscv64 linux-riscv32 linux-xtensa-uclibc \ | ||||
| 	web-wasi \ | ||||
| 	windows-static-x86 windows-static-x64 windows-static-x64-posix windows-armv7 \ | ||||
| 	windows-shared-x86 windows-shared-x64 windows-shared-x64-posix windows-arm64 | ||||
| @@ -28,7 +28,7 @@ GEN_IMAGES = android-arm android-arm64 \ | ||||
| 	linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \ | ||||
| 	manylinux2014-x64 manylinux2014-x86 \ | ||||
| 	manylinux2014-aarch64 linux-arm64-lts \ | ||||
| 	web-wasm web-wasi linux-mips windows-arm64 windows-armv7 \ | ||||
| 	web-wasm web-wasi linux-mips linux-mips-lts windows-arm64 windows-armv7 \ | ||||
| 	windows-static-x86 windows-static-x64 windows-static-x64-posix \ | ||||
| 	windows-shared-x86 windows-shared-x64 windows-shared-x64-posix \ | ||||
| 	linux-armv7 linux-armv7a linux-armv7l-musl linux-armv7-lts linux-x86_64-full \ | ||||
|   | ||||
							
								
								
									
										48
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								README.md
									
									
									
									
									
								
							| @@ -9,32 +9,37 @@ Cross compiling toolchains in Docker images. | ||||
|  | ||||
| ## Features | ||||
|  | ||||
| -   Pre-built and configured toolchains for cross compiling. | ||||
| -   Most images also contain an emulator for the target system. | ||||
| -   Clean separation of build tools, source code, and build artifacts. | ||||
| -   Commands in the container are run as the calling user, so that any created files have the expected ownership, (i.e. not root). | ||||
| -   Make variables **CC**, **CXX**, **LD**, **AS** etc) are set to point to the appropriate tools in the container. | ||||
| -   Recent [CMake](https://cmake.org) and ninja are precompiled. | ||||
| -   [Conan.io](https://www.conan.io) can be used as a package manager. | ||||
| -   Toolchain files configured for CMake. | ||||
| -   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/). | ||||
| -   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. | ||||
| -   [crosstool-ng](https://github.com/crosstool-ng/crosstool-ng) and [buildroot](https://github.com/buildroot/buildroot) configuration files. | ||||
| - Pre-built and configured toolchains for cross compiling. | ||||
| - Most images also contain an emulator for the target system. | ||||
| - Clean separation of build tools, source code, and build artifacts. | ||||
| - Commands in the container are run as the calling user, so that any created files have the expected ownership, (i.e. not root). | ||||
| - Make variables **CC**, **CXX**, **LD**, **AS** etc) are set to point to the appropriate tools in the container. | ||||
| - Recent [CMake](https://cmake.org) and ninja are precompiled. | ||||
| - [Conan.io](https://www.conan.io) can be used as a package manager. | ||||
| - Toolchain files configured for CMake. | ||||
| - 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/). | ||||
| - 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. | ||||
| - [crosstool-ng](https://github.com/crosstool-ng/crosstool-ng) and [buildroot](https://github.com/buildroot/buildroot) configuration files. | ||||
|  | ||||
| ## Examples | ||||
|  | ||||
| 1.  `dockcross make`: Build the *Makefile* in the current directory. | ||||
| 2.  `dockcross cmake -Bbuild -H. -GNinja`: Run CMake with a build directory `./build` for a *CMakeLists.txt* file in the current directory and generate `ninja` build configuration files. | ||||
| 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. | ||||
| 5.  `dockcross bash`: Run an interactive shell in the build environment. | ||||
| 1. `dockcross make`: Build the *Makefile* in the current directory. | ||||
| 2. `dockcross cmake -Bbuild -S. -GNinja`: Run CMake with a build directory `./build` for a *CMakeLists.txt* file in the current directory and generate `ninja` build configuration files. | ||||
| 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. | ||||
| 5. `dockcross bash`: Run an interactive shell in the build environment. | ||||
|  | ||||
| Note that commands are executed verbatim. If any shell processing for environment variable expansion or redirection is required, please use | ||||
|  | ||||
| ```bash | ||||
| bash -c "<command args>" | ||||
| ``` | ||||
|  | ||||
| ## Contributing | ||||
|  | ||||
| See [CONTRIBUTING.md](CONTRIBUTING.md). | ||||
|  | ||||
| ## Installation | ||||
|  | ||||
| This image does not need to be run manually. Instead, there is a helper script to execute build commands on source code existing on the local host filesystem. This script is bundled with the image. | ||||
| @@ -95,6 +100,7 @@ The dockcross script will execute the given command-line inside the container, a | ||||
| | dockcross/linux-armv7a | ARMv7a | GCC | Linux | | ||||
| | dockcross/linux-armv7l-musl | ARMv7l | GCC + musl | Linux | | ||||
| | dockcross/linux-mips | mips | GCC | Linux | | ||||
| | dockcross/linux-mips-lts | mips | GCC 8.5.0 + Glibc 2.28 | Linux | | ||||
| | dockcross/linux-mipsel-lts | mipsel | GCC 8.5.0 + Glibc 2.28 | Linux | | ||||
| | dockcross/linux-s390x | s390x | GCC | Linux | | ||||
| | dockcross/linux-ppc64le | ppc64le | GCC | Linux | | ||||
| @@ -268,12 +274,19 @@ Toolchain configured for ARMv7-L, using | ||||
| Linux mips cross compiler toolchain for big endian 32-bit hard float | ||||
| MIPS GNU systems. | ||||
|  | ||||
| ### dockcross/linux-mips | ||||
|  | ||||
|   | ||||
|  | ||||
| Linux mips cross compiler toolchain for big endian 32-bit hard float MIPS GNU systems, With GCC 8.5.0, Glibc 2.28 .... | ||||
|  | ||||
| ### dockcross/linux-mipsel-lts | ||||
|  | ||||
|   | ||||
|  | ||||
| Linux mips cross compiler toolchain for little endian 32-bit soft float | ||||
| MIPS GNU systems. | ||||
|  | ||||
| ### dockcross/linux-s390x | ||||
|  | ||||
|   | ||||
| @@ -538,5 +551,6 @@ The key difference is that [dockbuild](https://github.com/dockbuild/dockbuild#re | ||||
| \-\-- | ||||
|  | ||||
| Credits: | ||||
|  | ||||
| - [sdt/docker-raspberry-pi-cross-compiler](https://github.com/sdt/docker-raspberry-pi-cross-compiler), who invented the base of the **dockcross** script. | ||||
| - [https://github.com/steeve/cross-compiler](https://github.com/steeve/cross-compiler),  | ||||
|   | ||||
| @@ -24,10 +24,10 @@ has() { | ||||
|  | ||||
| # If OCI_EXE is not already set, search for a container executor (OCI stands for "Open Container Initiative") | ||||
| if [ -z "$OCI_EXE" ]; then | ||||
|     if which docker >/dev/null 2>/dev/null; then | ||||
|         OCI_EXE=docker | ||||
|     elif which podman >/dev/null 2>/dev/null; then | ||||
|     if which podman >/dev/null 2>/dev/null; then | ||||
|         OCI_EXE=podman | ||||
|     elif which docker >/dev/null 2>/dev/null; then | ||||
|         OCI_EXE=docker | ||||
|     else | ||||
|         die "Cannot find a container executor. Search for docker and podman." | ||||
|     fi | ||||
| @@ -190,7 +190,7 @@ MSYS=$([ -e /proc/version ] && grep -l MINGW /proc/version || echo "") | ||||
| # CYGWIN | ||||
| CYGWIN=$([ -e /proc/version ] && grep -l CYGWIN /proc/version || echo "") | ||||
|  | ||||
| if [ -z "$UBUNTU_ON_WINDOWS" -a -z "$MSYS" ]; then | ||||
| if [ -z "$UBUNTU_ON_WINDOWS" -a -z "$MSYS" -a "$OCI_EXE" != "podman" ]; then | ||||
|     USER_IDS=(-e BUILDER_UID="$( id -u )" -e BUILDER_GID="$( id -g )" -e BUILDER_USER="$( id -un )" -e BUILDER_GROUP="$( id -gn )") | ||||
| fi | ||||
|  | ||||
|   | ||||
							
								
								
									
										44
									
								
								linux-mips-lts/Dockerfile.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								linux-mips-lts/Dockerfile.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| FROM dockcross/base:latest | ||||
|  | ||||
| LABEL maintainer="Matt McCormick matt.mccormick@kitware.com" | ||||
|  | ||||
| # This is for 32-bit Big-Endian MIPS devices with hard floating point enabled | ||||
|  | ||||
| # Crosstool-ng version | ||||
| # We use a git commit while waiting for 1.25 to release (1.24 is several years old) | ||||
| # crosstool-ng master 2022-04-22 | ||||
| ENV CT_VERSION dd4d19fce2296aaadd4443f8f8551f2f8e5aa7a4 | ||||
|  | ||||
| #include "common.crosstool" | ||||
|  | ||||
| # The cross-compiling emulator | ||||
| RUN apt-get update \ | ||||
| && apt-get install -y \ | ||||
|   qemu-user \ | ||||
|   qemu-user-static \ | ||||
| && apt-get clean --yes | ||||
|  | ||||
| # The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-gnu" target. | ||||
| ENV CROSS_TRIPLE mips-unknown-linux-gnu | ||||
|  | ||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE} | ||||
| ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ | ||||
|     AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ | ||||
|     CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ | ||||
|     CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \ | ||||
|     CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \ | ||||
|     LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ | ||||
|     FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran | ||||
|  | ||||
| ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" | ||||
| ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" | ||||
|  | ||||
| COPY Toolchain.cmake ${CROSS_ROOT}/ | ||||
| ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake | ||||
|  | ||||
| # Linux kernel cross compilation variables | ||||
| ENV PATH ${PATH}:${CROSS_ROOT}/bin | ||||
| ENV CROSS_COMPILE ${CROSS_TRIPLE}- | ||||
| ENV ARCH mips | ||||
|  | ||||
| #include "common.label-and-env" | ||||
							
								
								
									
										18
									
								
								linux-mips-lts/Toolchain.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								linux-mips-lts/Toolchain.cmake
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| set(CMAKE_SYSTEM_NAME Linux) | ||||
| set(CMAKE_SYSTEM_VERSION 1) | ||||
| set(CMAKE_SYSTEM_PROCESSOR mips) | ||||
|  | ||||
| set(cross_triple $ENV{CROSS_TRIPLE}) | ||||
| set(cross_root $ENV{CROSS_ROOT}) | ||||
|  | ||||
| set(CMAKE_C_COMPILER $ENV{CC}) | ||||
| set(CMAKE_CXX_COMPILER $ENV{CXX}) | ||||
| set(CMAKE_Fortran_COMPILER $ENV{FC}) | ||||
|  | ||||
| set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple}) | ||||
| set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||||
| set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) | ||||
| set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) | ||||
| set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) | ||||
|  | ||||
| set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips) | ||||
							
								
								
									
										905
									
								
								linux-mips-lts/crosstool-ng.config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										905
									
								
								linux-mips-lts/crosstool-ng.config
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,905 @@ | ||||
| # | ||||
| # Automatically generated file; DO NOT EDIT. | ||||
| # crosstool-NG 1.25.0_rc2 Configuration | ||||
| # | ||||
| CT_CONFIGURE_has_static_link=y | ||||
| CT_CONFIGURE_has_cxx11=y | ||||
| CT_CONFIGURE_has_wget=y | ||||
| CT_CONFIGURE_has_curl=y | ||||
| CT_CONFIGURE_has_meson=y | ||||
| CT_CONFIGURE_has_ninja=y | ||||
| CT_CONFIGURE_has_rsync=y | ||||
| CT_CONFIGURE_has_make_3_81_or_newer=y | ||||
| CT_CONFIGURE_has_make_4_0_or_newer=y | ||||
| CT_CONFIGURE_has_libtool_2_4_or_newer=y | ||||
| CT_CONFIGURE_has_libtoolize_2_4_or_newer=y | ||||
| CT_CONFIGURE_has_autoconf_2_65_or_newer=y | ||||
| CT_CONFIGURE_has_autoreconf_2_65_or_newer=y | ||||
| CT_CONFIGURE_has_automake_1_15_or_newer=y | ||||
| CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y | ||||
| CT_CONFIGURE_has_python_3_4_or_newer=y | ||||
| CT_CONFIGURE_has_bison_2_7_or_newer=y | ||||
| CT_CONFIGURE_has_python=y | ||||
| CT_CONFIGURE_has_dtc=y | ||||
| CT_CONFIGURE_has_git=y | ||||
| CT_CONFIGURE_has_md5sum=y | ||||
| CT_CONFIGURE_has_sha1sum=y | ||||
| CT_CONFIGURE_has_sha256sum=y | ||||
| CT_CONFIGURE_has_sha512sum=y | ||||
| CT_CONFIGURE_has_install_with_strip_program=y | ||||
| CT_VERSION="1.25.0_rc2" | ||||
| CT_VCHECK="" | ||||
| CT_CONFIG_VERSION_ENV="4" | ||||
| CT_CONFIG_VERSION_CURRENT="4" | ||||
| CT_CONFIG_VERSION="4" | ||||
| CT_MODULES=y | ||||
|  | ||||
| # | ||||
| # Paths and misc options | ||||
| # | ||||
|  | ||||
| # | ||||
| # crosstool-NG behavior | ||||
| # | ||||
| # CT_OBSOLETE is not set | ||||
| # CT_EXPERIMENTAL is not set | ||||
| # CT_DEBUG_CT is not set | ||||
|  | ||||
| # | ||||
| # Paths | ||||
| # | ||||
| CT_LOCAL_TARBALLS_DIR="${HOME}/src" | ||||
| CT_SAVE_TARBALLS=y | ||||
| # CT_TARBALLS_BUILDROOT_LAYOUT is not set | ||||
| CT_WORK_DIR="${CT_TOP_DIR}/.build" | ||||
| CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}" | ||||
| CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build" | ||||
| CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}" | ||||
| CT_RM_RF_PREFIX_DIR=y | ||||
| CT_REMOVE_DOCS=y | ||||
| CT_INSTALL_LICENSES=y | ||||
| CT_PREFIX_DIR_RO=y | ||||
| CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y | ||||
| # CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set | ||||
|  | ||||
| # | ||||
| # Downloading | ||||
| # | ||||
| CT_DOWNLOAD_AGENT_WGET=y | ||||
| # CT_DOWNLOAD_AGENT_CURL is not set | ||||
| # CT_DOWNLOAD_AGENT_NONE is not set | ||||
| # CT_FORBID_DOWNLOAD is not set | ||||
| # CT_FORCE_DOWNLOAD is not set | ||||
| CT_CONNECT_TIMEOUT=10 | ||||
| CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary" | ||||
| # CT_ONLY_DOWNLOAD is not set | ||||
| # CT_USE_MIRROR is not set | ||||
| CT_VERIFY_DOWNLOAD_DIGEST=y | ||||
| CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y | ||||
| # CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set | ||||
| # CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set | ||||
| # CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set | ||||
| CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512" | ||||
| # CT_VERIFY_DOWNLOAD_SIGNATURE is not set | ||||
|  | ||||
| # | ||||
| # Extracting | ||||
| # | ||||
| # CT_FORCE_EXTRACT is not set | ||||
| CT_OVERRIDE_CONFIG_GUESS_SUB=y | ||||
| # CT_ONLY_EXTRACT is not set | ||||
| CT_PATCH_BUNDLED=y | ||||
| # CT_PATCH_BUNDLED_LOCAL is not set | ||||
| CT_PATCH_ORDER="bundled" | ||||
|  | ||||
| # | ||||
| # Build behavior | ||||
| # | ||||
| CT_PARALLEL_JOBS=0 | ||||
| CT_LOAD="" | ||||
| CT_USE_PIPES=y | ||||
| CT_EXTRA_CFLAGS_FOR_BUILD="" | ||||
| CT_EXTRA_CXXFLAGS_FOR_BUILD="" | ||||
| CT_EXTRA_LDFLAGS_FOR_BUILD="" | ||||
| CT_EXTRA_CFLAGS_FOR_HOST="" | ||||
| CT_EXTRA_LDFLAGS_FOR_HOST="" | ||||
| # CT_CONFIG_SHELL_SH is not set | ||||
| # CT_CONFIG_SHELL_ASH is not set | ||||
| CT_CONFIG_SHELL_BASH=y | ||||
| # CT_CONFIG_SHELL_CUSTOM is not set | ||||
| CT_CONFIG_SHELL="${bash}" | ||||
|  | ||||
| # | ||||
| # Logging | ||||
| # | ||||
| # CT_LOG_ERROR is not set | ||||
| # CT_LOG_WARN is not set | ||||
| # CT_LOG_INFO is not set | ||||
| CT_LOG_EXTRA=y | ||||
| # CT_LOG_ALL is not set | ||||
| # CT_LOG_DEBUG is not set | ||||
| CT_LOG_LEVEL_MAX="EXTRA" | ||||
| # CT_LOG_SEE_TOOLS_WARN is not set | ||||
| CT_LOG_PROGRESS_BAR=y | ||||
| CT_LOG_TO_FILE=y | ||||
| CT_LOG_FILE_COMPRESS=y | ||||
| # end of Paths and misc options | ||||
|  | ||||
| # | ||||
| # Target options | ||||
| # | ||||
| # CT_ARCH_ALPHA is not set | ||||
| # CT_ARCH_ARC is not set | ||||
| # CT_ARCH_ARM is not set | ||||
| # CT_ARCH_AVR is not set | ||||
| # CT_ARCH_M68K is not set | ||||
| CT_ARCH_MIPS=y | ||||
| # CT_ARCH_NIOS2 is not set | ||||
| # CT_ARCH_POWERPC is not set | ||||
| # CT_ARCH_PRU is not set | ||||
| # CT_ARCH_S390 is not set | ||||
| # CT_ARCH_SH is not set | ||||
| # CT_ARCH_SPARC is not set | ||||
| # CT_ARCH_X86 is not set | ||||
| # CT_ARCH_XTENSA is not set | ||||
| CT_ARCH="mips" | ||||
| CT_ARCH_CHOICE_KSYM="MIPS" | ||||
| CT_ARCH_TUNE="" | ||||
| CT_ARCH_MIPS_SHOW=y | ||||
|  | ||||
| # | ||||
| # Options for mips | ||||
| # | ||||
| CT_ARCH_MIPS_PKG_KSYM="" | ||||
| CT_ARCH_mips_o32=y | ||||
| CT_ARCH_mips_ABI="32" | ||||
| CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA" | ||||
| CT_ARCH_SUFFIX="" | ||||
| # CT_OMIT_TARGET_VENDOR is not set | ||||
|  | ||||
| # | ||||
| # Generic target options | ||||
| # | ||||
| # CT_MULTILIB is not set | ||||
| CT_DEMULTILIB=y | ||||
| CT_ARCH_USE_MMU=y | ||||
| CT_ARCH_SUPPORTS_EITHER_ENDIAN=y | ||||
| CT_ARCH_DEFAULT_BE=y | ||||
| CT_ARCH_BE=y | ||||
| # CT_ARCH_LE is not set | ||||
| CT_ARCH_ENDIAN="big" | ||||
| CT_ARCH_SUPPORTS_32=y | ||||
| CT_ARCH_SUPPORTS_64=y | ||||
| CT_ARCH_DEFAULT_32=y | ||||
| CT_ARCH_BITNESS=32 | ||||
| CT_ARCH_32=y | ||||
| # CT_ARCH_64 is not set | ||||
|  | ||||
| # | ||||
| # Target optimisations | ||||
| # | ||||
| CT_ARCH_SUPPORTS_WITH_ARCH=y | ||||
| CT_ARCH_SUPPORTS_WITH_TUNE=y | ||||
| CT_ARCH_SUPPORTS_WITH_FLOAT=y | ||||
| CT_ARCH_ARCH="mips1" | ||||
| # CT_ARCH_FLOAT_AUTO is not set | ||||
| # CT_ARCH_FLOAT_HW is not set | ||||
| CT_ARCH_FLOAT_SW=y | ||||
| CT_TARGET_CFLAGS="" | ||||
| CT_TARGET_LDFLAGS="" | ||||
| CT_ARCH_FLOAT="soft" | ||||
| # end of Target options | ||||
|  | ||||
| # | ||||
| # Toolchain options | ||||
| # | ||||
|  | ||||
| # | ||||
| # General toolchain options | ||||
| # | ||||
| CT_FORCE_SYSROOT=y | ||||
| CT_USE_SYSROOT=y | ||||
| CT_SYSROOT_NAME="sysroot" | ||||
| CT_SYSROOT_DIR_PREFIX="" | ||||
| CT_WANTS_STATIC_LINK=y | ||||
| CT_WANTS_STATIC_LINK_CXX=y | ||||
| # CT_STATIC_TOOLCHAIN is not set | ||||
| CT_SHOW_CT_VERSION=y | ||||
| CT_TOOLCHAIN_PKGVERSION="" | ||||
| CT_TOOLCHAIN_BUGURL="" | ||||
|  | ||||
| # | ||||
| # Tuple completion and aliasing | ||||
| # | ||||
| CT_TARGET_VENDOR="unknown" | ||||
| CT_TARGET_ALIAS_SED_EXPR="" | ||||
| CT_TARGET_ALIAS="" | ||||
|  | ||||
| # | ||||
| # Toolchain type | ||||
| # | ||||
| CT_CROSS=y | ||||
| # CT_CANADIAN is not set | ||||
| CT_TOOLCHAIN_TYPE="cross" | ||||
|  | ||||
| # | ||||
| # Build system | ||||
| # | ||||
| CT_BUILD="" | ||||
| CT_BUILD_PREFIX="" | ||||
| CT_BUILD_SUFFIX="" | ||||
|  | ||||
| # | ||||
| # Misc options | ||||
| # | ||||
| # CT_TOOLCHAIN_ENABLE_NLS is not set | ||||
| # end of Toolchain options | ||||
|  | ||||
| # | ||||
| # Operating System | ||||
| # | ||||
| CT_KERNEL_SUPPORTS_SHARED_LIBS=y | ||||
| # CT_KERNEL_BARE_METAL is not set | ||||
| CT_KERNEL_LINUX=y | ||||
| CT_KERNEL="linux" | ||||
| CT_KERNEL_CHOICE_KSYM="LINUX" | ||||
| CT_KERNEL_LINUX_SHOW=y | ||||
|  | ||||
| # | ||||
| # Options for linux | ||||
| # | ||||
| CT_KERNEL_LINUX_PKG_KSYM="LINUX" | ||||
| CT_LINUX_DIR_NAME="linux" | ||||
| CT_LINUX_USE_WWW_KERNEL_ORG=y | ||||
| # CT_LINUX_USE_ORACLE is not set | ||||
| CT_LINUX_USE="LINUX" | ||||
| CT_LINUX_PKG_NAME="linux" | ||||
| CT_LINUX_SRC_RELEASE=y | ||||
| # CT_LINUX_SRC_DEVEL is not set | ||||
| CT_LINUX_PATCH_ORDER="global" | ||||
| # CT_LINUX_V_5_16 is not set | ||||
| # CT_LINUX_V_5_15 is not set | ||||
| # CT_LINUX_V_5_14 is not set | ||||
| # CT_LINUX_V_5_13 is not set | ||||
| # CT_LINUX_V_5_12 is not set | ||||
| # CT_LINUX_V_5_11 is not set | ||||
| # CT_LINUX_V_5_10 is not set | ||||
| # CT_LINUX_V_5_9 is not set | ||||
| # CT_LINUX_V_5_8 is not set | ||||
| # CT_LINUX_V_5_7 is not set | ||||
| CT_LINUX_V_5_4=y | ||||
| # CT_LINUX_V_5_3 is not set | ||||
| # CT_LINUX_V_5_2 is not set | ||||
| # CT_LINUX_V_5_1 is not set | ||||
| # CT_LINUX_V_5_0 is not set | ||||
| # CT_LINUX_V_4_20 is not set | ||||
| # CT_LINUX_V_4_19 is not set | ||||
| # CT_LINUX_V_4_18 is not set | ||||
| # CT_LINUX_V_4_17 is not set | ||||
| # CT_LINUX_V_4_16 is not set | ||||
| # CT_LINUX_V_4_15 is not set | ||||
| # CT_LINUX_V_4_14 is not set | ||||
| # CT_LINUX_V_4_13 is not set | ||||
| # CT_LINUX_V_4_12 is not set | ||||
| # CT_LINUX_V_4_11 is not set | ||||
| # CT_LINUX_V_4_10 is not set | ||||
| # CT_LINUX_V_4_9 is not set | ||||
| # CT_LINUX_V_4_4 is not set | ||||
| # CT_LINUX_V_4_1 is not set | ||||
| # CT_LINUX_V_3_16 is not set | ||||
| # CT_LINUX_V_3_13 is not set | ||||
| # CT_LINUX_V_3_12 is not set | ||||
| # CT_LINUX_V_3_10 is not set | ||||
| # CT_LINUX_V_3_4 is not set | ||||
| # CT_LINUX_V_3_2 is not set | ||||
| CT_LINUX_VERSION="5.4.179" | ||||
| CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})" | ||||
| CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz" | ||||
| CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign" | ||||
| CT_LINUX_5_12_or_older=y | ||||
| CT_LINUX_older_than_5_12=y | ||||
| CT_LINUX_later_than_5_3=y | ||||
| CT_LINUX_5_3_or_later=y | ||||
| CT_LINUX_later_than_4_8=y | ||||
| CT_LINUX_4_8_or_later=y | ||||
| CT_LINUX_later_than_3_7=y | ||||
| CT_LINUX_3_7_or_later=y | ||||
| CT_LINUX_later_than_3_2=y | ||||
| CT_LINUX_3_2_or_later=y | ||||
| CT_LINUX_REQUIRE_3_2_or_later=y | ||||
| CT_KERNEL_DEP_RSYNC=y | ||||
| CT_KERNEL_LINUX_VERBOSITY_0=y | ||||
| # CT_KERNEL_LINUX_VERBOSITY_1 is not set | ||||
| # CT_KERNEL_LINUX_VERBOSITY_2 is not set | ||||
| CT_KERNEL_LINUX_VERBOSE_LEVEL=0 | ||||
| CT_KERNEL_LINUX_INSTALL_CHECK=y | ||||
| CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS" | ||||
|  | ||||
| # | ||||
| # Common kernel options | ||||
| # | ||||
| CT_SHARED_LIBS=y | ||||
| # end of Operating System | ||||
|  | ||||
| # | ||||
| # Binary utilities | ||||
| # | ||||
| CT_ARCH_BINFMT_ELF=y | ||||
| CT_BINUTILS_BINUTILS=y | ||||
| CT_BINUTILS="binutils" | ||||
| CT_BINUTILS_CHOICE_KSYM="BINUTILS" | ||||
| CT_BINUTILS_BINUTILS_SHOW=y | ||||
|  | ||||
| # | ||||
| # Options for binutils | ||||
| # | ||||
| CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS" | ||||
| CT_BINUTILS_DIR_NAME="binutils" | ||||
| CT_BINUTILS_USE_GNU=y | ||||
| # CT_BINUTILS_USE_ORACLE is not set | ||||
| CT_BINUTILS_USE="BINUTILS" | ||||
| CT_BINUTILS_PKG_NAME="binutils" | ||||
| CT_BINUTILS_SRC_RELEASE=y | ||||
| # CT_BINUTILS_SRC_DEVEL is not set | ||||
| CT_BINUTILS_PATCH_ORDER="global" | ||||
| CT_BINUTILS_V_2_38=y | ||||
| # CT_BINUTILS_V_2_37 is not set | ||||
| # CT_BINUTILS_V_2_36 is not set | ||||
| # CT_BINUTILS_V_2_35 is not set | ||||
| # CT_BINUTILS_V_2_34 is not set | ||||
| # CT_BINUTILS_V_2_33 is not set | ||||
| # CT_BINUTILS_V_2_32 is not set | ||||
| # CT_BINUTILS_V_2_31 is not set | ||||
| # CT_BINUTILS_V_2_30 is not set | ||||
| # CT_BINUTILS_V_2_29 is not set | ||||
| # CT_BINUTILS_V_2_28 is not set | ||||
| # CT_BINUTILS_V_2_27 is not set | ||||
| # CT_BINUTILS_V_2_26 is not set | ||||
| CT_BINUTILS_VERSION="2.38" | ||||
| CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)" | ||||
| CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz" | ||||
| CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig" | ||||
| CT_BINUTILS_later_than_2_30=y | ||||
| CT_BINUTILS_2_30_or_later=y | ||||
| CT_BINUTILS_later_than_2_27=y | ||||
| CT_BINUTILS_2_27_or_later=y | ||||
| CT_BINUTILS_later_than_2_26=y | ||||
| CT_BINUTILS_2_26_or_later=y | ||||
|  | ||||
| # | ||||
| # GNU binutils | ||||
| # | ||||
| CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y | ||||
| CT_BINUTILS_LINKER_LD=y | ||||
| CT_BINUTILS_LINKERS_LIST="ld" | ||||
| CT_BINUTILS_LINKER_DEFAULT="bfd" | ||||
| CT_BINUTILS_PLUGINS=y | ||||
| CT_BINUTILS_RELRO=m | ||||
| CT_BINUTILS_DETERMINISTIC_ARCHIVES=y | ||||
| CT_BINUTILS_EXTRA_CONFIG_ARRAY="" | ||||
| # CT_BINUTILS_FOR_TARGET is not set | ||||
| CT_ALL_BINUTILS_CHOICES="BINUTILS" | ||||
| # end of Binary utilities | ||||
|  | ||||
| # | ||||
| # C-library | ||||
| # | ||||
| CT_LIBC_GLIBC=y | ||||
| # CT_LIBC_UCLIBC_NG is not set | ||||
| CT_LIBC="glibc" | ||||
| CT_LIBC_CHOICE_KSYM="GLIBC" | ||||
| CT_THREADS="nptl" | ||||
| CT_LIBC_GLIBC_SHOW=y | ||||
|  | ||||
| # | ||||
| # Options for glibc | ||||
| # | ||||
| CT_LIBC_GLIBC_PKG_KSYM="GLIBC" | ||||
| CT_GLIBC_DIR_NAME="glibc" | ||||
| CT_GLIBC_USE_GNU=y | ||||
| # CT_GLIBC_USE_ORACLE is not set | ||||
| CT_GLIBC_USE="GLIBC" | ||||
| CT_GLIBC_PKG_NAME="glibc" | ||||
| CT_GLIBC_SRC_RELEASE=y | ||||
| # CT_GLIBC_SRC_DEVEL is not set | ||||
| CT_GLIBC_PATCH_ORDER="global" | ||||
| # CT_GLIBC_V_2_35 is not set | ||||
| # CT_GLIBC_V_2_34 is not set | ||||
| # CT_GLIBC_V_2_33 is not set | ||||
| # CT_GLIBC_V_2_32 is not set | ||||
| # CT_GLIBC_V_2_31 is not set | ||||
| # CT_GLIBC_V_2_30 is not set | ||||
| # CT_GLIBC_V_2_29 is not set | ||||
| CT_GLIBC_V_2_28=y | ||||
| # CT_GLIBC_V_2_27 is not set | ||||
| # CT_GLIBC_V_2_26 is not set | ||||
| # CT_GLIBC_V_2_25 is not set | ||||
| # CT_GLIBC_V_2_24 is not set | ||||
| # CT_GLIBC_V_2_23 is not set | ||||
| # CT_GLIBC_V_2_19 is not set | ||||
| # CT_GLIBC_V_2_17 is not set | ||||
| CT_GLIBC_VERSION="2.28" | ||||
| CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)" | ||||
| CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz" | ||||
| CT_GLIBC_SIGNATURE_FORMAT="packed/.sig" | ||||
| CT_GLIBC_2_32_or_older=y | ||||
| CT_GLIBC_older_than_2_32=y | ||||
| CT_GLIBC_2_30_or_older=y | ||||
| CT_GLIBC_older_than_2_30=y | ||||
| CT_GLIBC_2_29_or_older=y | ||||
| CT_GLIBC_older_than_2_29=y | ||||
| CT_GLIBC_2_28_or_later=y | ||||
| CT_GLIBC_2_28_or_older=y | ||||
| CT_GLIBC_later_than_2_27=y | ||||
| CT_GLIBC_2_27_or_later=y | ||||
| CT_GLIBC_later_than_2_26=y | ||||
| CT_GLIBC_2_26_or_later=y | ||||
| CT_GLIBC_later_than_2_25=y | ||||
| CT_GLIBC_2_25_or_later=y | ||||
| CT_GLIBC_later_than_2_24=y | ||||
| CT_GLIBC_2_24_or_later=y | ||||
| CT_GLIBC_later_than_2_23=y | ||||
| CT_GLIBC_2_23_or_later=y | ||||
| CT_GLIBC_later_than_2_20=y | ||||
| CT_GLIBC_2_20_or_later=y | ||||
| CT_GLIBC_later_than_2_17=y | ||||
| CT_GLIBC_2_17_or_later=y | ||||
| CT_GLIBC_later_than_2_14=y | ||||
| CT_GLIBC_2_14_or_later=y | ||||
| CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y | ||||
| CT_GLIBC_DEP_BINUTILS=y | ||||
| CT_GLIBC_DEP_GCC=y | ||||
| CT_GLIBC_DEP_PYTHON=y | ||||
| CT_GLIBC_SPARC_ALLOW_V7=y | ||||
| CT_GLIBC_BUILD_SSP=y | ||||
| CT_GLIBC_HAS_LIBIDN_ADDON=y | ||||
| # CT_GLIBC_USE_LIBIDN_ADDON is not set | ||||
| CT_GLIBC_NO_SPARC_V8=y | ||||
| CT_GLIBC_HAS_OBSOLETE_RPC=y | ||||
| CT_GLIBC_EXTRA_CONFIG_ARRAY="" | ||||
| CT_GLIBC_CONFIGPARMS="" | ||||
| CT_GLIBC_EXTRA_CFLAGS="" | ||||
| CT_GLIBC_ENABLE_OBSOLETE_RPC=y | ||||
| # CT_GLIBC_DISABLE_VERSIONING is not set | ||||
| CT_GLIBC_OLDEST_ABI="" | ||||
| CT_GLIBC_FORCE_UNWIND=y | ||||
| # CT_GLIBC_LOCALES is not set | ||||
| # CT_GLIBC_KERNEL_VERSION_NONE is not set | ||||
| # CT_GLIBC_KERNEL_VERSION_AS_HEADERS is not set | ||||
| CT_GLIBC_KERNEL_VERSION_CHOSEN=y | ||||
| CT_GLIBC_MIN_KERNEL_VERSION="3.16.0" | ||||
| CT_GLIBC_MIN_KERNEL="3.16.0" | ||||
| CT_GLIBC_SSP_DEFAULT=y | ||||
| # CT_GLIBC_SSP_NO is not set | ||||
| # CT_GLIBC_SSP_YES is not set | ||||
| # CT_GLIBC_SSP_ALL is not set | ||||
| # CT_GLIBC_SSP_STRONG is not set | ||||
| CT_GLIBC_ENABLE_WERROR=y | ||||
| # CT_GLIBC_ENABLE_COMMON_FLAG is not set | ||||
| CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG" | ||||
| CT_LIBC_SUPPORT_THREADS_ANY=y | ||||
| CT_LIBC_SUPPORT_THREADS_NATIVE=y | ||||
|  | ||||
| # | ||||
| # Common C library options | ||||
| # | ||||
| CT_THREADS_NATIVE=y | ||||
| # CT_CREATE_LDSO_CONF is not set | ||||
| CT_LIBC_XLDD=y | ||||
| # end of C-library | ||||
|  | ||||
| # | ||||
| # C compiler | ||||
| # | ||||
| CT_CC_CORE_NEEDED=y | ||||
| CT_CC_SUPPORT_CXX=y | ||||
| CT_CC_SUPPORT_FORTRAN=y | ||||
| CT_CC_SUPPORT_ADA=y | ||||
| CT_CC_SUPPORT_OBJC=y | ||||
| CT_CC_SUPPORT_OBJCXX=y | ||||
| CT_CC_SUPPORT_GOLANG=y | ||||
| CT_CC_GCC=y | ||||
| CT_CC="gcc" | ||||
| CT_CC_CHOICE_KSYM="GCC" | ||||
| CT_CC_GCC_SHOW=y | ||||
|  | ||||
| # | ||||
| # Options for gcc | ||||
| # | ||||
| CT_CC_GCC_PKG_KSYM="GCC" | ||||
| CT_GCC_DIR_NAME="gcc" | ||||
| CT_GCC_USE_GNU=y | ||||
| CT_GCC_USE="GCC" | ||||
| CT_GCC_PKG_NAME="gcc" | ||||
| CT_GCC_SRC_RELEASE=y | ||||
| # CT_GCC_SRC_DEVEL is not set | ||||
| CT_GCC_PATCH_ORDER="global" | ||||
| # CT_GCC_V_11 is not set | ||||
| # CT_GCC_V_10 is not set | ||||
| # CT_GCC_V_9 is not set | ||||
| CT_GCC_V_8=y | ||||
| # CT_GCC_V_7 is not set | ||||
| # CT_GCC_V_6 is not set | ||||
| # CT_GCC_V_5 is not set | ||||
| # CT_GCC_V_4_9 is not set | ||||
| CT_GCC_VERSION="8.5.0" | ||||
| CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})" | ||||
| CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz" | ||||
| CT_GCC_SIGNATURE_FORMAT="" | ||||
| CT_GCC_11_or_older=y | ||||
| CT_GCC_older_than_11=y | ||||
| CT_GCC_10_or_older=y | ||||
| CT_GCC_older_than_10=y | ||||
| CT_GCC_9_or_older=y | ||||
| CT_GCC_older_than_9=y | ||||
| CT_GCC_later_than_8=y | ||||
| CT_GCC_8_or_later=y | ||||
| CT_GCC_later_than_7=y | ||||
| CT_GCC_7_or_later=y | ||||
| CT_GCC_later_than_6=y | ||||
| CT_GCC_6_or_later=y | ||||
| CT_GCC_later_than_5=y | ||||
| CT_GCC_5_or_later=y | ||||
| CT_GCC_later_than_4_9=y | ||||
| CT_GCC_4_9_or_later=y | ||||
| CT_GCC_REQUIRE_4_9_or_later=y | ||||
| CT_CC_GCC_ENABLE_PLUGINS=y | ||||
| CT_CC_GCC_HAS_LIBMPX=y | ||||
| CT_CC_GCC_ENABLE_CXX_FLAGS="" | ||||
| CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="" | ||||
| CT_CC_GCC_EXTRA_CONFIG_ARRAY="" | ||||
| CT_CC_GCC_STATIC_LIBSTDCXX=y | ||||
| # CT_CC_GCC_SYSTEM_ZLIB is not set | ||||
| CT_CC_GCC_CONFIG_TLS=m | ||||
|  | ||||
| # | ||||
| # Optimisation features | ||||
| # | ||||
| CT_CC_GCC_USE_GRAPHITE=y | ||||
| CT_CC_GCC_USE_LTO=y | ||||
|  | ||||
| # | ||||
| # Settings for libraries running on target | ||||
| # | ||||
| CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y | ||||
| CT_CC_GCC_LIBMUDFLAP=y | ||||
| CT_CC_GCC_LIBGOMP=y | ||||
| CT_CC_GCC_LIBSSP=m | ||||
| CT_CC_GCC_LIBQUADMATH=y | ||||
| # CT_CC_GCC_LIBSANITIZER is not set | ||||
|  | ||||
| # | ||||
| # Misc. obscure options. | ||||
| # | ||||
| CT_CC_CXA_ATEXIT=y | ||||
| # CT_CC_GCC_DISABLE_PCH is not set | ||||
| CT_CC_GCC_SJLJ_EXCEPTIONS=m | ||||
| CT_CC_GCC_LDBL_128=m | ||||
| # CT_CC_GCC_BUILD_ID is not set | ||||
| CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y | ||||
| # CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set | ||||
| # CT_CC_GCC_LNK_HASH_STYLE_GNU is not set | ||||
| # CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set | ||||
| CT_CC_GCC_LNK_HASH_STYLE="" | ||||
| CT_CC_GCC_DEC_FLOATS_AUTO=y | ||||
| # CT_CC_GCC_DEC_FLOATS_BID is not set | ||||
| # CT_CC_GCC_DEC_FLOATS_DPD is not set | ||||
| # CT_CC_GCC_DEC_FLOATS_NO is not set | ||||
| CT_CC_GCC_DEC_FLOATS="" | ||||
| CT_CC_GCC_HAS_ARCH_OPTIONS=y | ||||
|  | ||||
| # | ||||
| # archictecture-specific options | ||||
| # | ||||
| CT_CC_GCC_mips_llsc=m | ||||
| CT_CC_GCC_mips_synci=m | ||||
| CT_CC_GCC_mips_plt=y | ||||
| CT_ALL_CC_CHOICES="GCC" | ||||
|  | ||||
| # | ||||
| # Additional supported languages: | ||||
| # | ||||
| CT_CC_LANG_CXX=y | ||||
| # CT_CC_LANG_FORTRAN is not set | ||||
| # end of C compiler | ||||
|  | ||||
| # | ||||
| # Debug facilities | ||||
| # | ||||
| CT_DEBUG_DUMA=y | ||||
| CT_DEBUG_DUMA_PKG_KSYM="DUMA" | ||||
| CT_DUMA_DIR_NAME="duma" | ||||
| CT_DUMA_PKG_NAME="duma" | ||||
| CT_DUMA_SRC_RELEASE=y | ||||
| # CT_DUMA_SRC_DEVEL is not set | ||||
| CT_DUMA_PATCH_ORDER="global" | ||||
| CT_DUMA_V_2_5_15=y | ||||
| CT_DUMA_VERSION="2_5_15" | ||||
| CT_DUMA_MIRRORS="http://downloads.sourceforge.net/project/duma/duma/${CT_DUMA_VERSION//_/.}" | ||||
| CT_DUMA_ARCHIVE_FILENAME="@{pkg_name}_@{version}" | ||||
| CT_DUMA_ARCHIVE_DIRNAME="@{pkg_name}_@{version}" | ||||
| CT_DUMA_ARCHIVE_FORMATS=".tar.gz .zip" | ||||
| CT_DUMA_SIGNATURE_FORMAT="" | ||||
| CT_DUMA_SO=y | ||||
| CT_DUMA_CUSTOM_WRAPPER=y | ||||
| CT_DEBUG_GDB=y | ||||
| CT_DEBUG_GDB_PKG_KSYM="GDB" | ||||
| CT_GDB_DIR_NAME="gdb" | ||||
| CT_GDB_PKG_NAME="gdb" | ||||
| CT_GDB_SRC_RELEASE=y | ||||
| # CT_GDB_SRC_DEVEL is not set | ||||
| CT_GDB_PATCH_ORDER="global" | ||||
| CT_GDB_V_9=y | ||||
| # CT_GDB_V_8_3 is not set | ||||
| CT_GDB_VERSION="9.2" | ||||
| CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)" | ||||
| CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz" | ||||
| CT_GDB_SIGNATURE_FORMAT="" | ||||
| CT_GDB_11_or_older=y | ||||
| CT_GDB_older_than_11=y | ||||
| CT_GDB_10_or_older=y | ||||
| CT_GDB_older_than_10=y | ||||
| CT_GDB_REQUIRE_older_than_10=y | ||||
| CT_GDB_later_than_8_3=y | ||||
| CT_GDB_8_3_or_later=y | ||||
| CT_GDB_later_than_8_0=y | ||||
| CT_GDB_8_0_or_later=y | ||||
| CT_GDB_later_than_7_12=y | ||||
| CT_GDB_7_12_or_later=y | ||||
| CT_GDB_later_than_7_11=y | ||||
| CT_GDB_7_11_or_later=y | ||||
| CT_GDB_CROSS=y | ||||
| # CT_GDB_CROSS_STATIC is not set | ||||
| # CT_GDB_CROSS_SIM is not set | ||||
| # CT_GDB_CROSS_PYTHON is not set | ||||
| CT_GDB_CROSS_EXTRA_CONFIG_ARRAY="" | ||||
| CT_GDB_NATIVE=y | ||||
| CT_GDB_GDBSERVER=y | ||||
| # CT_GDB_NATIVE_BUILD_IPA_LIB is not set | ||||
| # CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set | ||||
| CT_GDB_DEP_NO_STD_FUTURE=y | ||||
| # CT_DEBUG_LTRACE is not set | ||||
| CT_DEBUG_STRACE=y | ||||
| CT_DEBUG_STRACE_PKG_KSYM="STRACE" | ||||
| CT_STRACE_DIR_NAME="strace" | ||||
| CT_STRACE_PKG_NAME="strace" | ||||
| CT_STRACE_SRC_RELEASE=y | ||||
| # CT_STRACE_SRC_DEVEL is not set | ||||
| CT_STRACE_PATCH_ORDER="global" | ||||
| CT_STRACE_V_5_16=y | ||||
| CT_STRACE_VERSION="5.16" | ||||
| CT_STRACE_MIRRORS="https://strace.io/files/${CT_STRACE_VERSION} https://github.com/strace/strace/releases/download/v${CT_STRACE_VERSION}" | ||||
| CT_STRACE_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_STRACE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_STRACE_ARCHIVE_FORMATS=".tar.xz" | ||||
| CT_STRACE_SIGNATURE_FORMAT="" | ||||
| CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE" | ||||
| # end of Debug facilities | ||||
|  | ||||
| # | ||||
| # Companion libraries | ||||
| # | ||||
| # CT_COMPLIBS_CHECK is not set | ||||
| # CT_COMP_LIBS_CLOOG is not set | ||||
| CT_COMP_LIBS_EXPAT=y | ||||
| CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT" | ||||
| CT_EXPAT_DIR_NAME="expat" | ||||
| CT_EXPAT_PKG_NAME="expat" | ||||
| CT_EXPAT_SRC_RELEASE=y | ||||
| # CT_EXPAT_SRC_DEVEL is not set | ||||
| CT_EXPAT_PATCH_ORDER="global" | ||||
| CT_EXPAT_V_2_4=y | ||||
| CT_EXPAT_VERSION="2.4.1" | ||||
| CT_EXPAT_MIRRORS="http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION} https://github.com/libexpat/libexpat/releases/download/R_${CT_EXPAT_VERSION//./_}" | ||||
| CT_EXPAT_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_EXPAT_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2 .tar.gz" | ||||
| CT_EXPAT_SIGNATURE_FORMAT="" | ||||
| CT_COMP_LIBS_GETTEXT=y | ||||
| CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT" | ||||
| CT_GETTEXT_DIR_NAME="gettext" | ||||
| CT_GETTEXT_PKG_NAME="gettext" | ||||
| CT_GETTEXT_SRC_RELEASE=y | ||||
| # CT_GETTEXT_SRC_DEVEL is not set | ||||
| CT_GETTEXT_PATCH_ORDER="global" | ||||
| CT_GETTEXT_V_0_21=y | ||||
| # CT_GETTEXT_V_0_20_1 is not set | ||||
| # CT_GETTEXT_V_0_19_8_1 is not set | ||||
| CT_GETTEXT_VERSION="0.21" | ||||
| CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)" | ||||
| CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz" | ||||
| CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig" | ||||
| CT_GETTEXT_0_21_or_later=y | ||||
| CT_GETTEXT_0_21_or_older=y | ||||
| CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y | ||||
|  | ||||
| # | ||||
| # This version of gettext is not compatible with uClibc-NG. Select | ||||
| # | ||||
|  | ||||
| # | ||||
| # a different version if uClibc-NG is used on the target or (in a | ||||
| # | ||||
|  | ||||
| # | ||||
| # Canadian cross build) on the host. | ||||
| # | ||||
| CT_COMP_LIBS_GMP=y | ||||
| CT_COMP_LIBS_GMP_PKG_KSYM="GMP" | ||||
| CT_GMP_DIR_NAME="gmp" | ||||
| CT_GMP_PKG_NAME="gmp" | ||||
| CT_GMP_SRC_RELEASE=y | ||||
| # CT_GMP_SRC_DEVEL is not set | ||||
| CT_GMP_PATCH_ORDER="global" | ||||
| CT_GMP_V_6_2=y | ||||
| # CT_GMP_V_6_1 is not set | ||||
| CT_GMP_VERSION="6.2.1" | ||||
| CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)" | ||||
| CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2" | ||||
| CT_GMP_SIGNATURE_FORMAT="packed/.sig" | ||||
| CT_COMP_LIBS_ISL=y | ||||
| CT_COMP_LIBS_ISL_PKG_KSYM="ISL" | ||||
| CT_ISL_DIR_NAME="isl" | ||||
| CT_ISL_PKG_NAME="isl" | ||||
| CT_ISL_SRC_RELEASE=y | ||||
| # CT_ISL_SRC_DEVEL is not set | ||||
| CT_ISL_PATCH_ORDER="global" | ||||
| CT_ISL_V_0_24=y | ||||
| # CT_ISL_V_0_23 is not set | ||||
| # CT_ISL_V_0_22 is not set | ||||
| # CT_ISL_V_0_21 is not set | ||||
| # CT_ISL_V_0_20 is not set | ||||
| # CT_ISL_V_0_19 is not set | ||||
| # CT_ISL_V_0_18 is not set | ||||
| # CT_ISL_V_0_17 is not set | ||||
| # CT_ISL_V_0_16 is not set | ||||
| # CT_ISL_V_0_15 is not set | ||||
| CT_ISL_VERSION="0.24" | ||||
| CT_ISL_MIRRORS="https://libisl.sourceforge.io" | ||||
| CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz" | ||||
| CT_ISL_SIGNATURE_FORMAT="" | ||||
| CT_ISL_later_than_0_18=y | ||||
| CT_ISL_0_18_or_later=y | ||||
| CT_ISL_later_than_0_15=y | ||||
| CT_ISL_0_15_or_later=y | ||||
| # CT_COMP_LIBS_LIBELF is not set | ||||
| CT_COMP_LIBS_LIBICONV=y | ||||
| CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV" | ||||
| CT_LIBICONV_DIR_NAME="libiconv" | ||||
| CT_LIBICONV_PKG_NAME="libiconv" | ||||
| CT_LIBICONV_SRC_RELEASE=y | ||||
| # CT_LIBICONV_SRC_DEVEL is not set | ||||
| CT_LIBICONV_PATCH_ORDER="global" | ||||
| CT_LIBICONV_V_1_16=y | ||||
| # CT_LIBICONV_V_1_15 is not set | ||||
| CT_LIBICONV_VERSION="1.16" | ||||
| CT_LIBICONV_MIRRORS="$(CT_Mirrors GNU libiconv)" | ||||
| CT_LIBICONV_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_LIBICONV_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_LIBICONV_ARCHIVE_FORMATS=".tar.gz" | ||||
| CT_LIBICONV_SIGNATURE_FORMAT="packed/.sig" | ||||
| CT_COMP_LIBS_MPC=y | ||||
| CT_COMP_LIBS_MPC_PKG_KSYM="MPC" | ||||
| CT_MPC_DIR_NAME="mpc" | ||||
| CT_MPC_PKG_NAME="mpc" | ||||
| CT_MPC_SRC_RELEASE=y | ||||
| # CT_MPC_SRC_DEVEL is not set | ||||
| CT_MPC_PATCH_ORDER="global" | ||||
| CT_MPC_V_1_2=y | ||||
| # CT_MPC_V_1_1 is not set | ||||
| # CT_MPC_V_1_0 is not set | ||||
| CT_MPC_VERSION="1.2.1" | ||||
| CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)" | ||||
| CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_MPC_ARCHIVE_FORMATS=".tar.gz" | ||||
| CT_MPC_SIGNATURE_FORMAT="packed/.sig" | ||||
| CT_MPC_later_than_1_1_0=y | ||||
| CT_MPC_1_1_0_or_later=y | ||||
| CT_COMP_LIBS_MPFR=y | ||||
| CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR" | ||||
| CT_MPFR_DIR_NAME="mpfr" | ||||
| CT_MPFR_PKG_NAME="mpfr" | ||||
| CT_MPFR_SRC_RELEASE=y | ||||
| # CT_MPFR_SRC_DEVEL is not set | ||||
| CT_MPFR_PATCH_ORDER="global" | ||||
| CT_MPFR_V_4_1=y | ||||
| # CT_MPFR_V_4_0 is not set | ||||
| # CT_MPFR_V_3_1 is not set | ||||
| CT_MPFR_VERSION="4.1.0" | ||||
| CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)" | ||||
| CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip" | ||||
| CT_MPFR_SIGNATURE_FORMAT="packed/.asc" | ||||
| CT_MPFR_later_than_4_0_0=y | ||||
| CT_MPFR_4_0_0_or_later=y | ||||
| CT_COMP_LIBS_NCURSES=y | ||||
| CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES" | ||||
| CT_NCURSES_DIR_NAME="ncurses" | ||||
| CT_NCURSES_PKG_NAME="ncurses" | ||||
| CT_NCURSES_SRC_RELEASE=y | ||||
| # CT_NCURSES_SRC_DEVEL is not set | ||||
| CT_NCURSES_PATCH_ORDER="global" | ||||
| CT_NCURSES_V_6_2=y | ||||
| # CT_NCURSES_V_6_1 is not set | ||||
| # CT_NCURSES_V_6_0 is not set | ||||
| CT_NCURSES_VERSION="6.2" | ||||
| CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)" | ||||
| CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_NCURSES_ARCHIVE_FORMATS=".tar.gz" | ||||
| CT_NCURSES_SIGNATURE_FORMAT="packed/.sig" | ||||
| CT_NCURSES_NEW_ABI=y | ||||
| CT_NCURSES_HOST_CONFIG_ARGS="" | ||||
| CT_NCURSES_HOST_DISABLE_DB=y | ||||
| CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100" | ||||
| CT_NCURSES_TARGET_CONFIG_ARGS="" | ||||
| # CT_NCURSES_TARGET_DISABLE_DB is not set | ||||
| CT_NCURSES_TARGET_FALLBACKS="" | ||||
| CT_COMP_LIBS_ZLIB=y | ||||
| CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB" | ||||
| CT_ZLIB_DIR_NAME="zlib" | ||||
| CT_ZLIB_PKG_NAME="zlib" | ||||
| CT_ZLIB_SRC_RELEASE=y | ||||
| # CT_ZLIB_SRC_DEVEL is not set | ||||
| CT_ZLIB_PATCH_ORDER="global" | ||||
| CT_ZLIB_V_1_2_12=y | ||||
| CT_ZLIB_VERSION="1.2.12" | ||||
| CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/" | ||||
| CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}" | ||||
| CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" | ||||
| CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" | ||||
| CT_ZLIB_SIGNATURE_FORMAT="packed/.asc" | ||||
| CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB" | ||||
| CT_LIBICONV_NEEDED=y | ||||
| CT_GETTEXT_NEEDED=y | ||||
| CT_GMP_NEEDED=y | ||||
| CT_MPFR_NEEDED=y | ||||
| CT_ISL_NEEDED=y | ||||
| CT_MPC_NEEDED=y | ||||
| CT_EXPAT_NEEDED=y | ||||
| CT_EXPAT_TARGET=y | ||||
| CT_NCURSES_NEEDED=y | ||||
| CT_NCURSES_TARGET=y | ||||
| CT_ZLIB_NEEDED=y | ||||
| CT_LIBICONV=y | ||||
| CT_GETTEXT=y | ||||
| CT_GMP=y | ||||
| CT_MPFR=y | ||||
| CT_ISL=y | ||||
| CT_MPC=y | ||||
| CT_EXPAT=y | ||||
| CT_NCURSES=y | ||||
| CT_ZLIB=y | ||||
| # end of Companion libraries | ||||
|  | ||||
| # | ||||
| # Companion tools | ||||
| # | ||||
| # CT_COMP_TOOLS_FOR_HOST is not set | ||||
| # CT_COMP_TOOLS_AUTOCONF is not set | ||||
| # CT_COMP_TOOLS_AUTOMAKE is not set | ||||
| # CT_COMP_TOOLS_BISON is not set | ||||
| # CT_COMP_TOOLS_DTC is not set | ||||
| # CT_COMP_TOOLS_LIBTOOL is not set | ||||
| # CT_COMP_TOOLS_M4 is not set | ||||
| # CT_COMP_TOOLS_MAKE is not set | ||||
| CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE" | ||||
| # end of Companion tools | ||||
| @@ -6,7 +6,7 @@ ENV XCC_PREFIX /usr/xcc | ||||
| ENV CROSS_TRIPLE aarch64-w64-mingw32 | ||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross | ||||
|  | ||||
| ARG DOWNLOAD_URL=https://github.com/mstorsjo/llvm-mingw/releases/download/20210423/llvm-mingw-20210423-msvcrt-ubuntu-18.04-x86_64.tar.xz | ||||
| ARG DOWNLOAD_URL=https://github.com/mstorsjo/llvm-mingw/releases/download/20220323/llvm-mingw-20220323-msvcrt-ubuntu-18.04-x86_64.tar.xz | ||||
| ENV DOWNLOAD_URL=${DOWNLOAD_URL} | ||||
|  | ||||
| RUN mkdir -p ${CROSS_ROOT} && wget -qO- "${DOWNLOAD_URL}" | tar xJvf - --strip 1 -C ${CROSS_ROOT}/ > /dev/null | ||||
|   | ||||
| @@ -6,7 +6,7 @@ ENV XCC_PREFIX /usr/xcc | ||||
| ENV CROSS_TRIPLE armv7-w64-mingw32 | ||||
| ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross | ||||
|  | ||||
| ARG DOWNLOAD_URL=https://github.com/mstorsjo/llvm-mingw/releases/download/20210423/llvm-mingw-20210423-msvcrt-ubuntu-18.04-x86_64.tar.xz | ||||
| ARG DOWNLOAD_URL=https://github.com/mstorsjo/llvm-mingw/releases/download/20220323/llvm-mingw-20220323-msvcrt-ubuntu-18.04-x86_64.tar.xz | ||||
| ENV DOWNLOAD_URL=${DOWNLOAD_URL} | ||||
|  | ||||
| RUN mkdir -p ${CROSS_ROOT} && wget -qO- "${DOWNLOAD_URL}" | tar xJvf - --strip 1 -C ${CROSS_ROOT}/ > /dev/null | ||||
|   | ||||
		Reference in New Issue
	
	Block a user