Compare commits

..

4 Commits

Author SHA1 Message Date
3910e804c3 Update perl 2025-02-09 20:47:07 +01:00
4bd05c5c07 Update liquidprompt 2025-02-09 19:43:24 +01:00
c732b62e97 Update crosstool-ng to 1.27.0 2025-02-09 19:39:10 +01:00
91279e9078 Update git, cmake, ninja and openssl 2025-02-08 11:47:50 +01:00
159 changed files with 1237 additions and 2835 deletions

View File

@@ -1,7 +1,7 @@
name: 'Close stale issues and PRs' name: 'Close stale issues and PRs'
on: on:
schedule: schedule:
- cron: '0 0 */2 * *' - cron: '0 */8 * * *'
jobs: jobs:
stale: stale:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -12,11 +12,11 @@ jobs:
exempt-issue-milestones: 'future,alpha,beta,release,bugfix,improvement,enhancement,help wanted' exempt-issue-milestones: 'future,alpha,beta,release,bugfix,improvement,enhancement,help wanted'
exempt-pr-milestones: 'bugfix,improvement,enhancement,help wanted' exempt-pr-milestones: 'bugfix,improvement,enhancement,help wanted'
exempt-all-pr-assignees: true exempt-all-pr-assignees: true
stale-issue-message: 'This issue is stale because it has been open 240 days with no activity. Remove stale label or comment or this will be closed in 30 days.' stale-issue-message: 'This issue is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 30 days.'
stale-pr-message: 'This PR is stale because it has been open 240 days with no activity. Remove stale label or comment or this will be closed in 30 days.' stale-pr-message: 'This PR is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 30 days.'
close-issue-message: 'This issue was closed because it has been stalled for 30 days with no activity.' close-issue-message: 'This issue was closed because it has been stalled for 30 days with no activity.'
close-pr-message: 'This PR was closed because it has been stalled for 30 days with no activity.' close-pr-message: 'This PR was closed because it has been stalled for 30 days with no activity.'
days-before-issue-stale: 240 days-before-issue-stale: 120
days-before-pr-stale: 240 days-before-pr-stale: 120
days-before-issue-close: 60 days-before-issue-close: 30
days-before-pr-close: 60 days-before-pr-close: 30

View File

@@ -9,13 +9,10 @@ on:
- "*" - "*"
workflow_dispatch: workflow_dispatch:
env:
OCI_EXE: docker
jobs: jobs:
base: base:
name: base name: base
runs-on: ubuntu-22.04 runs-on: ubuntu-latest
steps: steps:
- name: checkout code - name: checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -23,7 +20,15 @@ jobs:
submodules: "recursive" submodules: "recursive"
fetch-depth: 1 fetch-depth: 1
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: build - name: build
env:
BUILD_CMD: buildx build --platform linux/amd64,linux/arm64
run: make base run: make base
- name: test - name: test
@@ -41,83 +46,25 @@ jobs:
path: ./cache path: ./cache
retention-days: 3 retention-days: 3
- name: Login to Docker Hub
if: github.ref == 'refs/heads/master'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: deploy - name: deploy
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'
run: | run: |
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }}
docker image push dockcross/base --all-tags docker image push dockcross/base --all-tags
base-multiarch: image:
name: base-multiarch name: ${{ matrix.arch_name.image }}
runs-on: ${{ matrix.os }} needs: base
strategy: runs-on: ubuntu-latest
max-parallel: 5
matrix:
os: [ubuntu-22.04, ubuntu-22.04-arm]
steps:
- name: checkout code
uses: actions/checkout@v4
with:
submodules: "recursive"
fetch-depth: 1
- name: set host_arch
run: |
echo "HOST_ARCH=$(uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/')" >> $GITHUB_ENV
- name: build multiarch
run: |
make base-${{ env.HOST_ARCH }}
- name: test multiarch
run: |
mkdir -p bin
make base-${{ env.HOST_ARCH }}.test
- name: archive base
run: |
mkdir -p cache
docker export dockcross/base:latest-${{ env.HOST_ARCH }} | xz -e9 -T0 > ./cache/base-multiarch.tar.xz
- name: save base
uses: actions/upload-artifact@v4
with:
name: cache-${{ matrix.os }}
path: ./cache
retention-days: 3
- name: Login to Docker Hub
if: github.ref == 'refs/heads/master'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: deploy
if: github.ref == 'refs/heads/master'
run: |
docker image push dockcross/base --all-tags
images:
needs: [base, base-multiarch]
runs-on: ${{ matrix.os }}
env: env:
OCI_EXE: docker OCI_EXE: docker
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-22.04, ubuntu-22.04-arm]
arch_name: arch_name:
# Android images # Android images
- { - {
image: "android-arm", image: "android-arm",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv7 COMP=ndk", stockfish_arg: "ARCH=armv7 COMP=ndk",
ninja: "no", ninja: "no",
@@ -139,7 +86,6 @@ jobs:
} }
- { - {
image: "android-arm64", image: "android-arm64",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv8 COMP=ndk", stockfish_arg: "ARCH=armv8 COMP=ndk",
ninja: "no", ninja: "no",
@@ -161,7 +107,6 @@ jobs:
} }
- { - {
image: "android-x86", image: "android-x86",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-32 COMP=ndk", stockfish_arg: "ARCH=x86-32 COMP=ndk",
ninja: "no", ninja: "no",
@@ -183,7 +128,6 @@ jobs:
} }
- { - {
image: "android-x86_64", image: "android-x86_64",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64 COMP=ndk", stockfish_arg: "ARCH=x86-64 COMP=ndk",
ninja: "no", ninja: "no",
@@ -203,15 +147,14 @@ jobs:
cpython: "no", cpython: "no",
cpython_arg: "--host=x86_64-linux-android --target=x86_64-linux-android", cpython_arg: "--host=x86_64-linux-android --target=x86_64-linux-android",
} }
# inux arm64/armv8 images # Linux arm64/armv8 images
- { - {
image: "linux-arm64", image: "linux-arm64",
multiarch: "yes",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv8", stockfish_arg: "ARCH=armv8",
ninja: "yes", ninja: "yes",
ninja_arg: "", ninja_arg: "",
openssl: "no", openssl: "yes",
openssl_arg: "linux-aarch64", openssl_arg: "linux-aarch64",
C: "yes", C: "yes",
C_arg: "", C_arg: "",
@@ -228,7 +171,6 @@ jobs:
} }
- { - {
image: "linux-arm64-lts", image: "linux-arm64-lts",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv8", stockfish_arg: "ARCH=armv8",
ninja: "yes", ninja: "yes",
@@ -250,7 +192,6 @@ jobs:
} }
- { - {
image: "linux-arm64-musl", image: "linux-arm64-musl",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv8", stockfish_arg: "ARCH=armv8",
ninja: "yes", ninja: "yes",
@@ -272,7 +213,6 @@ jobs:
} }
- { - {
image: "linux-arm64-full", image: "linux-arm64-full",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv8", stockfish_arg: "ARCH=armv8",
ninja: "yes", ninja: "yes",
@@ -295,7 +235,6 @@ jobs:
# Linux mipel images # Linux mipel images
- { - {
image: "linux-mipsel-lts", image: "linux-mipsel-lts",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@@ -318,7 +257,6 @@ jobs:
# Linux armv5 images # Linux armv5 images
- { - {
image: "linux-armv5", image: "linux-armv5",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -340,7 +278,6 @@ jobs:
} }
- { - {
image: "linux-armv5-musl", image: "linux-armv5-musl",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -362,7 +299,6 @@ jobs:
} }
- { - {
image: "linux-armv5-uclibc", image: "linux-armv5-uclibc",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -385,7 +321,6 @@ jobs:
# Linux armv6 images # Linux armv6 images
- { - {
image: "linux-armv6", image: "linux-armv6",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -407,7 +342,6 @@ jobs:
} }
- { - {
image: "linux-armv6-lts", image: "linux-armv6-lts",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -429,7 +363,6 @@ jobs:
} }
- { - {
image: "linux-armv6-musl", image: "linux-armv6-musl",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -452,7 +385,6 @@ jobs:
# Linux armv7 images # Linux armv7 images
- { - {
image: "linux-armv7", image: "linux-armv7",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv7", stockfish_arg: "ARCH=armv7",
ninja: "yes", ninja: "yes",
@@ -474,7 +406,6 @@ jobs:
} }
- { - {
image: "linux-armv7a", image: "linux-armv7a",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv7-neon", stockfish_arg: "ARCH=armv7-neon",
ninja: "yes", ninja: "yes",
@@ -496,7 +427,6 @@ jobs:
} }
- { - {
image: "linux-armv7a-lts", image: "linux-armv7a-lts",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv7-neon", stockfish_arg: "ARCH=armv7-neon",
ninja: "yes", ninja: "yes",
@@ -518,7 +448,6 @@ jobs:
} }
- { - {
image: "linux-armv7-lts", image: "linux-armv7-lts",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv7", stockfish_arg: "ARCH=armv7",
ninja: "yes", ninja: "yes",
@@ -540,7 +469,6 @@ jobs:
} }
- { - {
image: "linux-armv7l-musl", image: "linux-armv7l-musl",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=armv7", stockfish_arg: "ARCH=armv7",
ninja: "yes", ninja: "yes",
@@ -563,7 +491,6 @@ jobs:
# Linux x86 images # Linux x86 images
- { - {
image: "linux-x86", image: "linux-x86",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-32-sse41-popcnt", stockfish_arg: "ARCH=x86-32-sse41-popcnt",
ninja: "yes", ninja: "yes",
@@ -586,7 +513,6 @@ jobs:
# Linux i686 images # Linux i686 images
- { - {
image: "linux-i686", image: "linux-i686",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -609,7 +535,6 @@ jobs:
# Linux x86_64 images # Linux x86_64 images
- { - {
image: "linux-x64", image: "linux-x64",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern", stockfish_arg: "ARCH=x86-64-modern",
ninja: "yes", ninja: "yes",
@@ -631,7 +556,6 @@ jobs:
} }
- { - {
image: "linux-x64-tinycc", image: "linux-x64-tinycc",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern", stockfish_arg: "ARCH=x86-64-modern",
ninja: "yes", ninja: "yes",
@@ -653,7 +577,6 @@ jobs:
} }
- { - {
image: "linux-x64-clang", image: "linux-x64-clang",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern COMP=clang", stockfish_arg: "ARCH=x86-64-modern COMP=clang",
ninja: "yes", ninja: "yes",
@@ -675,7 +598,6 @@ jobs:
} }
- { - {
image: "linux-x86_64-full", image: "linux-x86_64-full",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern", stockfish_arg: "ARCH=x86-64-modern",
ninja: "yes", ninja: "yes",
@@ -698,7 +620,6 @@ jobs:
# Linux riscv images # Linux riscv images
- { - {
image: "linux-riscv32", image: "linux-riscv32",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -720,7 +641,6 @@ jobs:
} }
- { - {
image: "linux-riscv64", image: "linux-riscv64",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -743,7 +663,6 @@ jobs:
# Linux s390x images # Linux s390x images
- { - {
image: "linux-s390x", image: "linux-s390x",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -763,10 +682,9 @@ jobs:
cpython: "yes", cpython: "yes",
cpython_arg: "--host=s390x-ibm-linux-gnu --target=s390x-ibm-linux-gnu", cpython_arg: "--host=s390x-ibm-linux-gnu --target=s390x-ibm-linux-gnu",
} }
# Linux mips images # Linux mips images
- { - {
image: "linux-mips", image: "linux-mips",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -788,7 +706,6 @@ jobs:
} }
- { - {
image: "linux-mips-uclibc", image: "linux-mips-uclibc",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -811,7 +728,6 @@ jobs:
# Linux mips images # Linux mips images
- { - {
image: "linux-mips-lts", image: "linux-mips-lts",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -856,7 +772,6 @@ jobs:
# Linux ppc64le images # Linux ppc64le images
- { - {
image: "linux-ppc64le", image: "linux-ppc64le",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=ppc-64", stockfish_arg: "ARCH=ppc-64",
ninja: "yes", ninja: "yes",
@@ -879,7 +794,6 @@ jobs:
# Linux ppc64le-lts images # Linux ppc64le-lts images
- { - {
image: "linux-ppc64le-lts", image: "linux-ppc64le-lts",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=ppc-64", stockfish_arg: "ARCH=ppc-64",
ninja: "yes", ninja: "yes",
@@ -902,7 +816,6 @@ jobs:
# Linux m68k images # Linux m68k images
- { - {
image: "linux-m68k-uclibc", image: "linux-m68k-uclibc",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@@ -925,7 +838,6 @@ jobs:
# Linux xtensa images # Linux xtensa images
- { - {
image: "linux-xtensa-uclibc", image: "linux-xtensa-uclibc",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@@ -948,7 +860,6 @@ jobs:
# Windows x86_x64 images # Windows x86_x64 images
- { - {
image: "windows-static-x64", image: "windows-static-x64",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern COMP=mingw", stockfish_arg: "ARCH=x86-64-modern COMP=mingw",
ninja: "no", ninja: "no",
@@ -970,7 +881,6 @@ jobs:
} }
- { - {
image: "windows-static-x64-posix", image: "windows-static-x64-posix",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern COMP=mingw", stockfish_arg: "ARCH=x86-64-modern COMP=mingw",
ninja: "no", ninja: "no",
@@ -992,7 +902,6 @@ jobs:
} }
- { - {
image: "windows-shared-x64", image: "windows-shared-x64",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@@ -1014,7 +923,6 @@ jobs:
} }
- { - {
image: "windows-shared-x64-posix", image: "windows-shared-x64-posix",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@@ -1037,7 +945,6 @@ jobs:
# Windows x86 images # Windows x86 images
- { - {
image: "windows-static-x86", image: "windows-static-x86",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-32-sse41-popcnt COMP=mingw", stockfish_arg: "ARCH=x86-32-sse41-popcnt COMP=mingw",
ninja: "no", ninja: "no",
@@ -1059,7 +966,6 @@ jobs:
} }
- { - {
image: "windows-shared-x86", image: "windows-shared-x86",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@@ -1082,7 +988,6 @@ jobs:
# Windows arm images # Windows arm images
- { - {
image: "windows-armv7", image: "windows-armv7",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "ARCH=armv7-neon COMP=clang", stockfish_arg: "ARCH=armv7-neon COMP=clang",
ninja: "yes", ninja: "yes",
@@ -1104,7 +1009,6 @@ jobs:
} }
- { - {
image: "windows-arm64", image: "windows-arm64",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "ARCH=armv8 COMP=clang", stockfish_arg: "ARCH=armv8 COMP=clang",
ninja: "yes", ninja: "yes",
@@ -1127,7 +1031,6 @@ jobs:
# manylinux_2_28 images # manylinux_2_28 images
- { - {
image: "manylinux_2_28-x64", image: "manylinux_2_28-x64",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern", stockfish_arg: "ARCH=x86-64-modern",
ninja: "yes", ninja: "yes",
@@ -1150,7 +1053,6 @@ jobs:
# manylinux2014 images # manylinux2014 images
- { - {
image: "manylinux2014-x86", image: "manylinux2014-x86",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-32-sse41-popcnt", stockfish_arg: "ARCH=x86-32-sse41-popcnt",
ninja: "yes", ninja: "yes",
@@ -1172,7 +1074,6 @@ jobs:
} }
- { - {
image: "manylinux2014-x64", image: "manylinux2014-x64",
multiarch: "",
stockfish: "yes", stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern", stockfish_arg: "ARCH=x86-64-modern",
ninja: "yes", ninja: "yes",
@@ -1194,7 +1095,6 @@ jobs:
} }
- { - {
image: "manylinux2014-aarch64", image: "manylinux2014-aarch64",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@@ -1217,7 +1117,6 @@ jobs:
# web-wasm images # web-wasm images
- { - {
image: "web-wasm", image: "web-wasm",
multiarch: "yes",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@@ -1239,7 +1138,6 @@ jobs:
} }
- { - {
image: "web-wasi", image: "web-wasi",
multiarch: "yes",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@@ -1261,7 +1159,6 @@ jobs:
} }
- { - {
image: "web-wasi-threads", image: "web-wasi-threads",
multiarch: "yes",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@@ -1284,7 +1181,6 @@ jobs:
# Bare metal images # Bare metal images
- { - {
image: "bare-armv7emhf-nano_newlib", image: "bare-armv7emhf-nano_newlib",
multiarch: "",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "no", ninja: "no",
@@ -1315,13 +1211,6 @@ jobs:
submodules: "recursive" submodules: "recursive"
fetch-depth: 1 fetch-depth: 1
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: set host_arch
run: |
echo "HOST_ARCH=$(uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/')" >> $GITHUB_ENV
- uses: actions/download-artifact@v4 - uses: actions/download-artifact@v4
with: with:
name: cache name: cache
@@ -1330,33 +1219,17 @@ jobs:
- name: load base - name: load base
run: xz -d -k < ./cache/base.tar.xz | docker import - dockcross/base:latest run: xz -d -k < ./cache/base.tar.xz | docker import - dockcross/base:latest
- uses: actions/download-artifact@v4
with:
name: cache-${{ matrix.os }}
path: ./cache
- name: load multiarch base
run: xz -d -k < ./cache/base-multiarch.tar.xz | docker import - dockcross/base:latest-${{ env.HOST_ARCH }}
- name: build - name: build
env: env:
BUILD_CMD: build --cache-from type=gha --cache-to type=gha,mode=max BUILD_CMD: build --cache-from type=gha --cache-to type=gha,mode=max
run: | run: make ${{ matrix.arch_name.image }}
if test "${{ matrix.arch_name.multiarch }}" = "yes"; then
make ${{ matrix.arch_name.image }}
elif test "${{ env.HOST_ARCH }}" = "amd64"; then
make ${{ matrix.arch_name.image }}
fi
- name: basic test - name: basic test
run: | run: make ${{ matrix.arch_name.image }}.test
if test "${{ matrix.arch_name.multiarch }}" = "yes" || test "${{ env.HOST_ARCH }}" = "amd64"; then
make ${{ matrix.arch_name.image }}.test
fi
# Updated on 19/05/2022 # Updated on 19/05/2022
- name: stockfish build test - name: stockfish build test
if: ${{ matrix.arch_name.stockfish == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }} if: ${{ matrix.arch_name.stockfish == 'yes' }}
run: | run: |
git clone --depth 1 --branch sf_15 https://github.com/official-stockfish/Stockfish.git git clone --depth 1 --branch sf_15 https://github.com/official-stockfish/Stockfish.git
cd Stockfish/src cd Stockfish/src
@@ -1367,17 +1240,17 @@ jobs:
# Updated on 12/09/2022 # Updated on 12/09/2022
- name: ninja build test - name: ninja build test
if: ${{ matrix.arch_name.ninja == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }} if: ${{ matrix.arch_name.ninja == 'yes' }}
run: | run: |
git clone --depth 1 --branch v1.11.1 https://github.com/ninja-build/ninja.git git clone --depth 1 --branch v1.11.1 https://github.com/ninja-build/ninja.git
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 04/04/2025 (Use openSSL_1_1_1w to fix error: implicit declaration of function 'memcmp') # Updated on 12/09/2022
- 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' }}
run: | run: |
git clone --depth 1 --branch OpenSSL_1_1_1w https://github.com/openssl/openssl.git git clone --depth 1 --branch OpenSSL_1_1_1q 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
@@ -1388,7 +1261,7 @@ jobs:
# Updated on 12/09/2022 # Updated on 12/09/2022
- name: C build test - name: C build test
if: ${{ matrix.arch_name.C == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }} if: ${{ matrix.arch_name.C == 'yes' }}
run: | run: |
git clone https://github.com/TheAlgorithms/C.git git clone https://github.com/TheAlgorithms/C.git
cd C cd C
@@ -1397,20 +1270,20 @@ jobs:
cd .. cd ..
rm -rf C rm -rf C
# Updated on 22/06/2025 # Updated on 12/09/2022 No longer maintained
- name: C-Plus-Plus build test - name: C-Plus-Plus build test
if: ${{ matrix.arch_name.C-Plus-Plus == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }} if: ${{ matrix.arch_name.C-Plus-Plus == 'yes' }}
run: | run: |
git clone https://github.com/TheAlgorithms/C-Plus-Plus.git git clone https://github.com/TheAlgorithms/C-Plus-Plus.git
cd C-Plus-Plus cd C-Plus-Plus
git checkout 93a700c7e947c8704df387564ea4780e6c031967 git checkout 0594923efa8e6b006a5d754c5e7976850290577c
./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.C-Plus-Plus_arg }} ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.C-Plus-Plus_arg }}
cd .. cd ..
rm -rf C-Plus-Plus rm -rf C-Plus-Plus
# Updated on 03/08/2024 # Updated on 03/08/2024
- name: llama.cpp build test - name: llama.cpp build test
if: ${{ matrix.arch_name.llama_cpp == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }} if: ${{ matrix.arch_name.llama_cpp == 'yes' }}
run: | run: |
git clone https://github.com/ggerganov/llama.cpp.git git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp cd llama.cpp
@@ -1421,7 +1294,7 @@ jobs:
# Updated on 12/09/2022 # Updated on 12/09/2022
- name: fmt build test - name: fmt build test
if: ${{ matrix.arch_name.fmt == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }} if: ${{ matrix.arch_name.fmt == 'yes' }}
run: | run: |
git clone --depth 1 --branch 9.1.0 https://github.com/fmtlib/fmt.git git clone --depth 1 --branch 9.1.0 https://github.com/fmtlib/fmt.git
cd fmt cd fmt
@@ -1431,7 +1304,7 @@ jobs:
# Updated on 19/05/2022 # Updated on 19/05/2022
- name: cpython build test - name: cpython build test
if: ${{ matrix.arch_name.cpython == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }} if: ${{ matrix.arch_name.cpython == 'yes' }}
run: | run: |
git clone --depth 1 --branch v3.11.2 https://github.com/python/cpython.git git clone --depth 1 --branch v3.11.2 https://github.com/python/cpython.git
cd cpython cd cpython
@@ -1442,7 +1315,7 @@ jobs:
# Updated on 12/09/2022 (4.2.0 branch not working) # Updated on 12/09/2022 (4.2.0 branch not working)
- name: raylib build test - name: raylib build test
if: ${{ matrix.arch_name.raylib == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }} if: ${{ matrix.arch_name.raylib == 'yes' }}
run: | run: |
git clone https://github.com/raysan5/raylib.git git clone https://github.com/raysan5/raylib.git
cd raylib cd raylib
@@ -1453,7 +1326,7 @@ jobs:
# Updated on 31/3/2022 # Updated on 31/3/2022
- name: mbedtls build test - name: mbedtls build test
if: ${{ matrix.arch_name.mbedtls == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }} if: ${{ matrix.arch_name.mbedtls == 'yes' }}
run: | run: |
git clone --depth 1 --branch archive/baremetal https://github.com/Mbed-TLS/mbedtls.git git clone --depth 1 --branch archive/baremetal https://github.com/Mbed-TLS/mbedtls.git
cd mbedtls cd mbedtls
@@ -1464,7 +1337,7 @@ jobs:
# Updated on 20/6/2022 # Updated on 20/6/2022
- name: libopencm3 build test - name: libopencm3 build test
if: ${{ matrix.arch_name.libopencm3 == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }} if: ${{ matrix.arch_name.libopencm3 == 'yes' }}
run: | run: |
git clone https://github.com/libopencm3/libopencm3.git git clone https://github.com/libopencm3/libopencm3.git
cd libopencm3 cd libopencm3
@@ -1479,82 +1352,8 @@ jobs:
cd .. cd ..
rm -rf libopencm3 rm -rf libopencm3
- name: archive ${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }} - name: deploy
if: matrix.arch_name.multiarch == 'yes'
run: |
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 }}/${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}.tar.xz
- name: save ${{ matrix.arch_name.image }}-${{ matrix.os }}
uses: actions/upload-artifact@v4
if: matrix.arch_name.multiarch == 'yes'
with:
name: cache-${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}
path: ./cache-${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}
retention-days: 3
- name: Login to Docker Hub
if: github.ref == 'refs/heads/master' && matrix.arch_name.multiarch != 'yes' && env.HOST_ARCH == 'amd64'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: deploy-not-multi-arch
if: github.ref == 'refs/heads/master' && matrix.arch_name.multiarch != 'yes' && env.HOST_ARCH == 'amd64'
run: |
make ${{ matrix.arch_name.image }}.push
deploy-multi-arch-images:
needs:
- images
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
image_name: ["linux-arm64", "web-wasm", "web-wasi", "web-wasi-threads"]
steps:
- name: checkout code
uses: actions/checkout@v4
with:
submodules: "recursive"
fetch-depth: 1
- name: download ${{ matrix.image_name }}-amd64
uses: actions/download-artifact@v4
with:
name: cache-${{ matrix.image_name }}-amd64
path: ./cache-${{ matrix.image_name }}-amd64
- name: download ${{ matrix.image_name }}-arm64
uses: actions/download-artifact@v4
with:
name: cache-${{ matrix.image_name }}-arm64
path: ./cache-${{ matrix.image_name }}-arm64
- name: load images
run: |
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/${{ matrix.image_name }}-arm64.tar.xz | docker import - dockcross/${{ matrix.image_name }}:latest-arm64
- name: Login to Docker Hub
if: github.ref == 'refs/heads/master'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: deploy-multi-arch
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'
run: | run: |
docker images docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }}
docker image push dockcross/${{ matrix.arch_name.image }} --all-tags
make ${{ matrix.image_name }}.tag-amd64
make ${{ matrix.image_name }}.push-amd64
export HOST_ARCH=arm64
make ${{ matrix.image_name }}.tag-arm64
make ${{ matrix.image_name }}.push-arm64
unset HOST_ARCH
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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:

209
Makefile
View File

@@ -3,20 +3,8 @@
# Parameters # Parameters
# #
# Name of the docker-equivalent executable for building images. # Name of the docker executable
# OCI: open container interface.
# Common values: docker, podman, buildah
DOCKER := $(or $(OCI_EXE), docker) DOCKER := $(or $(OCI_EXE), docker)
BUILD_DOCKER := $(or $(BUILD_DOCKER), $(DOCKER))
BUILDAH := $(or $(BUILDAH_EXE), buildah)
# Name of the docker-equivalent executable for running test containers.
# Supports the use case:
#
# DOCKER=buildah
# TEST_DOCKER=podman
#
# because buildah does not run containers.
TEST_DOCKER := $(or $(TEST_DOCKER), $(DOCKER))
# The build sub-command. Use: # The build sub-command. Use:
# #
@@ -24,26 +12,21 @@ TEST_DOCKER := $(or $(TEST_DOCKER), $(DOCKER))
# #
# to generate multi-platform images. # to generate multi-platform images.
BUILD_CMD := $(or $(BUILD_CMD), build) BUILD_CMD := $(or $(BUILD_CMD), build)
TAG_FLAG := $(or $(TAG_FLAG), --tag)
# Docker organization to pull the images from # Docker organization to pull the images from
ORG = dockcross ORG = dockcross
# Host architecture
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
RM = --rm
# These images are built using the "build implicit rule" # These images are built using the "build implicit rule"
STANDARD_IMAGES := android-arm android-arm64 android-x86 android-x86_64 \ STANDARD_IMAGES := android-arm android-arm64 android-x86 android-x86_64 \
linux-i686 linux-x86 linux-x64 linux-x64-clang linux-arm64-musl linux-arm64-full \ linux-i686 linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \
linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-m68k-uclibc linux-s390x linux-x64-tinycc \ linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-m68k-uclibc linux-s390x linux-x64-tinycc \
linux-armv6 linux-armv6-lts linux-armv6-musl linux-arm64-lts linux-mipsel-lts \ linux-armv6 linux-armv6-lts linux-armv6-musl linux-arm64-lts linux-mipsel-lts \
linux-armv7l-musl linux-armv7 linux-armv7a linux-armv7-lts linux-armv7a-lts linux-x86_64-full \ linux-armv7l-musl linux-armv7 linux-armv7a linux-armv7-lts linux-armv7a-lts linux-x86_64-full \
linux-mips linux-mips-uclibc linux-mips-lts linux-ppc linux-ppc64le linux-ppc64le-lts linux-riscv64 linux-riscv32 linux-xtensa-uclibc \ linux-mips linux-mips-uclibc linux-mips-lts linux-ppc linux-ppc64le linux-ppc64le-lts linux-riscv64 linux-riscv32 linux-xtensa-uclibc \
web-wasi \
windows-static-x86 windows-static-x64 windows-static-x64-posix windows-armv7 \ windows-static-x86 windows-static-x64 windows-static-x64-posix windows-armv7 \
windows-shared-x86 windows-shared-x64 windows-shared-x64-posix windows-arm64 \ windows-shared-x86 windows-shared-x64 windows-shared-x64-posix windows-arm64 \
bare-armv7emhf-nano_newlib bare-armv7emhf-nano_newlib
@@ -51,10 +34,10 @@ 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_34-x64 \ manylinux_2_28-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-threads linux-mips linux-mips-uclibc linux-mips-lts windows-arm64 windows-armv7 \
windows-static-x86 windows-static-x64 windows-static-x64-posix \ windows-static-x86 windows-static-x64 windows-static-x64-posix \
windows-shared-x86 windows-shared-x64 windows-shared-x64-posix \ windows-shared-x86 windows-shared-x64 windows-shared-x64-posix \
linux-armv7 linux-armv7a linux-armv7l-musl linux-armv7-lts linux-armv7a-lts linux-x86_64-full \ linux-armv7 linux-armv7a linux-armv7l-musl linux-armv7-lts linux-armv7a-lts linux-x86_64-full \
@@ -63,25 +46,21 @@ GEN_IMAGES := android-arm android-arm64 \
linux-riscv64 linux-riscv32 linux-m68k-uclibc linux-x64-tinycc linux-xtensa-uclibc \ linux-riscv64 linux-riscv32 linux-m68k-uclibc linux-x64-tinycc linux-xtensa-uclibc \
bare-armv7emhf-nano_newlib bare-armv7emhf-nano_newlib
# Generate both amd64 and arm64 images
MULTIARCH_IMAGES := linux-arm64 \
web-wasi web-wasi-emulated-threads
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 manylinux_2_34-x64 manylinux2014-x64 manylinux2014-x86 \ NON_STANDARD_IMAGES := manylinux_2_28-x64 manylinux2014-x64 manylinux2014-x86 \
manylinux2014-aarch64 web-wasm web-wasi-emulated-threads web-wasi-threads manylinux2014-aarch64 web-wasm web-wasi-threads
# Docker composite files # Docker composite files
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.manylinux_2_34 common.buildroot \ DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 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/
DOCKER_COMPOSITE_PATH = $(addprefix $(DOCKER_COMPOSITE_FOLDER_PATH),$(DOCKER_COMPOSITE_SOURCES)) DOCKER_COMPOSITE_PATH = $(addprefix $(DOCKER_COMPOSITE_FOLDER_PATH),$(DOCKER_COMPOSITE_SOURCES))
# This list all available images # This list all available images
IMAGES := $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES) $(MULTIARCH_IMAGES) IMAGES := $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES)
# Optional arguments for test runner (test/run.py) associated with "testing implicit rule" # Optional arguments for test runner (test/run.py) associated with "testing implicit rule"
linux-x64-tinycc.test_ARGS = --languages C linux-x64-tinycc.test_ARGS = --languages C
@@ -95,6 +74,13 @@ windows-armv7.test_ARGS = --exe-suffix ".exe"
windows-arm64.test_ARGS = --exe-suffix ".exe" windows-arm64.test_ARGS = --exe-suffix ".exe"
bare-armv7emhf-nano_newlib.test_ARGS = --linker-flags="--specs=nosys.specs" bare-armv7emhf-nano_newlib.test_ARGS = --linker-flags="--specs=nosys.specs"
# On CircleCI, do not attempt to delete container
# See https://circleci.com/docs/docker-btrfs-error/
RM = --rm
ifeq ("$(CIRCLECI)", "true")
RM =
endif
# Tag images with date and Git short hash in addition to revision # Tag images with date and Git short hash in addition to revision
TAG := $(shell date '+%Y%m%d')-$(shell git rev-parse --short HEAD) TAG := $(shell date '+%Y%m%d')-$(shell git rev-parse --short HEAD)
@@ -119,25 +105,30 @@ test: base.test $(addsuffix .test,$(IMAGES))
# #
$(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOSITE_PATH) $(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOSITE_PATH)
sed $(foreach f,$(DOCKER_COMPOSITE_SOURCES),-e '/$(f)/ r $(DOCKER_COMPOSITE_FOLDER_PATH)$(f)') $< > $@ sed \
-e '/common.docker/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.docker' \
-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.manylinux2014/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux2014' \
-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \
-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \
-e '/common-manylinux.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common-manylinux.crosstool' \
-e '/common.webassembly/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.webassembly' \
-e '/common.windows/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.windows' \
-e '/common.dockcross/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.dockcross' \
-e '/common.label-and-env/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.label-and-env' \
$< > $@
# #
# web-wasm # web-wasm
# #
ifeq ($(HOST_ARCH),amd64)
EMSCRIPTEN_HOST_ARCH_TAG = ""
endif
ifeq ($(HOST_ARCH),arm64)
EMSCRIPTEN_HOST_ARCH_TAG = "-arm64"
endif
web-wasm: web-wasm/Dockerfile web-wasm: web-wasm/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
cp -r test web-wasm/ cp -r test web-wasm/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/web-wasm:$(TAG)-$(HOST_ARCH) \ $(DOCKER) $(BUILD_CMD) -t $(ORG)/web-wasm:$(TAG) \
$(TAG_FLAG) $(ORG)/web-wasm:latest-$(HOST_ARCH) \ -t $(ORG)/web-wasm:latest \
--build-arg IMAGE=$(ORG)/web-wasm \ --build-arg IMAGE=$(ORG)/web-wasm \
--build-arg VERSION=$(TAG) \ --build-arg VERSION=$(TAG) \
--build-arg HOST_ARCH_TAG=$(EMSCRIPTEN_HOST_ARCH_TAG) \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg VCS_URL=`git config --get remote.origin.url` \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
@@ -147,8 +138,8 @@ web-wasm: web-wasm/Dockerfile
web-wasm.test: web-wasm web-wasm.test: web-wasm
cp -r test web-wasm/ cp -r test web-wasm/
$(TEST_DOCKER) run $(RM) $(ORG)/web-wasm:latest-$(HOST_ARCH) > $(BIN)/dockcross-web-wasm && chmod +x $(BIN)/dockcross-web-wasm $(DOCKER) run $(RM) $(ORG)/web-wasm:latest > $(BIN)/dockcross-web-wasm && chmod +x $(BIN)/dockcross-web-wasm
$(BIN)/dockcross-web-wasm -i $(ORG)/web-wasm:latest-$(HOST_ARCH) python test/run.py --exe-suffix ".js" $(BIN)/dockcross-web-wasm -i $(ORG)/web-wasm:latest python test/run.py --exe-suffix ".js"
rm -rf web-wasm/test rm -rf web-wasm/test
# #
@@ -157,16 +148,20 @@ web-wasm.test: web-wasm
web-wasi-threads: web-wasi web-wasi-threads/Dockerfile web-wasi-threads: web-wasi web-wasi-threads/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
cp -r test web-wasi-threads/ cp -r test web-wasi-threads/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/web-wasi-threads:$(TAG)-$(HOST_ARCH) \ $(DOCKER) $(BUILD_CMD) -t $(ORG)/web-wasi-threads:$(TAG) \
-t $(ORG)/web-wasi-threads:latest-$(HOST_ARCH) \ -t $(ORG)/web-wasi-threads:latest \
--build-arg IMAGE=$(ORG)/web-wasi-threads \ --build-arg IMAGE=$(ORG)/web-wasi-threads \
--build-arg VERSION=$(TAG) \ --build-arg VERSION=$(TAG) \
--build-arg HOST_ARCH=$(HOST_ARCH) \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg VCS_URL=`git config --get remote.origin.url` \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \ --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
web-wasi-threads web-wasi-threads
web-wasi-threads.test: web-wasi-threads
$(DOCKER) run $(RM) $(ORG)/web-wasi-threads:latest > $(BIN)/dockcross-web-wasi-threads \
&& chmod +x $(BIN)/dockcross-web-wasi-threads
$(BIN)/dockcross-web-wasi-threads -i $(ORG)/web-wasi-threads:latest python3 test/run.py
rm -rf web-wasi-threads/test
# #
# manylinux2014-aarch64 # manylinux2014-aarch64
# #
@@ -176,8 +171,8 @@ manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile manylinux2014-x64
@# Get libstdc++ from quay.io/pypa/manylinux2014_aarch64 container @# Get libstdc++ from quay.io/pypa/manylinux2014_aarch64 container
docker run -v `pwd`:/host --rm -e LIB_PATH=/host/$@/xc_script/ quay.io/pypa/manylinux2014_aarch64 bash -c "PASS=1 /host/$@/xc_script/docker_setup_scrpits/copy_libstd.sh" docker run -v `pwd`:/host --rm -e LIB_PATH=/host/$@/xc_script/ quay.io/pypa/manylinux2014_aarch64 bash -c "PASS=1 /host/$@/xc_script/docker_setup_scrpits/copy_libstd.sh"
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux2014-aarch64:$(TAG) \ $(DOCKER) build -t $(ORG)/manylinux2014-aarch64:$(TAG) \
$(TAG_FLAG) $(ORG)/manylinux2014-aarch64:latest \ -t $(ORG)/manylinux2014-aarch64:latest \
--build-arg IMAGE=$(ORG)/manylinux2014-aarch64 \ --build-arg IMAGE=$(ORG)/manylinux2014-aarch64 \
--build-arg VERSION=$(TAG) \ --build-arg VERSION=$(TAG) \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
@@ -189,17 +184,17 @@ manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile manylinux2014-x64
docker run -v `pwd`:/host --rm quay.io/pypa/manylinux2014_aarch64 bash -c "rm -rf /host/$@/xc_script/usr" docker run -v `pwd`:/host --rm quay.io/pypa/manylinux2014_aarch64 bash -c "rm -rf /host/$@/xc_script/usr"
manylinux2014-aarch64.test: manylinux2014-aarch64 manylinux2014-aarch64.test: manylinux2014-aarch64
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64:latest > $(BIN)/dockcross-manylinux2014-aarch64 \ $(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/cp311-cp311/bin/python test/run.py $(BIN)/dockcross-manylinux2014-aarch64 -i $(ORG)/manylinux2014-aarch64:latest /opt/python/cp38-cp38/bin/python test/run.py
# #
# manylinux_2_28-x64 # manylinux_2_28-x64
# #
manylinux_2_28-x64: manylinux_2_28-x64/Dockerfile manylinux_2_28-x64: manylinux_2_28-x64/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux_2_28-x64:$(TAG) \ $(DOCKER) build -t $(ORG)/manylinux_2_28-x64:$(TAG) \
$(TAG_FLAG) $(ORG)/manylinux_2_28-x64:latest \ -t $(ORG)/manylinux_2_28-x64:latest \
--build-arg IMAGE=$(ORG)/manylinux_2_28-x64 \ --build-arg IMAGE=$(ORG)/manylinux_2_28-x64 \
--build-arg VERSION=$(TAG) \ --build-arg VERSION=$(TAG) \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
@@ -209,37 +204,17 @@ manylinux_2_28-x64: manylinux_2_28-x64/Dockerfile
rm -rf $@/imagefiles rm -rf $@/imagefiles
manylinux_2_28-x64.test: manylinux_2_28-x64 manylinux_2_28-x64.test: manylinux_2_28-x64
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux_2_28-x64:latest > $(BIN)/dockcross-manylinux_2_28-x64 \ $(DOCKER) run $(RM) $(ORG)/manylinux_2_28-x64:latest > $(BIN)/dockcross-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
# #
manylinux2014-x64: manylinux2014-x64/Dockerfile manylinux2014-x64: manylinux2014-x64/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux2014-x64:$(TAG) \ $(DOCKER) build -t $(ORG)/manylinux2014-x64:$(TAG) \
$(TAG_FLAG) $(ORG)/manylinux2014-x64:latest \ -t $(ORG)/manylinux2014-x64:latest \
--build-arg IMAGE=$(ORG)/manylinux2014-x64 \ --build-arg IMAGE=$(ORG)/manylinux2014-x64 \
--build-arg VERSION=$(TAG) \ --build-arg VERSION=$(TAG) \
--build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg VCS_REF=`git rev-parse --short HEAD` \
@@ -249,16 +224,16 @@ manylinux2014-x64: manylinux2014-x64/Dockerfile
rm -rf $@/imagefiles rm -rf $@/imagefiles
manylinux2014-x64.test: manylinux2014-x64 manylinux2014-x64.test: manylinux2014-x64
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x64:latest > $(BIN)/dockcross-manylinux2014-x64 \ $(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/cp311-cp311/bin/python test/run.py $(BIN)/dockcross-manylinux2014-x64 -i $(ORG)/manylinux2014-x64:latest /opt/python/cp38-cp38/bin/python test/run.py
# #
# manylinux2014-x86 # manylinux2014-x86
# #
manylinux2014-x86: manylinux2014-x86/Dockerfile manylinux2014-x86: manylinux2014-x86/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux2014-x86:$(TAG) \ $(DOCKER) build -t $(ORG)/manylinux2014-x86:$(TAG) \
-t $(ORG)/manylinux2014-x86:latest \ -t $(ORG)/manylinux2014-x86:latest \
--build-arg IMAGE=$(ORG)/manylinux2014-x86 \ --build-arg IMAGE=$(ORG)/manylinux2014-x86 \
--build-arg VERSION=$(TAG) \ --build-arg VERSION=$(TAG) \
@@ -269,32 +244,22 @@ manylinux2014-x86: manylinux2014-x86/Dockerfile
rm -rf $@/imagefiles rm -rf $@/imagefiles
manylinux2014-x86.test: manylinux2014-x86 manylinux2014-x86.test: manylinux2014-x86
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x86:latest > $(BIN)/dockcross-manylinux2014-x86 \ $(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/cp311-cp311/bin/python test/run.py $(BIN)/dockcross-manylinux2014-x86 -i $(ORG)/manylinux2014-x86:latest /opt/python/cp38-cp38/bin/python test/run.py
# #
# base-$(HOST_ARCH) # base
# #
base-$(HOST_ARCH): Dockerfile imagefiles/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/base:latest-$(HOST_ARCH) \
$(TAG_FLAG) $(ORG)/base:$(TAG)-$(HOST_ARCH) \
--build-arg IMAGE=$(ORG)/base \
--build-arg VCS_URL=`git config --get remote.origin.url` \
.
base-$(HOST_ARCH).test: base-$(HOST_ARCH)
$(TEST_DOCKER) run $(RM) $(ORG)/base:latest-$(HOST_ARCH) > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
base: Dockerfile imagefiles/ base: Dockerfile imagefiles/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/base:latest \ $(DOCKER) $(BUILD_CMD) -t $(ORG)/base:latest \
$(TAG_FLAG) $(ORG)/base:$(TAG) \ -t $(ORG)/base:$(TAG) \
--build-arg IMAGE=$(ORG)/base \ --build-arg IMAGE=$(ORG)/base \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg VCS_URL=`git config --get remote.origin.url` \
. .
base.test: base base.test: base
$(TEST_DOCKER) run $(RM) $(ORG)/base:latest > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base $(DOCKER) run $(RM) $(ORG)/base:latest > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
# display # display
# #
@@ -309,8 +274,8 @@ $(VERBOSE).SILENT: display_images
$(STANDARD_IMAGES): %: %/Dockerfile base $(STANDARD_IMAGES): %: %/Dockerfile base
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/$@:latest \ $(DOCKER) $(BUILD_CMD) -t $(ORG)/$@:latest \
$(TAG_FLAG) $(ORG)/$@:$(TAG) \ -t $(ORG)/$@:$(TAG) \
--build-arg ORG=$(ORG) \ --build-arg ORG=$(ORG) \
--build-arg IMAGE=$(ORG)/$@ \ --build-arg IMAGE=$(ORG)/$@ \
--build-arg VERSION=$(TAG) \ --build-arg VERSION=$(TAG) \
@@ -320,20 +285,6 @@ $(STANDARD_IMAGES): %: %/Dockerfile base
$@ $@
rm -rf $@/imagefiles rm -rf $@/imagefiles
$(MULTIARCH_IMAGES): %: %/Dockerfile base-$(HOST_ARCH)
mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/$@:latest-$(HOST_ARCH) \
$(TAG_FLAG) $(ORG)/$@:$(TAG)-$(HOST_ARCH) \
--build-arg ORG=$(ORG) \
--build-arg IMAGE=$(ORG)/$@ \
--build-arg HOST_ARCH=$(HOST_ARCH) \
--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"` \
$@
rm -rf $@/imagefiles
clean: clean:
for d in $(IMAGES) ; do rm -rf $$d/imagefiles ; done for d in $(IMAGES) ; do rm -rf $$d/imagefiles ; done
for d in $(IMAGES) ; do rm -rf $(BIN)/dockcross-$$d ; done for d in $(IMAGES) ; do rm -rf $(BIN)/dockcross-$$d ; done
@@ -342,9 +293,9 @@ clean:
purge: clean purge: clean
# Remove all untagged images # Remove all untagged images
$(TEST_DOCKER) container ls -aq | xargs -r $(DOCKER) container rm -f $(DOCKER) container ls -aq | xargs -r $(DOCKER) container rm -f
# Remove all images with organization (ex dockcross/*) # Remove all images with organization (ex dockcross/*)
$(BUILD_DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f $(DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f
# Check bash syntax # Check bash syntax
bash-check: bash-check:
@@ -356,44 +307,10 @@ bash-check:
# #
.SECONDEXPANSION: .SECONDEXPANSION:
$(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@) $(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@)
$(TEST_DOCKER) run $(RM) $(ORG)/$(basename $@):latest > $(BIN)/dockcross-$(basename $@) \ $(DOCKER) run $(RM) $(ORG)/$(basename $@):latest > $(BIN)/dockcross-$(basename $@) \
&& chmod +x $(BIN)/dockcross-$(basename $@) && chmod +x $(BIN)/dockcross-$(basename $@)
$(BIN)/dockcross-$(basename $@) -i $(ORG)/$(basename $@):latest python3 test/run.py $($@_ARGS) $(BIN)/dockcross-$(basename $@) -i $(ORG)/$(basename $@):latest python3 test/run.py $($@_ARGS)
.SECONDEXPANSION:
$(addsuffix .test,$(MULTIARCH_IMAGES) web-wasi-threads): $$(basename $$@)
$(TEST_DOCKER) run $(RM) $(ORG)/$(basename $@):latest-$(HOST_ARCH) > $(BIN)/dockcross-$(basename $@) \
&& chmod +x $(BIN)/dockcross-$(basename $@)
$(BIN)/dockcross-$(basename $@) -i $(ORG)/$(basename $@):latest-$(HOST_ARCH) python3 test/run.py $($@_ARGS)
.SECONDEXPANSION:
$(addsuffix .tag-$(HOST_ARCH),$(MULTIARCH_IMAGES) web-wasi-threads web-wasm): $$(basename $$@)
$(BUILD_DOCKER) tag $(ORG)/$(basename $@):latest-$(HOST_ARCH) \
$(ORG)/$(basename $@):$(TAG)-$(HOST_ARCH)
.SECONDEXPANSION:
$(addsuffix .push-$(HOST_ARCH),$(MULTIARCH_IMAGES) web-wasi-threads web-wasm): $$(basename $$@)
$(BUILD_DOCKER) push $(ORG)/$(basename $@):latest-$(HOST_ARCH) \
&& $(BUILD_DOCKER) push $(ORG)/$(basename $@):$(TAG)-$(HOST_ARCH)
.SECONDEXPANSION:
$(addsuffix .push,$(STANDARD_IMAGES) $(NON_STANDARD_IMAGES)): $$(basename $$@)
$(BUILD_DOCKER) push $(ORG)/$(basename $@):latest \
&& $(BUILD_DOCKER) push $(ORG)/$(basename $@):$(TAG)
.SECONDEXPANSION:
$(addsuffix .manifest,$(MULTIARCH_IMAGES) web-wasi-threads web-wasm): $$(basename $$@)
if $(BUILDAH) manifest exists $(ORG)/$(basename $@); then \
$(BUILDAH) manifest rm $(ORG)/$(basename $@); fi
$(BUILDAH) manifest create $(ORG)/$(basename $@)
$(BUILDAH) manifest add $(ORG)/$(basename $@) docker://$(ORG)/$(basename $@):latest-amd64
$(BUILDAH) manifest add $(ORG)/$(basename $@) docker://$(ORG)/$(basename $@):latest-arm64
.SECONDEXPANSION:
$(addsuffix .push,$(MULTIARCH_IMAGES) web-wasi-threads web-wasm): $$(basename $$@).manifest
$(BUILDAH) manifest push --all --format v2s2 $(ORG)/$(basename $@) docker://$(ORG)/$(basename $@):latest
$(BUILDAH) manifest push --all --format v2s2 $(ORG)/$(basename $@) docker://$(ORG)/$(basename $@):$(TAG)
# #
# testing prerequisites implicit rule # testing prerequisites implicit rule
# #

View File

@@ -18,8 +18,6 @@ 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.
@@ -32,7 +30,6 @@ 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
@@ -116,7 +113,6 @@ 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 |
@@ -385,12 +381,6 @@ 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)
@@ -576,7 +566,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,13 +35,7 @@ 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")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT}) set(CMAKE_FIND_ROOT_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 ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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

@@ -1,5 +0,0 @@
[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,13 +39,8 @@ 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")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT}) set(CMAKE_FIND_ROOT_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 ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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

@@ -1,5 +0,0 @@
[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,14 +29,8 @@ 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
@@ -50,4 +44,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")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT}) set(CMAKE_FIND_ROOT_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 ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)

View File

@@ -1,5 +0,0 @@
[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,14 +29,8 @@ 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
@@ -50,4 +44,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")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT}) set(CMAKE_FIND_ROOT_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 ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)

View File

@@ -1,5 +0,0 @@
[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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_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=n CT_LOG_PROGRESS_BAR=y
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

@@ -10,7 +10,8 @@ RUN apt-get update --yes && apt-get install --no-install-recommends --yes \
libtool \ libtool \
libtool-bin \ libtool-bin \
&& apt-get clean autoclean --yes \ && apt-get clean autoclean --yes \
&& apt-get autoremove --yes && apt-get autoremove --yes \
&& rm -rf /var/lib/{apt,dpkg,cache,log}/
COPY \ COPY \
imagefiles/install-buildroot-toolchain.sh \ imagefiles/install-buildroot-toolchain.sh \
@@ -18,8 +19,12 @@ COPY \
/dockcross/ /dockcross/
# Build and install the toolchain, cleaning up artifacts afterwards. # Build and install the toolchain, cleaning up artifacts afterwards.
RUN mkdir /dockcross/buildroot && cd /dockcross/buildroot && \ RUN mkdir /dockcross/buildroot \
/dockcross/install-buildroot-toolchain.sh -c "/dockcross/buildroot.config" -v "${BR_VERSION}" && cd /dockcross/buildroot \
&& /dockcross/install-buildroot-toolchain.sh \
-c "/dockcross/buildroot.config" \
-v "${BR_VERSION}" \
&& rm -rf /dockcross/buildroot /dockcross/install-buildroot-toolchain.sh
# Restore our default workdir (from "dockcross/base"). # Restore our default workdir (from "dockcross/base").
WORKDIR /work WORKDIR /work

View File

@@ -26,7 +26,8 @@ RUN apt-get update --yes && apt-get install --no-install-recommends --yes \
libtool \ libtool \
libtool-bin \ libtool-bin \
&& apt-get clean autoclean --yes \ && apt-get clean autoclean --yes \
&& apt-get autoremove --yes && apt-get autoremove --yes \
&& rm -rf /var/lib/{apt,dpkg,cache,log}/
ENV XCC_PREFIX=/usr/xcc ENV XCC_PREFIX=/usr/xcc

View File

@@ -42,4 +42,5 @@ RUN \
python-is-python3 \ python-is-python3 \
&& apt-get clean autoclean --yes \ && apt-get clean autoclean --yes \
&& apt-get autoremove --yes \ && apt-get autoremove --yes \
&& rm -rf /var/lib/{apt,dpkg,cache,log}/ \
&& rm /etc/ssh/*key* && rm /etc/ssh/*key*

View File

@@ -27,7 +27,6 @@ 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 \
@@ -41,9 +40,8 @@ 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/cp311-cp311/bin/python ] && echo "/opt/python/cp311-cp311/bin/python" || echo "python3") && \ 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/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,7 +16,6 @@ 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

@@ -1,30 +0,0 @@
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

@@ -43,10 +43,10 @@ RUN git clone --recurse-submodules https://github.com/WebAssembly/wabt.git && \
cd ../ && \ cd ../ && \
rm -rf wabt* rm -rf wabt*
RUN mkdir -p /wasi-runtimes RUN mkdir /wasi-runtimes
ENV WASMTIME_HOME=/wasi-runtimes/wasmtime ENV WASMTIME_HOME=/wasi-runtimes/wasmtime
RUN mkdir -p ${WASMTIME_HOME} && curl https://wasmtime.dev/install.sh -sSf | bash RUN mkdir ${WASMTIME_HOME} && curl https://wasmtime.dev/install.sh -sSf | bash
COPY imagefiles/wasmtime-pwd.sh ${WASMTIME_HOME}/bin/ COPY imagefiles/wasmtime-pwd.sh ${WASMTIME_HOME}/bin/
COPY imagefiles/wasmtime-pwd-threads.sh ${WASMTIME_HOME}/bin/ COPY imagefiles/wasmtime-pwd-threads.sh ${WASMTIME_HOME}/bin/
ENV PATH="$WASMTIME_HOME/bin:$PATH" ENV PATH="$WASMTIME_HOME/bin:$PATH"

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,15 +125,14 @@ RUN \
# #
rm -rf /tmp/wine-* rm -rf /tmp/wine-*
ENV CROSS_ROOT=/usr/src/mxe/usr ENV PATH ${PATH}:/usr/src/mxe/usr/bin
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV CROSS_TRIPLE ${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}
ENV CROSS_TRIPLE=${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD} ENV AS=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-as \
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ AR=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ar \
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ CC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gcc \
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ CPP=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-cpp \
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \ CXX=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-g++ \
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \ LD=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ld \
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ FC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gfortran
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
WORKDIR /work WORKDIR /work

View File

@@ -22,9 +22,7 @@ autoreconf
./configure --with-ssl-dir=/usr/local/ssl --prefix=/usr/local --with-libs=-lpthread ./configure --with-ssl-dir=/usr/local/ssl --prefix=/usr/local --with-libs=-lpthread
make -j1 install
make -j"$(nproc)"
make install
cd /usr/src cd /usr/src
rm -rf ${OPENSSH_SRC_DIR} rm -rf ${OPENSSH_SRC_DIR}

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 --no-same-owner tar -xzf ${perl_fname}.tar.gz
(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

@@ -1,10 +0,0 @@
#!/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,15 +26,8 @@ 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
@@ -45,7 +38,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)" chmod +s "$(which gosu)"; sync
# Execute project specific pre execution hook # Execute project specific pre execution hook
if [[ -e /work/.dockcross ]]; then if [[ -e /work/.dockcross ]]; then

View File

@@ -10,7 +10,7 @@ usage() { echo "Usage: $0 -c <config-path> -v <version>" 1>&2; exit 1; }
REPO_URL="https://github.com/buildroot/buildroot.git" REPO_URL="https://github.com/buildroot/buildroot.git"
CONFIG_PATH="" CONFIG_PATH=""
REV="2025.05" REV="2021.08-rc1"
while getopts "c:v:" o; do while getopts "c:v:" o; do
case "${o}" in case "${o}" in
c) c)
@@ -35,9 +35,9 @@ if [ -z ${REV} ]; then
echo "WARNING: No version selected, use default version: $REV (-v)." echo "WARNING: No version selected, use default version: $REV (-v)."
fi fi
git clone "$REPO_URL" --recurse-submodules --shallow-submodules --depth 1 --branch "$REV" buildroot
# Only to generate the project files, config will be overwritten later git clone "$REPO_URL" --recurse-submodules --remote-submodules #--branch="$REV"
make -C buildroot O=/aarch64_efi aarch64_efi_defconfig cd buildroot
cp "$CONFIG_PATH" /aarch64_efi/.config git checkout "$REV"
FORCE_UNSAFE_CONFIGURE=1 make -C /aarch64_efi sdk cp "$CONFIG_PATH" .config
rm -rf buildroot /aarch64_efi/build /aarch64_efi/images /aarch64_efi/staging /aarch64_efi/target/ make

View File

@@ -6,8 +6,8 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
# This is for 64-bit ARM Linux machine # This is for 64-bit ARM Linux machine
# Buildroot version # Buildroot version
# buildroot master 2025-06-22 # buildroot master 2021-09-20
ENV BR_VERSION=2025.05 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=/aarch64_efi/host 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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)

File diff suppressed because it is too large Load Diff

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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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,16 +1,13 @@
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 https://musl.cc/${CROSS_TRIPLE}-cross.tgz RUN curl --max-time 15 --retry 5 -LO http://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 \
@@ -20,19 +17,13 @@ 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
@@ -41,9 +32,9 @@ ARG VERSION=latest
ARG VCS_REF ARG VCS_REF
ARG VCS_URL ARG VCS_URL
LABEL org.label-schema.build-date=$BUILD_DATE \ LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.name=$IMAGE \ org.label-schema.name=$IMAGE \
org.label-schema.version=$VERSION \ org.label-schema.version=$VERSION \
org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url=$VCS_URL \ org.label-schema.vcs-url=$VCS_URL \
org.label-schema.schema-version="1.0" org.label-schema.schema-version="1.0"
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION} ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}

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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)

View File

@@ -1,7 +0,0 @@
[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

@@ -1,6 +1,5 @@
ARG ORG=dockcross ARG ORG=dockcross
ARG HOST_ARCH=amd64 FROM ${ORG}/base:latest
FROM ${ORG}/base:latest-${HOST_ARCH}
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt@mmmccormick.com"
@@ -19,9 +18,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 \
@@ -30,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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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,16 +1,13 @@
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 https://musl.cc/${CROSS_TRIPLE}-cross.tgz RUN curl --max-time 15 --retry 5 -LO http://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 \
@@ -21,12 +18,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
@@ -40,4 +37,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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)

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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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,16 +1,13 @@
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 https://musl.cc/${CROSS_TRIPLE}-cross.tgz RUN curl --max-time 15 --retry 5 -LO http://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 \
@@ -21,12 +18,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
@@ -40,4 +37,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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)

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})
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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})
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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})
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
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=n CT_LOG_PROGRESS_BAR=y
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