Compare commits

..

51 Commits

Author SHA1 Message Date
3deaae3929 Merge pull request #891 from maxiaogood/maxiao_fix_dev_pts
fix /dev/pts/0 permissions
2025-06-10 22:35:40 -04:00
15f69e2d8a Merge pull request #888 from thewtex/deploy-multi-host-name
ci: fix multi-host deploy import image name
2025-06-08 08:52:56 -04:00
c31dde3d41 Merge pull request #887 from drinkcat/move-rust
Speed up dockcross entrypoint
2025-06-07 22:11:55 -04:00
3ada9c5df8 ci: fix multi-host deploy import image name
remove -$(HOST_NAME) from the image name. It is on the tag.
2025-06-07 22:10:21 -04:00
518960a612 Merge pull request #892 from thewtex/musl-cc-https
linux-arm: use https for musl.cc downloads
2025-06-07 22:08:11 -04:00
1bebfd7300 linux-arm-musl: use mirror of musl.cc sources for reliability 2025-06-07 17:15:41 -04:00
ce8865c0af linux-arm: use https for musl.cc downloads 2025-06-06 15:33:29 -04:00
dcb6bde44b Change ownership of /dev/pts/0 to new user 2025-05-30 23:17:25 +08:00
0ca299216e fix /dev/pts/0 permissions 2025-05-30 23:06:00 +08:00
27e0cf6c78 imagefiles/entrypoint.sh: Move rust/cargo directories
Presumably we do not need those as root.
2025-05-28 15:31:51 +02:00
494c154b87 imagefiles/entrypoint.sh: Remove sync call
This slows down the container startup for what appears to be no
good reason.

This workaround was added in 2016:
dd9d902538 ,
see also https://github.com/moby/moby/issues/13594#issuecomment-262441366 ,
and hopefully AUFS has been fixed by now.
2025-05-28 14:41:52 +02:00
abab9c6b4b Merge pull request #885 from thewtex/host-arch-syntax
Makefile: address HOST_ARCH specification syntax
2025-05-27 10:49:31 -04:00
d823872763 Makefile: address HOST_ARCH specification syntax
For:

```
Makefile:297: target '-e' given more than once in the same rule
35
Makefile:305: warning: overriding recipe for target 'base-shell'
36
Makefile:298: warning: ignoring old recipe for target 'base-shell'
37
Makefile:305: warning: overriding recipe for target 'uname'
38
Makefile:298: warning: ignoring old recipe for target 'uname'
39
Makefile:305: warning: overriding recipe for target '-m'
40
Makefile:298: warning: ignoring old recipe for target '-m'
41
Makefile:305: warning: overriding recipe for target '|'
42
Makefile:298: warning: ignoring old recipe for target '|'
43
Makefile:305: warning: overriding recipe for target 'sed'
44
Makefile:298: warning: ignoring old recipe for target 'sed'
45
Makefile:305: warning: overriding recipe for target '-e'
46
Makefile:298: warning: ignoring old recipe for target '-e'
47
Makefile:305: warning: overriding recipe for target ''s/x86_64/amd64/''
48
Makefile:298: warning: ignoring old recipe for target ''s/x86_64/amd64/''
```
2025-05-26 17:45:25 -04:00
95d67e95d0 Merge pull request #882 from thewtex/python-version-bump
manylinux: bump python script version from 3.8 to 3.11
2025-05-23 15:04:36 -04:00
72c453f7c1 manylinux: bump python script version from 3.8 to 3.11 2025-05-22 14:27:42 -04:00
1cfb3b1459 Merge pull request #881 from thewtex/ci-deploy-multiarch
Ci deploy multiarch
2025-05-22 14:26:47 -04:00
a10699233d ci: mock HOST_ARCH for image tagging and push during deployment
We want to apply the versioned tag.
2025-05-21 17:49:04 -04:00
9668cbac87 ci: specify tag when loading images for deployment
If not specified, the default is `<none>` instead of the expected
latest-$(HOST_ARCH).
2025-05-21 17:39:54 -04:00
a3b42cd215 Merge pull request #878 from elupus/patch-1
Add CROSS_ROOT env variable on windows
2025-03-24 15:49:47 -04:00
bcc2e1c2a5 Add CROSS_ROOT env variable on windows
The cross root variable is useful when there is need to install additional libs in a child dockerfile, so ensure it is set in the windows
variants.
2025-03-24 14:55:54 +01:00
4bd0eec07e Merge pull request #877 from dockcross/fix-cmake-prefix-path
Add CMAKE_PREFIX_PATH to CMAKE_FIND_ROOT_PATH
2025-03-11 01:11:42 +01:00
5836581678 Merge pull request #876 from dockcross/podman-fix-perl-build
Untar perl with --no-same-owner
2025-03-11 01:10:44 +01:00
83766c341d Add CMAKE_PREFIX_PATH to CMAKE_FIND_ROOT_PATH 2025-03-09 01:43:04 +01:00
663c6da5bf Untar perl with --no-same-owner 2025-03-08 16:25:12 +01:00
86f7a8625c Merge pull request #875 from VxDxK/rust-in-aarch64-linux-musl
Add Rust support to linux-arm64-musl
2025-03-06 07:10:02 -05:00
b73eaf9a77 Merge pull request #872 from thewtex/deploy-multi-arch
ci: fix multiarch deploy path
2025-03-05 21:13:02 -05:00
7edeef6bc2 Support building rust binaries for aarch64-linux-musl 2025-03-06 00:41:31 +03:00
91a1cfe30b ci: fix multiarch deploy path
Use the directory, similar to `base`.
2025-03-05 12:41:36 -05:00
762ed4a396 Merge pull request #863 from hjmjohnson/master
ENH: Adding initial manylinux_2_34-x64 support.
2025-03-05 12:40:57 -05:00
b25c978187 ENH: Update to latest fully passing release
quay.io/pypa/manylinux_2_28_x86_64:2025-02-15-d68c3fb

The release 2025-02-15-d68c3fb is the latest release
that has no security failures identified.
2025-03-04 14:45:38 -06:00
2235db7afb BUG: Update openssl 1.1.1w building with c99 conformance
```
test/v3ext.c:201:24: error: implicit declaration of function 'memcmp' [-Wimplicit-function-declaration]
  201 |         if (!TEST_true(memcmp(ip1->data, ip2->data, ip1->length) <= 0))
      |                        ^~~~~~
test/testutil.h:360:66: note: in definition of macro 'TEST_true'
  360 | # define TEST_true(a)         test_true(__FILE__, __LINE__, #a, (a) != 0)
      |                                                                  ^
test/v3ext.c:18:1: note: include '<string.h>' or provide a declaration of 'memcmp'
   17 | #include "testutil.h"
  +++ |+#include <string.h>
   18 |
```
2025-03-04 14:43:18 -06:00
1678be2d0d ENH: Update to latest fully passing release
The release 2025-02-23-361da4c is the latest release
that has no security failures identified.
2025-03-04 12:07:38 -06:00
16e96d1b07 BUG: Install missing library libatomic
```txt
411.0 /tmp/tmp.9qZYWcxd6F/rustup-init: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
411.0 /tmp/tmp.9qZYWcxd6F/rustup-init: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
------
Dockerfile:97
--------------------
  96 |
  97 | >>> RUN \
  98 | >>>   X86_FLAG=$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2014-x86" ] && echo "-32" || echo "") && \
  99 | >>>   /buildscripts/build-and-install-openssl.sh $X86_FLAG && \
 100 | >>>   /buildscripts/build-and-install-openssh.sh && \
 101 | >>>   /buildscripts/build-and-install-curl.sh && \
 102 | >>>   /buildscripts/build-and-install-git.sh && \
 103 | >>>   /buildscripts/build-and-install-cmake.sh $X86_FLAG && \
 104 | >>>   /buildscripts/build-and-install-rustup.sh && \
 105 | >>>   /buildscripts/install-liquidprompt-binary.sh && \
 106 | >>>   PYTHON=$([ -e /opt/python/cp38-cp38/bin/python ] && echo "/opt/python/cp38-cp38/bin/python" || echo "python3") && \
 107 | >>>   /buildscripts/install-python-packages.sh -python ${PYTHON} && \
 108 | >>>   /buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \
 109 | >>>   /buildscripts/build-and-install-flatcc.sh && \
 110 | >>>   rm -rf /buildscripts
 111 |
--------------------
ERROR: failed to solve: process "/bin/sh -c X86_FLAG=$([ \"$DEFAULT_DOCKCROSS_IMAGE\" = \"dockcross/manylinux2014-x86\" ] && echo \"-32\" || echo \"\") &&   /buildscripts/build-and-install-openssl.sh $X86_FLAG &&   /buildscripts/build-and-install-openssh.sh &&   /buildscripts/build-and-install-curl.sh &&   /buildscripts/build-and-install-git.sh &&   /buildscripts/build-and-install-cmake.sh $X86_FLAG &&   /buildscripts/build-and-install-rustup.sh &&   /buildscripts/install-liquidprompt-binary.sh &&   PYTHON=$([ -e /opt/python/cp38-cp38/bin/python ] && echo \"/opt/python/cp38-cp38/bin/python\" || echo \"python3\") &&   /buildscripts/install-python-packages.sh -python ${PYTHON} &&   /buildscripts/build-and-install-ninja.sh -python ${PYTHON} &&   /buildscripts/build-and-install-flatcc.sh &&   rm -rf /buildscripts" did not complete successfully: exit code: 1
```
2025-03-04 12:06:05 -06:00
7317e5bf2a ENH: Adding initial manylinux_2_34-x64 support. 2025-03-04 06:36:05 -06:00
08ddf8271b ENH: Update manylinux_2_28-x64 to latest version
manylinux_2_28-x64 now supports the gcc 14 toolchain.
2025-03-04 06:36:05 -06:00
e66c1880ec Merge pull request #864 from hjmjohnson/fix-new-docker-ENV-syntax
Fix new docker env syntax
2025-03-03 16:15:42 -05:00
ec5e88f98c Merge pull request #865 from bensuperpc/update-crosstool-ng-127
Update Crosstool-ng 1.26.0 to 1.27.0 on linux-arm64 (keep same GCC, glibc etc...)
Update OpenSSL from 1.1.1o to 1.1.1w
Update Ninja from 1.11.1 to 1.12.1
Update git from 2.42.0 to 2.48.1
Update Liquidpromt from 1.11 to 1.12 and add to env ARG
2025-03-02 20:18:18 +01:00
49d9ab4342 COMP: Remove docker build warning
- LegacyKeyValueFormat: "ENV key=value" should be used
  instead of legacy "ENV key value" format (line 42)

"""
The new format for declaring environment variables in Dockerfiles is ENV
key=value. This format, where the key and value are separated by an
equals sign (=), is the recommended approach. The older format, ENV key
value (with a space as a separator), is deprecated.
""" -- google search
2025-03-02 09:28:39 -06:00
c76accc121 Merge pull request #871 from drinkcat/crosstool-no-progress-bar
*/crosstool-ng.config: Set CT_LOG_PROGRESS_BAR to no
2025-02-28 16:47:15 -05:00
925499ed12 */crosstool-ng.config: Set CT_LOG_PROGRESS_BAR to no
The crosstool progress bar completely saturates the CI logs, while
providing little added value.
2025-02-28 10:45:27 +01:00
37e2800939 Merge pull request #869 from drinkcat/cmake_find_root_fix
*/Toolchain.cmake: Set CMAKE_FIND_ROOT_PATH_LIBRARY/INCLUDE to ONLY
2025-02-27 13:45:24 -05:00
9e8e187280 Merge pull request #867 from dockcross/android-add-rust
Install rustup globally and add Rust support to Android images
2025-02-27 13:45:00 -05:00
a08b4afce0 Merge pull request #868 from jspanchu/bump-emscripten-4.0.3
web-wasm: bump emscripten to 4.0.3
2025-02-27 13:44:18 -05:00
a41e71ea67 Update README to mention Rust support 2025-02-25 23:21:11 +01:00
283f79eacf Add rust support to android-x86_64 2025-02-25 23:21:10 +01:00
4a4babf7fa Add rust support to android-x86 2025-02-25 23:21:10 +01:00
e6619f6a22 Add rust support to android-arm 2025-02-25 23:21:09 +01:00
d91bdd6564 Add rust support to android-arm64 2025-02-25 23:21:07 +01:00
133cdd4bf5 Install rustup in common.docker 2025-02-25 23:21:05 +01:00
2592f3a90f web-wasm: bump emscripten to 4.0.3 2025-02-25 10:49:40 -05:00
69c4db9338 */Toolchain.cmake: Set CMAKE_FIND_ROOT_PATH_LIBRARY/INCLUDE to ONLY
For some reason, the default setting in all Toolchain.cmake
is:
```
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
```

For cross-compilation, CMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER
makes sense (we only want to find executables in host system root),
but CMAKE_FIND_ROOT_PATH_MODE_LIBRARY/INCLUDE should be set
to ONLY, otherwise cmake may find libraries in host system root,
and try to link with incompatible libraries (instead of
cross-compilation sysroot).

Fixes #431.
2025-02-25 16:14:39 +01:00
135 changed files with 748 additions and 558 deletions

View File

@ -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

View File

@ -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:

View File

@ -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)

View File

@ -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 Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/manylinux_2_34-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/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
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/manylinux2014-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/manylinux2014-x64) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/manylinux2014-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/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
``` ```

View File

@ -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"

View File

@ -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
View File

@ -0,0 +1,5 @@
[build]
target = "armv7-linux-androideabi"
[target.armv7-linux-androideabi]
linker = "/usr/arm-linux-androideabi/bin/armv7a-linux-androideabi23-clang"

View File

@ -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"

View File

@ -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)

View File

@ -0,0 +1,5 @@
[build]
target = "aarch64-linux-android"
[target.aarch64-linux-android]
linker = "/usr/aarch64-linux-android/bin/aarch64-linux-android-clang"

View File

@ -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}

View File

@ -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
View File

@ -0,0 +1,5 @@
[build]
target = "i686-linux-android"
[target.i686-linux-android]
linker = "/usr/i686-linux-android/bin/i686-linux-android23-clang"

View File

@ -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}

View File

@ -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)

View 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"

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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 && \

View File

@ -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

View 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/

View File

@ -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

View File

@ -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
} }

View 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

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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
@ -37,4 +46,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}

View File

@ -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)

View 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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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}

View File

@ -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)

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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}

View File

@ -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)

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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"

View File

@ -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)

View File

@ -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