mirror of
https://github.com/bensuperpc/dockcross.git
synced 2025-06-19 17:39:26 +02:00
Compare commits
97 Commits
0ee58e2d4d
...
master
Author | SHA1 | Date | |
---|---|---|---|
3deaae3929 | |||
15f69e2d8a | |||
c31dde3d41 | |||
3ada9c5df8 | |||
518960a612 | |||
1bebfd7300 | |||
ce8865c0af | |||
dcb6bde44b | |||
0ca299216e | |||
27e0cf6c78 | |||
494c154b87 | |||
abab9c6b4b | |||
d823872763 | |||
95d67e95d0 | |||
72c453f7c1 | |||
1cfb3b1459 | |||
a10699233d | |||
9668cbac87 | |||
a3b42cd215 | |||
bcc2e1c2a5 | |||
4bd0eec07e | |||
5836581678 | |||
83766c341d | |||
663c6da5bf | |||
86f7a8625c | |||
b73eaf9a77 | |||
7edeef6bc2 | |||
91a1cfe30b | |||
762ed4a396 | |||
b25c978187 | |||
2235db7afb | |||
1678be2d0d | |||
16e96d1b07 | |||
7317e5bf2a | |||
08ddf8271b | |||
e66c1880ec | |||
ec5e88f98c | |||
49d9ab4342 | |||
c76accc121 | |||
e6a0e331e3 | |||
5020eb46ee | |||
10102e86eb | |||
32dad0f923 | |||
925499ed12 | |||
37e2800939 | |||
9e8e187280 | |||
a08b4afce0 | |||
a41e71ea67 | |||
283f79eacf | |||
4a4babf7fa | |||
e6619f6a22 | |||
d91bdd6564 | |||
133cdd4bf5 | |||
2592f3a90f | |||
69c4db9338 | |||
b7f8ddd484 | |||
d75b3333c0 | |||
5887d4c55c | |||
de6a4b0be3 | |||
055c60ebab | |||
7577ed208d | |||
27edf0f8a9 | |||
1afd48ee6a | |||
9dea22ab64 | |||
85496b648d | |||
8d3f1362c2 | |||
af6a85faf1 | |||
f473b99340 | |||
07ac7479b5 | |||
2b491aeb9a | |||
c0efd5bf10 | |||
1d459d9fbc | |||
aac97dfb18 | |||
96e8620255 | |||
86044ff4b3 | |||
741af4cb06 | |||
10b1c1d579 | |||
306612b685 | |||
7631cba894 | |||
180160da50 | |||
8cdda7ec64 | |||
c1cf751a31 | |||
d3dc3ed8e8 | |||
599f950297 | |||
6bf03cc540 | |||
8cda4cf962 | |||
5082131705 | |||
5370aa6fe9 | |||
72e51cae18 | |||
96d423101c | |||
88f3aa6c31 | |||
d9696e44b7 | |||
d0e5a437dd | |||
285ba494bf | |||
b459265243 | |||
7a62133ff7 | |||
858a3d8755 |
269
.github/workflows/main.yml
vendored
269
.github/workflows/main.yml
vendored
@ -9,6 +9,9 @@ on:
|
|||||||
- "*"
|
- "*"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
OCI_EXE: docker
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
base:
|
base:
|
||||||
name: base
|
name: base
|
||||||
@ -20,15 +23,7 @@ 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
|
||||||
@ -46,25 +41,83 @@ 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
|
||||||
|
|
||||||
image:
|
base-multiarch:
|
||||||
name: ${{ matrix.arch_name.image }}
|
name: base-multiarch
|
||||||
needs: base
|
runs-on: ${{ matrix.os }}
|
||||||
runs-on: ubuntu-22.04
|
strategy:
|
||||||
|
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",
|
||||||
@ -86,6 +139,7 @@ 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",
|
||||||
@ -107,6 +161,7 @@ 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",
|
||||||
@ -128,6 +183,7 @@ 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",
|
||||||
@ -147,14 +203,15 @@ 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",
|
||||||
}
|
}
|
||||||
# Linux arm64/armv8 images
|
# inux 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: "yes",
|
openssl: "no",
|
||||||
openssl_arg: "linux-aarch64",
|
openssl_arg: "linux-aarch64",
|
||||||
C: "yes",
|
C: "yes",
|
||||||
C_arg: "",
|
C_arg: "",
|
||||||
@ -171,6 +228,7 @@ 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",
|
||||||
@ -192,6 +250,7 @@ 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",
|
||||||
@ -213,6 +272,7 @@ 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",
|
||||||
@ -235,6 +295,7 @@ 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",
|
||||||
@ -257,6 +318,7 @@ 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",
|
||||||
@ -278,6 +340,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
image: "linux-armv5-musl",
|
image: "linux-armv5-musl",
|
||||||
|
multiarch: "",
|
||||||
stockfish: "no",
|
stockfish: "no",
|
||||||
stockfish_arg: "",
|
stockfish_arg: "",
|
||||||
ninja: "yes",
|
ninja: "yes",
|
||||||
@ -299,6 +362,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
image: "linux-armv5-uclibc",
|
image: "linux-armv5-uclibc",
|
||||||
|
multiarch: "",
|
||||||
stockfish: "no",
|
stockfish: "no",
|
||||||
stockfish_arg: "",
|
stockfish_arg: "",
|
||||||
ninja: "yes",
|
ninja: "yes",
|
||||||
@ -321,6 +385,7 @@ 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",
|
||||||
@ -342,6 +407,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
image: "linux-armv6-lts",
|
image: "linux-armv6-lts",
|
||||||
|
multiarch: "",
|
||||||
stockfish: "no",
|
stockfish: "no",
|
||||||
stockfish_arg: "",
|
stockfish_arg: "",
|
||||||
ninja: "yes",
|
ninja: "yes",
|
||||||
@ -363,6 +429,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
image: "linux-armv6-musl",
|
image: "linux-armv6-musl",
|
||||||
|
multiarch: "",
|
||||||
stockfish: "no",
|
stockfish: "no",
|
||||||
stockfish_arg: "",
|
stockfish_arg: "",
|
||||||
ninja: "yes",
|
ninja: "yes",
|
||||||
@ -385,6 +452,7 @@ 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",
|
||||||
@ -406,6 +474,7 @@ 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",
|
||||||
@ -427,6 +496,7 @@ 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",
|
||||||
@ -448,6 +518,7 @@ 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",
|
||||||
@ -469,6 +540,7 @@ 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",
|
||||||
@ -491,6 +563,7 @@ 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",
|
||||||
@ -513,6 +586,7 @@ 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",
|
||||||
@ -535,6 +609,7 @@ 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",
|
||||||
@ -556,6 +631,7 @@ 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",
|
||||||
@ -577,6 +653,7 @@ 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",
|
||||||
@ -598,6 +675,7 @@ 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",
|
||||||
@ -620,6 +698,7 @@ 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",
|
||||||
@ -641,6 +720,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
image: "linux-riscv64",
|
image: "linux-riscv64",
|
||||||
|
multiarch: "",
|
||||||
stockfish: "no",
|
stockfish: "no",
|
||||||
stockfish_arg: "",
|
stockfish_arg: "",
|
||||||
ninja: "yes",
|
ninja: "yes",
|
||||||
@ -663,6 +743,7 @@ 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",
|
||||||
@ -682,9 +763,10 @@ 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",
|
||||||
@ -706,6 +788,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
image: "linux-mips-uclibc",
|
image: "linux-mips-uclibc",
|
||||||
|
multiarch: "",
|
||||||
stockfish: "no",
|
stockfish: "no",
|
||||||
stockfish_arg: "",
|
stockfish_arg: "",
|
||||||
ninja: "yes",
|
ninja: "yes",
|
||||||
@ -728,6 +811,7 @@ 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",
|
||||||
@ -772,6 +856,7 @@ 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",
|
||||||
@ -794,6 +879,7 @@ 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",
|
||||||
@ -816,6 +902,7 @@ 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",
|
||||||
@ -838,6 +925,7 @@ 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",
|
||||||
@ -860,6 +948,7 @@ 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",
|
||||||
@ -881,6 +970,7 @@ 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",
|
||||||
@ -902,6 +992,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
image: "windows-shared-x64",
|
image: "windows-shared-x64",
|
||||||
|
multiarch: "",
|
||||||
stockfish: "no",
|
stockfish: "no",
|
||||||
stockfish_arg: "",
|
stockfish_arg: "",
|
||||||
ninja: "no",
|
ninja: "no",
|
||||||
@ -923,6 +1014,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
image: "windows-shared-x64-posix",
|
image: "windows-shared-x64-posix",
|
||||||
|
multiarch: "",
|
||||||
stockfish: "no",
|
stockfish: "no",
|
||||||
stockfish_arg: "",
|
stockfish_arg: "",
|
||||||
ninja: "no",
|
ninja: "no",
|
||||||
@ -945,6 +1037,7 @@ 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",
|
||||||
@ -966,6 +1059,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
image: "windows-shared-x86",
|
image: "windows-shared-x86",
|
||||||
|
multiarch: "",
|
||||||
stockfish: "no",
|
stockfish: "no",
|
||||||
stockfish_arg: "",
|
stockfish_arg: "",
|
||||||
ninja: "no",
|
ninja: "no",
|
||||||
@ -988,6 +1082,7 @@ 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",
|
||||||
@ -1009,6 +1104,7 @@ 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",
|
||||||
@ -1031,6 +1127,7 @@ 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",
|
||||||
@ -1053,6 +1150,7 @@ 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",
|
||||||
@ -1074,6 +1172,7 @@ 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",
|
||||||
@ -1095,6 +1194,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
image: "manylinux2014-aarch64",
|
image: "manylinux2014-aarch64",
|
||||||
|
multiarch: "",
|
||||||
stockfish: "no",
|
stockfish: "no",
|
||||||
stockfish_arg: "",
|
stockfish_arg: "",
|
||||||
ninja: "no",
|
ninja: "no",
|
||||||
@ -1117,6 +1217,7 @@ 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",
|
||||||
@ -1138,6 +1239,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
image: "web-wasi",
|
image: "web-wasi",
|
||||||
|
multiarch: "yes",
|
||||||
stockfish: "no",
|
stockfish: "no",
|
||||||
stockfish_arg: "",
|
stockfish_arg: "",
|
||||||
ninja: "no",
|
ninja: "no",
|
||||||
@ -1159,6 +1261,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
image: "web-wasi-threads",
|
image: "web-wasi-threads",
|
||||||
|
multiarch: "yes",
|
||||||
stockfish: "no",
|
stockfish: "no",
|
||||||
stockfish_arg: "",
|
stockfish_arg: "",
|
||||||
ninja: "no",
|
ninja: "no",
|
||||||
@ -1181,6 +1284,7 @@ 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",
|
||||||
@ -1211,6 +1315,13 @@ 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
|
||||||
@ -1219,17 +1330,33 @@ 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: make ${{ matrix.arch_name.image }}
|
run: |
|
||||||
|
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: make ${{ matrix.arch_name.image }}.test
|
run: |
|
||||||
|
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' }}
|
if: ${{ matrix.arch_name.stockfish == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }}
|
||||||
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
|
||||||
@ -1240,17 +1367,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' }}
|
if: ${{ matrix.arch_name.ninja == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }}
|
||||||
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 12/09/2022
|
# Updated on 04/04/2025 (Use openSSL_1_1_1w to fix error: implicit declaration of function 'memcmp')
|
||||||
- name: openssl build test
|
- name: openssl build test
|
||||||
if: ${{ matrix.arch_name.openssl == 'yes' }}
|
if: ${{ matrix.arch_name.openssl == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }}
|
||||||
run: |
|
run: |
|
||||||
git clone --depth 1 --branch OpenSSL_1_1_1q https://github.com/openssl/openssl.git
|
git clone --depth 1 --branch OpenSSL_1_1_1w https://github.com/openssl/openssl.git
|
||||||
cd openssl
|
cd openssl
|
||||||
wget https://raw.githubusercontent.com/mavlink/MAVSDK/main/third_party/openssl/dockcross-android.patch
|
wget https://raw.githubusercontent.com/mavlink/MAVSDK/main/third_party/openssl/dockcross-android.patch
|
||||||
patch -p 0 < dockcross-android.patch
|
patch -p 0 < dockcross-android.patch
|
||||||
@ -1261,7 +1388,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' }}
|
if: ${{ matrix.arch_name.C == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }}
|
||||||
run: |
|
run: |
|
||||||
git clone https://github.com/TheAlgorithms/C.git
|
git clone https://github.com/TheAlgorithms/C.git
|
||||||
cd C
|
cd C
|
||||||
@ -1272,7 +1399,7 @@ jobs:
|
|||||||
|
|
||||||
# Updated on 12/09/2022 No longer maintained
|
# 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' }}
|
if: ${{ matrix.arch_name.C-Plus-Plus == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }}
|
||||||
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
|
||||||
@ -1283,7 +1410,7 @@ jobs:
|
|||||||
|
|
||||||
# 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' }}
|
if: ${{ matrix.arch_name.llama_cpp == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }}
|
||||||
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
|
||||||
@ -1294,7 +1421,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' }}
|
if: ${{ matrix.arch_name.fmt == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }}
|
||||||
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
|
||||||
@ -1304,7 +1431,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' }}
|
if: ${{ matrix.arch_name.cpython == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }}
|
||||||
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
|
||||||
@ -1315,7 +1442,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' }}
|
if: ${{ matrix.arch_name.raylib == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }}
|
||||||
run: |
|
run: |
|
||||||
git clone https://github.com/raysan5/raylib.git
|
git clone https://github.com/raysan5/raylib.git
|
||||||
cd raylib
|
cd raylib
|
||||||
@ -1326,7 +1453,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' }}
|
if: ${{ matrix.arch_name.mbedtls == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }}
|
||||||
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
|
||||||
@ -1337,7 +1464,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' }}
|
if: ${{ matrix.arch_name.libopencm3 == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }}
|
||||||
run: |
|
run: |
|
||||||
git clone https://github.com/libopencm3/libopencm3.git
|
git clone https://github.com/libopencm3/libopencm3.git
|
||||||
cd libopencm3
|
cd libopencm3
|
||||||
@ -1352,8 +1479,82 @@ jobs:
|
|||||||
cd ..
|
cd ..
|
||||||
rm -rf libopencm3
|
rm -rf libopencm3
|
||||||
|
|
||||||
- name: deploy
|
- name: archive ${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}
|
||||||
|
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 login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }}
|
docker images
|
||||||
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
|
||||||
|
@ -23,7 +23,7 @@ cd crosstool-ng
|
|||||||
Change git branch:
|
Change git branch:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git checkout crosstool-ng-1.25.0
|
git checkout crosstool-ng-1.27.0
|
||||||
```
|
```
|
||||||
|
|
||||||
Once in the **crosstool-ng** folder, you must first run the `bootstrap` script:
|
Once in the **crosstool-ng** folder, you must first run the `bootstrap` script:
|
||||||
@ -106,10 +106,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm64)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm64)
|
||||||
@ -135,7 +135,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
|||||||
# This is for 64-bit ARM Linux machine
|
# This is for 64-bit ARM Linux machine
|
||||||
|
|
||||||
# Crosstool-ng crosstool-ng-1.25.0 2022-05-13
|
# Crosstool-ng crosstool-ng-1.25.0 2022-05-13
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
@ -147,9 +147,9 @@ RUN apt-get update \
|
|||||||
&& apt-get clean --yes
|
&& apt-get clean --yes
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target.
|
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target.
|
||||||
ENV CROSS_TRIPLE aarch64-unknown-linux-gnu
|
ENV CROSS_TRIPLE=aarch64-unknown-linux-gnu
|
||||||
|
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -158,18 +158,18 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
|
ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm64
|
ENV ARCH=arm64
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
```
|
```
|
||||||
@ -179,15 +179,15 @@ Then you must change these lines according to the targeted architecture.
|
|||||||
Here you have to change the value according to the name of the toolchain (./ct-ng show-tuple):
|
Here you have to change the value according to the name of the toolchain (./ct-ng show-tuple):
|
||||||
|
|
||||||
```docker
|
```docker
|
||||||
ENV CROSS_TRIPLE aarch64-unknown-linux-gnu
|
ENV CROSS_TRIPLE=aarch64-unknown-linux-gnu
|
||||||
```
|
```
|
||||||
|
|
||||||
These lines also need to be changed:
|
These lines also need to be changed:
|
||||||
|
|
||||||
```docker
|
```docker
|
||||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
|
ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
|
||||||
ENV ARCH arm64
|
ENV ARCH=arm64
|
||||||
```
|
```
|
||||||
|
|
||||||
Once this part is finished, there must be 3 files in the `linux-arm64` folder:
|
Once this part is finished, there must be 3 files in the `linux-arm64` folder:
|
||||||
|
187
Makefile
187
Makefile
@ -3,8 +3,20 @@
|
|||||||
# Parameters
|
# Parameters
|
||||||
#
|
#
|
||||||
|
|
||||||
# Name of the docker executable
|
# Name of the docker-equivalent executable for building images.
|
||||||
|
# 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:
|
||||||
#
|
#
|
||||||
@ -12,21 +24,24 @@ DOCKER := $(or $(OCI_EXE), 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
|
||||||
|
|
||||||
# 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 linux-arm64-musl linux-arm64-full \
|
linux-i686 linux-x86 linux-x64 linux-x64-clang 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
|
||||||
@ -34,10 +49,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_28-x64 manylinux_2_34-x64 \
|
||||||
manylinux2014-x64 manylinux2014-x86 \
|
manylinux2014-x64 manylinux2014-x86 \
|
||||||
manylinux2014-aarch64 linux-arm64-lts \
|
manylinux2014-aarch64 linux-arm64-lts \
|
||||||
web-wasm web-wasi web-wasi-threads linux-mips linux-mips-uclibc linux-mips-lts windows-arm64 windows-armv7 \
|
web-wasm web-wasi web-wasi-emulated-threads web-wasi-threads linux-mips linux-mips-uclibc linux-mips-lts windows-arm64 windows-armv7 \
|
||||||
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 \
|
||||||
@ -46,21 +61,25 @@ 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 manylinux2014-x64 manylinux2014-x86 \
|
NON_STANDARD_IMAGES := manylinux_2_28-x64 manylinux_2_34-x64 manylinux2014-x64 manylinux2014-x86 \
|
||||||
manylinux2014-aarch64 web-wasm web-wasi-threads
|
manylinux2014-aarch64 web-wasm web-wasi-emulated-threads web-wasi-threads
|
||||||
|
|
||||||
# Docker composite files
|
# Docker composite files
|
||||||
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.buildroot \
|
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.manylinux_2_34 common.buildroot \
|
||||||
common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \
|
common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \
|
||||||
common.label-and-env
|
common.label-and-env
|
||||||
DOCKER_COMPOSITE_FOLDER_PATH = common/
|
DOCKER_COMPOSITE_FOLDER_PATH = common/
|
||||||
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)
|
IMAGES := $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES) $(MULTIARCH_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
|
||||||
@ -109,6 +128,7 @@ $(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOS
|
|||||||
-e '/common.docker/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.docker' \
|
-e '/common.docker/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.docker' \
|
||||||
-e '/common.debian/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.debian' \
|
-e '/common.debian/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.debian' \
|
||||||
-e '/common.manylinux_2_28/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_28' \
|
-e '/common.manylinux_2_28/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_28' \
|
||||||
|
-e '/common.manylinux_2_34/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_34' \
|
||||||
-e '/common.manylinux2014/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux2014' \
|
-e '/common.manylinux2014/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux2014' \
|
||||||
-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \
|
-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \
|
||||||
-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \
|
-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \
|
||||||
@ -122,13 +142,20 @@ $(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOS
|
|||||||
#
|
#
|
||||||
# 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/
|
||||||
$(DOCKER) $(BUILD_CMD) -t $(ORG)/web-wasm:$(TAG) \
|
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/web-wasm:$(TAG)-$(HOST_ARCH) \
|
||||||
-t $(ORG)/web-wasm:latest \
|
$(TAG_FLAG) $(ORG)/web-wasm:latest-$(HOST_ARCH) \
|
||||||
--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"` \
|
||||||
@ -138,8 +165,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/
|
||||||
$(DOCKER) run $(RM) $(ORG)/web-wasm:latest > $(BIN)/dockcross-web-wasm && chmod +x $(BIN)/dockcross-web-wasm
|
$(TEST_DOCKER) run $(RM) $(ORG)/web-wasm:latest-$(HOST_ARCH) > $(BIN)/dockcross-web-wasm && chmod +x $(BIN)/dockcross-web-wasm
|
||||||
$(BIN)/dockcross-web-wasm -i $(ORG)/web-wasm:latest python test/run.py --exe-suffix ".js"
|
$(BIN)/dockcross-web-wasm -i $(ORG)/web-wasm:latest-$(HOST_ARCH) python test/run.py --exe-suffix ".js"
|
||||||
rm -rf web-wasm/test
|
rm -rf web-wasm/test
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -148,20 +175,16 @@ 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/
|
||||||
$(DOCKER) $(BUILD_CMD) -t $(ORG)/web-wasi-threads:$(TAG) \
|
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/web-wasi-threads:$(TAG)-$(HOST_ARCH) \
|
||||||
-t $(ORG)/web-wasi-threads:latest \
|
-t $(ORG)/web-wasi-threads:latest-$(HOST_ARCH) \
|
||||||
--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
|
||||||
#
|
#
|
||||||
@ -171,8 +194,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 $@/
|
||||||
$(DOCKER) build -t $(ORG)/manylinux2014-aarch64:$(TAG) \
|
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux2014-aarch64:$(TAG) \
|
||||||
-t $(ORG)/manylinux2014-aarch64:latest \
|
$(TAG_FLAG) $(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` \
|
||||||
@ -184,17 +207,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
|
||||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64:latest > $(BIN)/dockcross-manylinux2014-aarch64 \
|
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64:latest > $(BIN)/dockcross-manylinux2014-aarch64 \
|
||||||
&& chmod +x $(BIN)/dockcross-manylinux2014-aarch64
|
&& chmod +x $(BIN)/dockcross-manylinux2014-aarch64
|
||||||
$(BIN)/dockcross-manylinux2014-aarch64 -i $(ORG)/manylinux2014-aarch64:latest /opt/python/cp38-cp38/bin/python test/run.py
|
$(BIN)/dockcross-manylinux2014-aarch64 -i $(ORG)/manylinux2014-aarch64:latest /opt/python/cp311-cp311/bin/python test/run.py
|
||||||
|
|
||||||
#
|
#
|
||||||
# manylinux_2_28-x64
|
# manylinux_2_28-x64
|
||||||
#
|
#
|
||||||
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 $@/
|
||||||
$(DOCKER) build -t $(ORG)/manylinux_2_28-x64:$(TAG) \
|
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux_2_28-x64:$(TAG) \
|
||||||
-t $(ORG)/manylinux_2_28-x64:latest \
|
$(TAG_FLAG) $(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` \
|
||||||
@ -204,17 +227,37 @@ 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
|
||||||
$(DOCKER) run $(RM) $(ORG)/manylinux_2_28-x64:latest > $(BIN)/dockcross-manylinux_2_28-x64 \
|
$(TEST_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 $@/
|
||||||
$(DOCKER) build -t $(ORG)/manylinux2014-x64:$(TAG) \
|
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux2014-x64:$(TAG) \
|
||||||
-t $(ORG)/manylinux2014-x64:latest \
|
$(TAG_FLAG) $(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` \
|
||||||
@ -224,16 +267,16 @@ manylinux2014-x64: manylinux2014-x64/Dockerfile
|
|||||||
rm -rf $@/imagefiles
|
rm -rf $@/imagefiles
|
||||||
|
|
||||||
manylinux2014-x64.test: manylinux2014-x64
|
manylinux2014-x64.test: manylinux2014-x64
|
||||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-x64:latest > $(BIN)/dockcross-manylinux2014-x64 \
|
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x64:latest > $(BIN)/dockcross-manylinux2014-x64 \
|
||||||
&& chmod +x $(BIN)/dockcross-manylinux2014-x64
|
&& chmod +x $(BIN)/dockcross-manylinux2014-x64
|
||||||
$(BIN)/dockcross-manylinux2014-x64 -i $(ORG)/manylinux2014-x64:latest /opt/python/cp38-cp38/bin/python test/run.py
|
$(BIN)/dockcross-manylinux2014-x64 -i $(ORG)/manylinux2014-x64:latest /opt/python/cp311-cp311/bin/python test/run.py
|
||||||
|
|
||||||
#
|
#
|
||||||
# manylinux2014-x86
|
# manylinux2014-x86
|
||||||
#
|
#
|
||||||
manylinux2014-x86: manylinux2014-x86/Dockerfile
|
manylinux2014-x86: manylinux2014-x86/Dockerfile
|
||||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||||
$(DOCKER) build -t $(ORG)/manylinux2014-x86:$(TAG) \
|
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(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) \
|
||||||
@ -244,22 +287,32 @@ manylinux2014-x86: manylinux2014-x86/Dockerfile
|
|||||||
rm -rf $@/imagefiles
|
rm -rf $@/imagefiles
|
||||||
|
|
||||||
manylinux2014-x86.test: manylinux2014-x86
|
manylinux2014-x86.test: manylinux2014-x86
|
||||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-x86:latest > $(BIN)/dockcross-manylinux2014-x86 \
|
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x86:latest > $(BIN)/dockcross-manylinux2014-x86 \
|
||||||
&& chmod +x $(BIN)/dockcross-manylinux2014-x86
|
&& chmod +x $(BIN)/dockcross-manylinux2014-x86
|
||||||
$(BIN)/dockcross-manylinux2014-x86 -i $(ORG)/manylinux2014-x86:latest /opt/python/cp38-cp38/bin/python test/run.py
|
$(BIN)/dockcross-manylinux2014-x86 -i $(ORG)/manylinux2014-x86:latest /opt/python/cp311-cp311/bin/python test/run.py
|
||||||
|
|
||||||
#
|
#
|
||||||
# base
|
# base-$(HOST_ARCH)
|
||||||
#
|
#
|
||||||
|
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/
|
||||||
$(DOCKER) $(BUILD_CMD) -t $(ORG)/base:latest \
|
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/base:latest \
|
||||||
-t $(ORG)/base:$(TAG) \
|
$(TAG_FLAG) $(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
|
||||||
$(DOCKER) run $(RM) $(ORG)/base:latest > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
|
$(TEST_DOCKER) run $(RM) $(ORG)/base:latest > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
|
||||||
|
|
||||||
# display
|
# display
|
||||||
#
|
#
|
||||||
@ -274,8 +327,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 $@/
|
||||||
$(DOCKER) $(BUILD_CMD) -t $(ORG)/$@:latest \
|
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/$@:latest \
|
||||||
-t $(ORG)/$@:$(TAG) \
|
$(TAG_FLAG) $(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) \
|
||||||
@ -285,6 +338,20 @@ $(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
|
||||||
@ -293,9 +360,9 @@ clean:
|
|||||||
|
|
||||||
purge: clean
|
purge: clean
|
||||||
# Remove all untagged images
|
# Remove all untagged images
|
||||||
$(DOCKER) container ls -aq | xargs -r $(DOCKER) container rm -f
|
$(TEST_DOCKER) container ls -aq | xargs -r $(DOCKER) container rm -f
|
||||||
# Remove all images with organization (ex dockcross/*)
|
# Remove all images with organization (ex dockcross/*)
|
||||||
$(DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f
|
$(BUILD_DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f
|
||||||
|
|
||||||
# Check bash syntax
|
# Check bash syntax
|
||||||
bash-check:
|
bash-check:
|
||||||
@ -307,10 +374,44 @@ bash-check:
|
|||||||
#
|
#
|
||||||
.SECONDEXPANSION:
|
.SECONDEXPANSION:
|
||||||
$(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@)
|
$(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@)
|
||||||
$(DOCKER) run $(RM) $(ORG)/$(basename $@):latest > $(BIN)/dockcross-$(basename $@) \
|
$(TEST_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
|
||||||
#
|
#
|
||||||
|
12
README.md
12
README.md
@ -18,6 +18,8 @@ Cross compiling toolchains in Docker images.
|
|||||||
- [Meson](https://mesonbuild.com) is pre-installed.
|
- [Meson](https://mesonbuild.com) is pre-installed.
|
||||||
- [Conan.io](https://www.conan.io) can be used as a package manager.
|
- [Conan.io](https://www.conan.io) can be used as a package manager.
|
||||||
- Toolchain files configured for CMake.
|
- Toolchain files configured for CMake.
|
||||||
|
- [Rustup](https://rustup.rs/) is pre-installed.
|
||||||
|
- Some images (e.g. android) are configured for Rust.
|
||||||
- Current directory is mounted as the container\'s workdir, `/work`.
|
- Current directory is mounted as the container\'s workdir, `/work`.
|
||||||
- Works with the [Docker for Mac](https://docs.docker.com/docker-for-mac/) and [Docker for Windows](https://docs.docker.com/docker-for-windows/).
|
- Works with the [Docker for Mac](https://docs.docker.com/docker-for-mac/) and [Docker for Windows](https://docs.docker.com/docker-for-windows/).
|
||||||
- Support using alternative container executor by setting **OCI_EXE** environment variable. By default, it searches for [docker](https://www.docker.com) and [podman](https://podman.io) executable.
|
- Support using alternative container executor by setting **OCI_EXE** environment variable. By default, it searches for [docker](https://www.docker.com) and [podman](https://podman.io) executable.
|
||||||
@ -30,6 +32,7 @@ Cross compiling toolchains in Docker images.
|
|||||||
3. `dockcross ninja -Cbuild`: Run ninja in the `./build` directory.
|
3. `dockcross ninja -Cbuild`: Run ninja in the `./build` directory.
|
||||||
4. `dockcross bash -c '$CC test/C/hello.c -o hello'`: Build the *hello.c* file with the compiler identified with the `CC` environmental variable in the build environment.
|
4. `dockcross bash -c '$CC test/C/hello.c -o hello'`: Build the *hello.c* file with the compiler identified with the `CC` environmental variable in the build environment.
|
||||||
5. `dockcross bash`: Run an interactive shell in the build environment.
|
5. `dockcross bash`: Run an interactive shell in the build environment.
|
||||||
|
6. `dockcross cargo build`: Build the current Rust project.
|
||||||
|
|
||||||
Note that commands are executed verbatim. If any shell processing for environment variable expansion or redirection is required, please use
|
Note that commands are executed verbatim. If any shell processing for environment variable expansion or redirection is required, please use
|
||||||
|
|
||||||
@ -113,6 +116,7 @@ The dockcross script will execute the given command-line inside the container, a
|
|||||||
| dockcross/linux-m68k-uclibc | m68k | GCC + uclibc | Linux |
|
| dockcross/linux-m68k-uclibc | m68k | GCC + uclibc | Linux |
|
||||||
| dockcross/linux-xtensa-uclibc | xtensa | GCC + uclibc | Linux |
|
| dockcross/linux-xtensa-uclibc | xtensa | GCC + uclibc | Linux |
|
||||||
| dockcross/manylinux_2_28-x64 | x86_64 | GCC | Linux |
|
| dockcross/manylinux_2_28-x64 | x86_64 | GCC | Linux |
|
||||||
|
| dockcross/manylinux_2_34-x64 | x86_64 | GCC | Linux |
|
||||||
| dockcross/manylinux2014-x86 | x86 | GCC | Linux |
|
| dockcross/manylinux2014-x86 | x86 | GCC | Linux |
|
||||||
| dockcross/manylinux2014-x64 | x86_64 | GCC | Linux |
|
| dockcross/manylinux2014-x64 | x86_64 | GCC | Linux |
|
||||||
| dockcross/linux-i686 | x86 | GCC | Linux |
|
| dockcross/linux-i686 | x86 | GCC | Linux |
|
||||||
@ -381,6 +385,12 @@ Standalone Linux i686 cross compiler.
|
|||||||
|
|
||||||
Docker [manylinux_2_28](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_28** to \"TRUE\" in the toolchain.
|
Docker [manylinux_2_28](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_28** to \"TRUE\" in the toolchain.
|
||||||
|
|
||||||
|
### dockcross/manylinux_2_34-x64
|
||||||
|
|
||||||
|
 
|
||||||
|
|
||||||
|
Docker [manylinux_2_34](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.8.10+, 3.9.5+, 3.10.0+. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_34** to \"TRUE\" in the toolchain.
|
||||||
|
|
||||||
### dockcross/manylinux2014-x64
|
### dockcross/manylinux2014-x64
|
||||||
|
|
||||||
 
|
 
|
||||||
@ -566,7 +576,7 @@ An example Dockerfile would be:
|
|||||||
```
|
```
|
||||||
FROM dockcross/linux-armv7
|
FROM dockcross/linux-armv7
|
||||||
|
|
||||||
ENV DEFAULT_DOCKCROSS_IMAGE my_cool_image
|
ENV DEFAULT_DOCKCROSS_IMAGE=my_cool_image
|
||||||
RUN apt-get install -y nano
|
RUN apt-get install -y nano
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -17,8 +17,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
|||||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||||
LD=${CROSS_ROOT}/bin/ld
|
LD=${CROSS_ROOT}/bin/ld
|
||||||
|
|
||||||
ENV ANDROID_NDK_REVISION 25b
|
ENV ANDROID_NDK_REVISION=25b
|
||||||
ENV ANDROID_API 23
|
ENV ANDROID_API=23
|
||||||
|
|
||||||
RUN mkdir -p /build && \
|
RUN mkdir -p /build && \
|
||||||
cd /build && \
|
cd /build && \
|
||||||
@ -35,7 +35,13 @@ RUN mkdir -p /build && \
|
|||||||
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
||||||
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
||||||
|
|
||||||
|
# Prepare Rust
|
||||||
|
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||||
|
RUN rustup target add armv7-linux-androideabi
|
||||||
|
COPY config.toml /root/.cargo/
|
||||||
|
|
||||||
|
# Prepare CMake
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -15,10 +15,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||||
|
5
android-arm/config.toml
Normal file
5
android-arm/config.toml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[build]
|
||||||
|
target = "armv7-linux-androideabi"
|
||||||
|
|
||||||
|
[target.armv7-linux-androideabi]
|
||||||
|
linker = "/usr/arm-linux-androideabi/bin/armv7a-linux-androideabi23-clang"
|
@ -21,8 +21,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
|||||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||||
LD=${CROSS_ROOT}/bin/ld
|
LD=${CROSS_ROOT}/bin/ld
|
||||||
|
|
||||||
ENV ANDROID_NDK_REVISION 25b
|
ENV ANDROID_NDK_REVISION=25b
|
||||||
ENV ANDROID_API 23
|
ENV ANDROID_API=23
|
||||||
|
|
||||||
RUN mkdir -p /build && \
|
RUN mkdir -p /build && \
|
||||||
cd /build && \
|
cd /build && \
|
||||||
@ -39,8 +39,13 @@ RUN mkdir -p /build && \
|
|||||||
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
||||||
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
||||||
|
|
||||||
|
# Prepare Rust
|
||||||
|
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||||
|
RUN rustup target add aarch64-linux-android
|
||||||
|
COPY config.toml /root/.cargo/
|
||||||
|
|
||||||
|
# Prepare CMake
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -14,10 +14,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||||
|
5
android-arm64/config.toml
Normal file
5
android-arm64/config.toml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[build]
|
||||||
|
target = "aarch64-linux-android"
|
||||||
|
|
||||||
|
[target.aarch64-linux-android]
|
||||||
|
linker = "/usr/aarch64-linux-android/bin/aarch64-linux-android-clang"
|
@ -11,8 +11,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
|||||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||||
LD=${CROSS_ROOT}/bin/ld
|
LD=${CROSS_ROOT}/bin/ld
|
||||||
|
|
||||||
ENV ANDROID_NDK_REVISION 25b
|
ENV ANDROID_NDK_REVISION=25b
|
||||||
ENV ANDROID_API 23
|
ENV ANDROID_API=23
|
||||||
|
|
||||||
RUN mkdir -p /build && \
|
RUN mkdir -p /build && \
|
||||||
cd /build && \
|
cd /build && \
|
||||||
@ -29,8 +29,14 @@ RUN mkdir -p /build && \
|
|||||||
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
||||||
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
||||||
|
|
||||||
|
# Prepare Rust
|
||||||
|
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||||
|
RUN rustup target add i686-linux-android
|
||||||
|
COPY config.toml /root/.cargo/
|
||||||
|
|
||||||
|
# Prepare CMake
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
# Build-time metadata as defined at http://label-schema.org
|
# Build-time metadata as defined at http://label-schema.org
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@ -44,4 +50,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
|
|||||||
org.label-schema.vcs-ref=$VCS_REF \
|
org.label-schema.vcs-ref=$VCS_REF \
|
||||||
org.label-schema.vcs-url=$VCS_URL \
|
org.label-schema.vcs-url=$VCS_URL \
|
||||||
org.label-schema.schema-version="1.0"
|
org.label-schema.schema-version="1.0"
|
||||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||||
|
@ -14,8 +14,8 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
||||||
|
5
android-x86/config.toml
Normal file
5
android-x86/config.toml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[build]
|
||||||
|
target = "i686-linux-android"
|
||||||
|
|
||||||
|
[target.i686-linux-android]
|
||||||
|
linker = "/usr/i686-linux-android/bin/i686-linux-android23-clang"
|
@ -11,8 +11,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
|||||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||||
LD=${CROSS_ROOT}/bin/ld
|
LD=${CROSS_ROOT}/bin/ld
|
||||||
|
|
||||||
ENV ANDROID_NDK_REVISION 25b
|
ENV ANDROID_NDK_REVISION=25b
|
||||||
ENV ANDROID_API 23
|
ENV ANDROID_API=23
|
||||||
|
|
||||||
RUN mkdir -p /build && \
|
RUN mkdir -p /build && \
|
||||||
cd /build && \
|
cd /build && \
|
||||||
@ -29,8 +29,14 @@ RUN mkdir -p /build && \
|
|||||||
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
||||||
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
||||||
|
|
||||||
|
# Prepare Rust
|
||||||
|
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||||
|
RUN rustup target add x86_64-linux-android
|
||||||
|
COPY config.toml /root/.cargo/
|
||||||
|
|
||||||
|
# Prepare CMake
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
# Build-time metadata as defined at http://label-schema.org
|
# Build-time metadata as defined at http://label-schema.org
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@ -44,4 +50,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
|
|||||||
org.label-schema.vcs-ref=$VCS_REF \
|
org.label-schema.vcs-ref=$VCS_REF \
|
||||||
org.label-schema.vcs-url=$VCS_URL \
|
org.label-schema.vcs-url=$VCS_URL \
|
||||||
org.label-schema.schema-version="1.0"
|
org.label-schema.schema-version="1.0"
|
||||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||||
|
@ -14,8 +14,8 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
||||||
|
5
android-x86_64/config.toml
Normal file
5
android-x86_64/config.toml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[build]
|
||||||
|
target = "x86_64-linux-android"
|
||||||
|
|
||||||
|
[target.x86_64-linux-android]
|
||||||
|
linker = "/usr/x86_64-linux-android/bin/x86_64-linux-android-clang"
|
@ -6,13 +6,13 @@ LABEL maintainer="Chen Tao t.clydechen@gmail.com"
|
|||||||
# This is for armv7e-m+fp bare metal
|
# This is for armv7e-m+fp bare metal
|
||||||
|
|
||||||
# Crosstool-ng version 1.25.0
|
# Crosstool-ng version 1.25.0
|
||||||
ENV CT_VERSION 8fa98eeeff9bc53478d97ef722f366fea151ae64
|
ENV CT_VERSION=8fa98eeeff9bc53478d97ef722f366fea151ae64
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
ENV CROSS_TRIPLE arm-none-eabi
|
ENV CROSS_TRIPLE=arm-none-eabi
|
||||||
|
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -23,13 +23,13 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
OBJCOPY=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-objcopy
|
OBJCOPY=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-objcopy
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/arm-none-eabi/pkgconfig
|
ENV PKG_CONFIG_PATH=/usr/lib/arm-none-eabi/pkgconfig
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm
|
ENV ARCH=arm
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -10,7 +10,7 @@ set(CMAKE_CXX_COMPILER $ENV{CXX})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
@ -119,7 +119,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -1,20 +1,22 @@
|
|||||||
WORKDIR /usr/src
|
WORKDIR /usr/src
|
||||||
|
|
||||||
ARG GIT_VERSION=2.42.0
|
ARG GIT_VERSION=2.48.1
|
||||||
|
|
||||||
ARG CMAKE_VERSION=3.27.5
|
ARG CMAKE_VERSION=3.31.5
|
||||||
|
|
||||||
ARG NINJA_VERSION=1.11.1
|
ARG NINJA_VERSION=1.12.1
|
||||||
ARG FLATCC_VERSION=0.6.1
|
ARG FLATCC_VERSION=0.6.1
|
||||||
|
|
||||||
ARG OPENSSL_VERSION=openssl-1.1.1o
|
ARG LIQUIDPROMT_VERSION=v1.12.0
|
||||||
ARG OPENSSL_HASH=9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f
|
|
||||||
|
ARG OPENSSL_VERSION=openssl-1.1.1w
|
||||||
|
ARG OPENSSL_HASH=cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8
|
||||||
|
|
||||||
ARG CURL_VERSION=curl-7.76.0
|
ARG CURL_VERSION=curl-7.76.0
|
||||||
ARG CURL_HASH=3b4378156ba09e224008e81dcce854b7ce4d182b1f9cfb97fe5ed9e9c18c6bd3
|
ARG CURL_HASH=3b4378156ba09e224008e81dcce854b7ce4d182b1f9cfb97fe5ed9e9c18c6bd3
|
||||||
|
|
||||||
ARG PERL_VERSION=perl-5.32.1
|
ARG PERL_VERSION=perl-5.40.1
|
||||||
ARG PERL_HASH=03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c
|
ARG PERL_HASH=02f8c45bb379ed0c3de7514fad48c714fd46be8f0b536bfd5320050165a1ee26
|
||||||
|
|
||||||
# Image build scripts
|
# Image build scripts
|
||||||
COPY \
|
COPY \
|
||||||
@ -25,6 +27,7 @@ COPY \
|
|||||||
imagefiles/build-and-install-ninja.sh \
|
imagefiles/build-and-install-ninja.sh \
|
||||||
imagefiles/build-and-install-openssl.sh \
|
imagefiles/build-and-install-openssl.sh \
|
||||||
imagefiles/build-and-install-openssh.sh \
|
imagefiles/build-and-install-openssh.sh \
|
||||||
|
imagefiles/build-and-install-rustup.sh \
|
||||||
imagefiles/install-cmake-binary.sh \
|
imagefiles/install-cmake-binary.sh \
|
||||||
imagefiles/install-liquidprompt-binary.sh \
|
imagefiles/install-liquidprompt-binary.sh \
|
||||||
imagefiles/install-python-packages.sh \
|
imagefiles/install-python-packages.sh \
|
||||||
@ -38,8 +41,9 @@ RUN \
|
|||||||
/buildscripts/build-and-install-curl.sh && \
|
/buildscripts/build-and-install-curl.sh && \
|
||||||
/buildscripts/build-and-install-git.sh && \
|
/buildscripts/build-and-install-git.sh && \
|
||||||
/buildscripts/build-and-install-cmake.sh $X86_FLAG && \
|
/buildscripts/build-and-install-cmake.sh $X86_FLAG && \
|
||||||
|
/buildscripts/build-and-install-rustup.sh && \
|
||||||
/buildscripts/install-liquidprompt-binary.sh && \
|
/buildscripts/install-liquidprompt-binary.sh && \
|
||||||
PYTHON=$([ -e /opt/python/cp38-cp38/bin/python ] && echo "/opt/python/cp38-cp38/bin/python" || echo "python3") && \
|
PYTHON=$([ -e /opt/python/cp311-cp311/bin/python ] && echo "/opt/python/cp311-cp311/bin/python" || echo "python3") && \
|
||||||
/buildscripts/install-python-packages.sh -python ${PYTHON} && \
|
/buildscripts/install-python-packages.sh -python ${PYTHON} && \
|
||||||
/buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \
|
/buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \
|
||||||
/buildscripts/build-and-install-flatcc.sh && \
|
/buildscripts/build-and-install-flatcc.sh && \
|
||||||
|
@ -16,6 +16,7 @@ RUN \
|
|||||||
wget \
|
wget \
|
||||||
nasm \
|
nasm \
|
||||||
zip \
|
zip \
|
||||||
|
libatomic \
|
||||||
&& \
|
&& \
|
||||||
yum clean all && \
|
yum clean all && \
|
||||||
# Remove sudo provided by devtoolset since it doesn't work with
|
# Remove sudo provided by devtoolset since it doesn't work with
|
||||||
|
30
common/common.manylinux_2_34
Normal file
30
common/common.manylinux_2_34
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
RUN \
|
||||||
|
set -x && \
|
||||||
|
yum upgrade -y almalinux-release && \
|
||||||
|
yum -y install \
|
||||||
|
gpg \
|
||||||
|
python3-devel \
|
||||||
|
zlib-devel \
|
||||||
|
gettext \
|
||||||
|
openssh-clients \
|
||||||
|
wget \
|
||||||
|
nasm \
|
||||||
|
zip \
|
||||||
|
&& \
|
||||||
|
yum clean all
|
||||||
|
|
||||||
|
# Image build scripts
|
||||||
|
COPY \
|
||||||
|
manylinux-common/install-python-packages.sh \
|
||||||
|
/buildscripts/
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
set -x && \
|
||||||
|
# Remove sudo provided by devtoolset since it doesn't work with
|
||||||
|
# our sudo wrapper calling gosu.
|
||||||
|
rm -f /opt/rh/gcc-toolset-14/root/usr/bin/sudo && \
|
||||||
|
/buildscripts/install-python-packages.sh && \
|
||||||
|
rm -rf /buildscripts
|
||||||
|
|
||||||
|
# Runtime scripts
|
||||||
|
COPY manylinux-common/pre_exec.sh /dockcross/
|
@ -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 /wasi-runtimes
|
RUN mkdir -p /wasi-runtimes
|
||||||
|
|
||||||
ENV WASMTIME_HOME=/wasi-runtimes/wasmtime
|
ENV WASMTIME_HOME=/wasi-runtimes/wasmtime
|
||||||
RUN mkdir ${WASMTIME_HOME} && curl https://wasmtime.dev/install.sh -sSf | bash
|
RUN mkdir -p ${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"
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#
|
#
|
||||||
# For example:
|
# For example:
|
||||||
#
|
#
|
||||||
# ENV WINEARCH win64
|
# ENV WINEARCH=win64
|
||||||
# ARG MXE_TARGET_ARCH=x86_64
|
# ARG MXE_TARGET_ARCH=x86_64
|
||||||
# ARG MXE_TARGET_THREAD=
|
# ARG MXE_TARGET_THREAD=
|
||||||
# ARG MXE_TARGET_LINK=shared
|
# ARG MXE_TARGET_LINK=shared
|
||||||
@ -18,7 +18,7 @@
|
|||||||
# mxe master 2024-07-27
|
# mxe master 2024-07-27
|
||||||
ARG MXE_GIT_TAG=9f349e0de62a4a68bfc0f13d835a6c685dae9daa
|
ARG MXE_GIT_TAG=9f349e0de62a4a68bfc0f13d835a6c685dae9daa
|
||||||
|
|
||||||
ENV CMAKE_TOOLCHAIN_FILE /usr/src/mxe/usr/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}/share/cmake/mxe-conf.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=/usr/src/mxe/usr/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}/share/cmake/mxe-conf.cmake
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
@ -125,14 +125,15 @@ RUN \
|
|||||||
#
|
#
|
||||||
rm -rf /tmp/wine-*
|
rm -rf /tmp/wine-*
|
||||||
|
|
||||||
ENV PATH ${PATH}:/usr/src/mxe/usr/bin
|
ENV CROSS_ROOT=/usr/src/mxe/usr
|
||||||
ENV CROSS_TRIPLE ${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV AS=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-as \
|
ENV CROSS_TRIPLE=${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}
|
||||||
AR=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ar \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
CC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gcc \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CPP=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-cpp \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
CXX=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-g++ \
|
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \
|
||||||
LD=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ld \
|
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \
|
||||||
FC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gfortran
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
WORKDIR /work
|
WORKDIR /work
|
||||||
|
@ -67,7 +67,7 @@ if [[ -z "${PERL_HASH}" ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Hash from https://www.openssl.org/source/openssl-1.1.1l.tar.gz.sha256
|
# Hash from https://www.openssl.org/source/openssl-1.1.1w.tar.gz.sha256
|
||||||
OPENSSL_DOWNLOAD_URL=http://www.openssl.org/source/
|
OPENSSL_DOWNLOAD_URL=http://www.openssl.org/source/
|
||||||
|
|
||||||
PERL_DOWNLOAD_URL=https://www.cpan.org/src/5.0
|
PERL_DOWNLOAD_URL=https://www.cpan.org/src/5.0
|
||||||
@ -92,7 +92,7 @@ function build_perl {
|
|||||||
-fsSLO ${PERL_DOWNLOAD_URL}/${perl_fname}.tar.gz
|
-fsSLO ${PERL_DOWNLOAD_URL}/${perl_fname}.tar.gz
|
||||||
|
|
||||||
check_sha256sum ${perl_fname}.tar.gz ${perl_sha256}
|
check_sha256sum ${perl_fname}.tar.gz ${perl_sha256}
|
||||||
tar -xzf ${perl_fname}.tar.gz
|
tar -xzf ${perl_fname}.tar.gz --no-same-owner
|
||||||
(cd ${perl_fname} && do_perl_build)
|
(cd ${perl_fname} && do_perl_build)
|
||||||
rm -rf ${perl_fname} ${perl_fname}.tar.gz
|
rm -rf ${perl_fname} ${perl_fname}.tar.gz
|
||||||
}
|
}
|
||||||
|
10
imagefiles/build-and-install-rustup.sh
Executable file
10
imagefiles/build-and-install-rustup.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
if ! command -v curl &> /dev/null; then
|
||||||
|
echo >&2 'error: "curl" not found!'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
@ -26,8 +26,15 @@ if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then
|
|||||||
|
|
||||||
groupadd -o -g "$BUILDER_GID" "$BUILDER_GROUP" 2> /dev/null
|
groupadd -o -g "$BUILDER_GID" "$BUILDER_GROUP" 2> /dev/null
|
||||||
useradd -o -m -g "$BUILDER_GID" -u "$BUILDER_UID" "$BUILDER_USER" 2> /dev/null
|
useradd -o -m -g "$BUILDER_GID" -u "$BUILDER_UID" "$BUILDER_USER" 2> /dev/null
|
||||||
|
|
||||||
|
# Change ownership of /dev/pts/0 to new user
|
||||||
|
chown "$BUILDER_UID" /dev/pts/0
|
||||||
|
|
||||||
export HOME=/home/${BUILDER_USER}
|
export HOME=/home/${BUILDER_USER}
|
||||||
shopt -s dotglob
|
shopt -s dotglob
|
||||||
|
# Move rustup/cargo directories as they are large, and not needed as root
|
||||||
|
mv -t $HOME/ /root/.rustup /root/.cargo
|
||||||
|
# Copy the rest
|
||||||
cp -r /root/* $HOME/
|
cp -r /root/* $HOME/
|
||||||
chown -R $BUILDER_UID:$BUILDER_GID $HOME
|
chown -R $BUILDER_UID:$BUILDER_GID $HOME
|
||||||
|
|
||||||
@ -38,7 +45,7 @@ if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then
|
|||||||
|
|
||||||
# Enable passwordless sudo capabilities for the user
|
# Enable passwordless sudo capabilities for the user
|
||||||
chown root:$BUILDER_GID "$(which gosu)"
|
chown root:$BUILDER_GID "$(which gosu)"
|
||||||
chmod +s "$(which gosu)"; sync
|
chmod +s "$(which gosu)"
|
||||||
|
|
||||||
# Execute project specific pre execution hook
|
# Execute project specific pre execution hook
|
||||||
if [[ -e /work/.dockcross ]]; then
|
if [[ -e /work/.dockcross ]]; then
|
||||||
|
@ -7,12 +7,17 @@ if ! command -v git &> /dev/null; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${LIQUIDPROMT_VERSION}" ]]; then
|
||||||
|
echo >&2 'error: LIQUIDPROMT_VERSION env. variable must be set to a non-empty value'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
cd /usr/share
|
cd /usr/share
|
||||||
|
|
||||||
# Remove liquidprompt if exists
|
# Remove liquidprompt if exists
|
||||||
rm -rf liquidprompt
|
rm -rf liquidprompt
|
||||||
|
|
||||||
git clone "https://github.com/nojhan/liquidprompt.git" -b v_1.11
|
git clone "https://github.com/nojhan/liquidprompt.git" --depth 1 -b "${LIQUIDPROMT_VERSION}" liquidprompt
|
||||||
|
|
||||||
cat << EOF >> /root/.bashrc
|
cat << EOF >> /root/.bashrc
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
|||||||
|
|
||||||
# Buildroot version
|
# Buildroot version
|
||||||
# buildroot master 2021-09-20
|
# buildroot master 2021-09-20
|
||||||
ENV BR_VERSION d4877e6f88d5eea54dc74b855556ffc0dd3f399f
|
ENV BR_VERSION=d4877e6f88d5eea54dc74b855556ffc0dd3f399f
|
||||||
|
|
||||||
#include "common.buildroot"
|
#include "common.buildroot"
|
||||||
|
|
||||||
@ -19,8 +19,8 @@ RUN apt-get update \
|
|||||||
&& apt-get clean --yes
|
&& apt-get clean --yes
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-buildroot-linux-gnu" target.
|
# The CROSS_TRIPLE is a configured alias of the "aarch64-buildroot-linux-gnu" target.
|
||||||
ENV CROSS_TRIPLE aarch64-buildroot-linux-gnu
|
ENV CROSS_TRIPLE=aarch64-buildroot-linux-gnu
|
||||||
ENV CROSS_ROOT /buildroot
|
ENV CROSS_ROOT=/buildroot
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -29,17 +29,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
#ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
|
#ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm64
|
ENV ARCH=arm64
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
|||||||
# This is for 64-bit ARM Linux machine (Ubuntu 18.04 or Debian 9 mini)
|
# This is for 64-bit ARM Linux machine (Ubuntu 18.04 or Debian 9 mini)
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
@ -16,9 +16,9 @@ RUN apt-get update \
|
|||||||
&& apt-get clean --yes
|
&& apt-get clean --yes
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target.
|
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target.
|
||||||
ENV CROSS_TRIPLE aarch64-unknown-linux-gnu
|
ENV CROSS_TRIPLE=aarch64-unknown-linux-gnu
|
||||||
|
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -27,17 +27,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
|
ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm64
|
ENV ARCH=arm64
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64)
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -1,13 +1,16 @@
|
|||||||
ARG ORG=dockcross
|
ARG ORG=dockcross
|
||||||
FROM ${ORG}/base:latest
|
FROM ${ORG}/base:latest
|
||||||
|
|
||||||
ENV XCC_PREFIX /usr/xcc
|
ENV XCC_PREFIX=/usr/xcc
|
||||||
ENV CROSS_TRIPLE aarch64-linux-musl
|
ENV CROSS_TRIPLE=aarch64-linux-musl
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
||||||
|
|
||||||
RUN mkdir -p ${XCC_PREFIX}
|
RUN mkdir -p ${XCC_PREFIX}
|
||||||
RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
# RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
||||||
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
# RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
||||||
|
# Mirrored for reliability.
|
||||||
|
RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||||
|
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||||
|
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
@ -17,13 +20,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
|
# Prepare Rust
|
||||||
|
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||||
|
RUN rustup target add aarch64-unknown-linux-musl && cargo install --version 0.28.0 cbindgen
|
||||||
|
COPY config.toml /root/.cargo/
|
||||||
|
|
||||||
|
# Prepare CMake
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm64
|
ENV ARCH=arm64
|
||||||
|
|
||||||
# Build-time metadata as defined at http://label-schema.org
|
# Build-time metadata as defined at http://label-schema.org
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@ -32,9 +41,9 @@ ARG VERSION=latest
|
|||||||
ARG VCS_REF
|
ARG VCS_REF
|
||||||
ARG VCS_URL
|
ARG VCS_URL
|
||||||
LABEL org.label-schema.build-date=$BUILD_DATE \
|
LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||||
org.label-schema.name=$IMAGE \
|
org.label-schema.name=$IMAGE \
|
||||||
org.label-schema.version=$VERSION \
|
org.label-schema.version=$VERSION \
|
||||||
org.label-schema.vcs-ref=$VCS_REF \
|
org.label-schema.vcs-ref=$VCS_REF \
|
||||||
org.label-schema.vcs-url=$VCS_URL \
|
org.label-schema.vcs-url=$VCS_URL \
|
||||||
org.label-schema.schema-version="1.0"
|
org.label-schema.schema-version="1.0"
|
||||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||||
|
@ -11,7 +11,7 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
7
linux-arm64-musl/config.toml
Normal file
7
linux-arm64-musl/config.toml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[build]
|
||||||
|
target = "aarch64-unknown-linux-musl"
|
||||||
|
|
||||||
|
[target.aarch64-unknown-linux-musl]
|
||||||
|
ar = "/usr/xcc/aarch64-linux-musl-cross/bin/aarch64-linux-musl-ar"
|
||||||
|
linker = "/usr/xcc/aarch64-linux-musl-cross/bin/aarch64-linux-musl-ld"
|
||||||
|
|
@ -1,12 +1,13 @@
|
|||||||
ARG ORG=dockcross
|
ARG ORG=dockcross
|
||||||
FROM ${ORG}/base:latest
|
ARG HOST_ARCH=amd64
|
||||||
|
FROM ${ORG}/base:latest-${HOST_ARCH}
|
||||||
|
|
||||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
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 version 2024-05-04
|
# Crosstool-ng version 2024-05-04
|
||||||
ENV CT_VERSION crosstool-ng-1.26.0
|
ENV CT_VERSION crosstool-ng-1.27.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
@ -18,9 +19,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 \
|
||||||
@ -29,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/aarch64-linux-gnu/pkgconfig
|
ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm64
|
ENV ARCH=arm64
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64)
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# crosstool-NG 1.26.0 Configuration
|
# crosstool-NG 1.27.0 Configuration
|
||||||
#
|
#
|
||||||
CT_CONFIGURE_has_static_link=y
|
CT_CONFIGURE_has_static_link=y
|
||||||
CT_CONFIGURE_has_cxx11=y
|
CT_CONFIGURE_has_cxx11=y
|
||||||
CT_CONFIGURE_has_wget=y
|
CT_CONFIGURE_has_wget=y
|
||||||
CT_CONFIGURE_has_curl=y
|
CT_CONFIGURE_has_curl=y
|
||||||
CT_CONFIGURE_has_ninja=y
|
CT_CONFIGURE_has_ninja=y
|
||||||
CT_CONFIGURE_has_rsync=y
|
|
||||||
CT_CONFIGURE_has_make_3_81_or_newer=y
|
CT_CONFIGURE_has_make_3_81_or_newer=y
|
||||||
CT_CONFIGURE_has_make_4_0_or_newer=y
|
CT_CONFIGURE_has_make_4_0_or_newer=y
|
||||||
CT_CONFIGURE_has_make_4_4_or_newer=y
|
CT_CONFIGURE_has_make_4_4_or_newer=y
|
||||||
@ -28,7 +27,7 @@ CT_CONFIGURE_has_sha1sum=y
|
|||||||
CT_CONFIGURE_has_sha256sum=y
|
CT_CONFIGURE_has_sha256sum=y
|
||||||
CT_CONFIGURE_has_sha512sum=y
|
CT_CONFIGURE_has_sha512sum=y
|
||||||
CT_CONFIGURE_has_install_with_strip_program=y
|
CT_CONFIGURE_has_install_with_strip_program=y
|
||||||
CT_VERSION="1.26.0"
|
CT_VERSION="1.27.0"
|
||||||
CT_VCHECK=""
|
CT_VCHECK=""
|
||||||
CT_CONFIG_VERSION_ENV="4"
|
CT_CONFIG_VERSION_ENV="4"
|
||||||
CT_CONFIG_VERSION_CURRENT="4"
|
CT_CONFIG_VERSION_CURRENT="4"
|
||||||
@ -72,7 +71,7 @@ CT_DOWNLOAD_AGENT_WGET=y
|
|||||||
# CT_FORBID_DOWNLOAD is not set
|
# CT_FORBID_DOWNLOAD is not set
|
||||||
# CT_FORCE_DOWNLOAD is not set
|
# CT_FORCE_DOWNLOAD is not set
|
||||||
CT_CONNECT_TIMEOUT=10
|
CT_CONNECT_TIMEOUT=10
|
||||||
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=5 -nc --progress=dot:binary"
|
CT_DOWNLOAD_WGET_OPTIONS="--tries=5 -nc --progress=dot:binary"
|
||||||
# CT_ONLY_DOWNLOAD is not set
|
# CT_ONLY_DOWNLOAD is not set
|
||||||
# CT_USE_MIRROR is not set
|
# CT_USE_MIRROR is not set
|
||||||
CT_VERIFY_DOWNLOAD_DIGEST=y
|
CT_VERIFY_DOWNLOAD_DIGEST=y
|
||||||
@ -121,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
@ -139,6 +138,7 @@ CT_ARCH_ARM=y
|
|||||||
# CT_ARCH_NIOS2 is not set
|
# CT_ARCH_NIOS2 is not set
|
||||||
# CT_ARCH_POWERPC is not set
|
# CT_ARCH_POWERPC is not set
|
||||||
# CT_ARCH_PRU is not set
|
# CT_ARCH_PRU is not set
|
||||||
|
# CT_ARCH_RISCV is not set
|
||||||
# CT_ARCH_S390 is not set
|
# CT_ARCH_S390 is not set
|
||||||
# CT_ARCH_SH is not set
|
# CT_ARCH_SH is not set
|
||||||
# CT_ARCH_SPARC is not set
|
# CT_ARCH_SPARC is not set
|
||||||
@ -154,7 +154,7 @@ CT_ARCH_ARM_SHOW=y
|
|||||||
# Options for arm
|
# Options for arm
|
||||||
#
|
#
|
||||||
CT_ARCH_ARM_PKG_KSYM=""
|
CT_ARCH_ARM_PKG_KSYM=""
|
||||||
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
|
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR BPF C6X LM32 LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 OPENRISC PARISC POWERPC PRU RISCV S390 SH SPARC TRICORE X86 XTENSA"
|
||||||
CT_ARCH_SUFFIX=""
|
CT_ARCH_SUFFIX=""
|
||||||
# CT_OMIT_TARGET_VENDOR is not set
|
# CT_OMIT_TARGET_VENDOR is not set
|
||||||
|
|
||||||
@ -252,13 +252,19 @@ CT_KERNEL_LINUX_SHOW=y
|
|||||||
#
|
#
|
||||||
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
|
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
|
||||||
CT_LINUX_DIR_NAME="linux"
|
CT_LINUX_DIR_NAME="linux"
|
||||||
CT_LINUX_USE_WWW_KERNEL_ORG=y
|
|
||||||
# CT_LINUX_USE_ORACLE is not set
|
|
||||||
CT_LINUX_USE="LINUX"
|
|
||||||
CT_LINUX_PKG_NAME="linux"
|
CT_LINUX_PKG_NAME="linux"
|
||||||
CT_LINUX_SRC_RELEASE=y
|
CT_LINUX_SRC_RELEASE=y
|
||||||
# CT_LINUX_SRC_DEVEL is not set
|
# CT_LINUX_SRC_DEVEL is not set
|
||||||
CT_LINUX_PATCH_ORDER="global"
|
CT_LINUX_PATCH_ORDER="global"
|
||||||
|
# CT_LINUX_V_6_13 is not set
|
||||||
|
# CT_LINUX_V_6_12 is not set
|
||||||
|
# CT_LINUX_V_6_11 is not set
|
||||||
|
# CT_LINUX_V_6_10 is not set
|
||||||
|
# CT_LINUX_V_6_9 is not set
|
||||||
|
# CT_LINUX_V_6_8 is not set
|
||||||
|
# CT_LINUX_V_6_7 is not set
|
||||||
|
# CT_LINUX_V_6_6 is not set
|
||||||
|
# CT_LINUX_V_6_5 is not set
|
||||||
# CT_LINUX_V_6_4 is not set
|
# CT_LINUX_V_6_4 is not set
|
||||||
# CT_LINUX_V_6_3 is not set
|
# CT_LINUX_V_6_3 is not set
|
||||||
# CT_LINUX_V_6_2 is not set
|
# CT_LINUX_V_6_2 is not set
|
||||||
@ -300,7 +306,7 @@ CT_LINUX_V_6_1=y
|
|||||||
# CT_LINUX_V_3_13 is not set
|
# CT_LINUX_V_3_13 is not set
|
||||||
# CT_LINUX_V_3_12 is not set
|
# CT_LINUX_V_3_12 is not set
|
||||||
# CT_LINUX_V_3_10 is not set
|
# CT_LINUX_V_3_10 is not set
|
||||||
CT_LINUX_VERSION="6.1.35"
|
CT_LINUX_VERSION="6.1.127"
|
||||||
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
|
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
|
||||||
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||||
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||||
@ -322,6 +328,7 @@ CT_LINUX_REQUIRE_3_7_or_later=y
|
|||||||
CT_LINUX_later_than_3_2=y
|
CT_LINUX_later_than_3_2=y
|
||||||
CT_LINUX_3_2_or_later=y
|
CT_LINUX_3_2_or_later=y
|
||||||
CT_LINUX_REQUIRE_3_2_or_later=y
|
CT_LINUX_REQUIRE_3_2_or_later=y
|
||||||
|
CT_KERNEL_has_rsync=y
|
||||||
CT_KERNEL_DEP_RSYNC=y
|
CT_KERNEL_DEP_RSYNC=y
|
||||||
CT_KERNEL_LINUX_VERBOSITY_0=y
|
CT_KERNEL_LINUX_VERBOSITY_0=y
|
||||||
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
|
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
|
||||||
@ -356,6 +363,9 @@ CT_BINUTILS_PKG_NAME="binutils"
|
|||||||
CT_BINUTILS_SRC_RELEASE=y
|
CT_BINUTILS_SRC_RELEASE=y
|
||||||
# CT_BINUTILS_SRC_DEVEL is not set
|
# CT_BINUTILS_SRC_DEVEL is not set
|
||||||
CT_BINUTILS_PATCH_ORDER="global"
|
CT_BINUTILS_PATCH_ORDER="global"
|
||||||
|
# CT_BINUTILS_V_2_43 is not set
|
||||||
|
# CT_BINUTILS_V_2_42 is not set
|
||||||
|
# CT_BINUTILS_V_2_41 is not set
|
||||||
# CT_BINUTILS_V_2_40 is not set
|
# CT_BINUTILS_V_2_40 is not set
|
||||||
# CT_BINUTILS_V_2_39 is not set
|
# CT_BINUTILS_V_2_39 is not set
|
||||||
# CT_BINUTILS_V_2_38 is not set
|
# CT_BINUTILS_V_2_38 is not set
|
||||||
@ -377,6 +387,8 @@ CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
|||||||
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||||
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||||
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
|
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
|
||||||
|
CT_BINUTILS_2_41_or_older=y
|
||||||
|
CT_BINUTILS_older_than_2_41=y
|
||||||
CT_BINUTILS_2_39_or_older=y
|
CT_BINUTILS_2_39_or_older=y
|
||||||
CT_BINUTILS_older_than_2_39=y
|
CT_BINUTILS_older_than_2_39=y
|
||||||
CT_BINUTILS_later_than_2_30=y
|
CT_BINUTILS_later_than_2_30=y
|
||||||
@ -412,6 +424,7 @@ CT_ALL_BINUTILS_CHOICES="BINUTILS"
|
|||||||
# C-library
|
# C-library
|
||||||
#
|
#
|
||||||
CT_LIBC_GLIBC=y
|
CT_LIBC_GLIBC=y
|
||||||
|
# CT_LIBC_MUSL is not set
|
||||||
# CT_LIBC_UCLIBC_NG is not set
|
# CT_LIBC_UCLIBC_NG is not set
|
||||||
CT_LIBC="glibc"
|
CT_LIBC="glibc"
|
||||||
CT_LIBC_CHOICE_KSYM="GLIBC"
|
CT_LIBC_CHOICE_KSYM="GLIBC"
|
||||||
@ -429,6 +442,9 @@ CT_GLIBC_PKG_NAME="glibc"
|
|||||||
CT_GLIBC_SRC_RELEASE=y
|
CT_GLIBC_SRC_RELEASE=y
|
||||||
# CT_GLIBC_SRC_DEVEL is not set
|
# CT_GLIBC_SRC_DEVEL is not set
|
||||||
CT_GLIBC_PATCH_ORDER="global"
|
CT_GLIBC_PATCH_ORDER="global"
|
||||||
|
# CT_GLIBC_V_2_41 is not set
|
||||||
|
# CT_GLIBC_V_2_40 is not set
|
||||||
|
# CT_GLIBC_V_2_39 is not set
|
||||||
# CT_GLIBC_V_2_38 is not set
|
# CT_GLIBC_V_2_38 is not set
|
||||||
# CT_GLIBC_V_2_37 is not set
|
# CT_GLIBC_V_2_37 is not set
|
||||||
CT_GLIBC_V_2_36=y
|
CT_GLIBC_V_2_36=y
|
||||||
@ -453,6 +469,8 @@ CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
|||||||
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||||
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||||
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
|
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
|
||||||
|
CT_GLIBC_2_41_or_older=y
|
||||||
|
CT_GLIBC_older_than_2_41=y
|
||||||
CT_GLIBC_2_38_or_older=y
|
CT_GLIBC_2_38_or_older=y
|
||||||
CT_GLIBC_older_than_2_38=y
|
CT_GLIBC_older_than_2_38=y
|
||||||
CT_GLIBC_2_37_or_older=y
|
CT_GLIBC_2_37_or_older=y
|
||||||
@ -507,7 +525,7 @@ CT_GLIBC_FORCE_UNWIND=y
|
|||||||
# CT_GLIBC_KERNEL_VERSION_NONE is not set
|
# CT_GLIBC_KERNEL_VERSION_NONE is not set
|
||||||
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
|
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
|
||||||
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
|
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
|
||||||
CT_GLIBC_MIN_KERNEL="6.1.35"
|
CT_GLIBC_MIN_KERNEL="6.1.127"
|
||||||
CT_GLIBC_SSP_DEFAULT=y
|
CT_GLIBC_SSP_DEFAULT=y
|
||||||
# CT_GLIBC_SSP_NO is not set
|
# CT_GLIBC_SSP_NO is not set
|
||||||
# CT_GLIBC_SSP_YES is not set
|
# CT_GLIBC_SSP_YES is not set
|
||||||
@ -556,6 +574,7 @@ CT_GCC_PKG_NAME="gcc"
|
|||||||
CT_GCC_SRC_RELEASE=y
|
CT_GCC_SRC_RELEASE=y
|
||||||
# CT_GCC_SRC_DEVEL is not set
|
# CT_GCC_SRC_DEVEL is not set
|
||||||
CT_GCC_PATCH_ORDER="global"
|
CT_GCC_PATCH_ORDER="global"
|
||||||
|
# CT_GCC_V_14 is not set
|
||||||
# CT_GCC_V_13 is not set
|
# CT_GCC_V_13 is not set
|
||||||
CT_GCC_V_12=y
|
CT_GCC_V_12=y
|
||||||
# CT_GCC_V_11 is not set
|
# CT_GCC_V_11 is not set
|
||||||
@ -564,12 +583,14 @@ CT_GCC_V_12=y
|
|||||||
# CT_GCC_V_8 is not set
|
# CT_GCC_V_8 is not set
|
||||||
# CT_GCC_V_7 is not set
|
# CT_GCC_V_7 is not set
|
||||||
# CT_GCC_V_6 is not set
|
# CT_GCC_V_6 is not set
|
||||||
CT_GCC_VERSION="12.3.0"
|
CT_GCC_VERSION="12.4.0"
|
||||||
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
|
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
|
||||||
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||||
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||||
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||||
CT_GCC_SIGNATURE_FORMAT=""
|
CT_GCC_SIGNATURE_FORMAT=""
|
||||||
|
CT_GCC_14_or_older=y
|
||||||
|
CT_GCC_older_than_14=y
|
||||||
CT_GCC_13_or_older=y
|
CT_GCC_13_or_older=y
|
||||||
CT_GCC_older_than_13=y
|
CT_GCC_older_than_13=y
|
||||||
CT_GCC_later_than_12=y
|
CT_GCC_later_than_12=y
|
||||||
@ -608,18 +629,20 @@ CT_CC_GCC_CONFIG_TLS=m
|
|||||||
#
|
#
|
||||||
CT_CC_GCC_USE_GRAPHITE=y
|
CT_CC_GCC_USE_GRAPHITE=y
|
||||||
CT_CC_GCC_USE_LTO=y
|
CT_CC_GCC_USE_LTO=y
|
||||||
CT_CC_GCC_LTO_ZSTD=m
|
CT_CC_GCC_LTO_ZSTD=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Settings for libraries running on target
|
# Settings for libraries running on target
|
||||||
#
|
#
|
||||||
# CT_CC_GCC_ENABLE_DEFAULT_PIE is not set
|
# CT_CC_GCC_ENABLE_DEFAULT_PIE is not set
|
||||||
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
|
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
|
||||||
|
CT_CC_GCC_LIBSTDCXX=y
|
||||||
|
CT_CC_GCC_LIBSTDCXX_HOSTED_DISABLE=y
|
||||||
CT_CC_GCC_LIBMUDFLAP=y
|
CT_CC_GCC_LIBMUDFLAP=y
|
||||||
CT_CC_GCC_LIBGOMP=y
|
CT_CC_GCC_LIBGOMP=y
|
||||||
CT_CC_GCC_LIBSSP=m
|
CT_CC_GCC_LIBSSP=m
|
||||||
# CT_CC_GCC_LIBQUADMATH is not set
|
# CT_CC_GCC_LIBQUADMATH is not set
|
||||||
# CT_CC_GCC_LIBSANITIZER is not set
|
CT_CC_GCC_LIBSANITIZER=y
|
||||||
CT_CC_GCC_LIBSTDCXX_VERBOSE=m
|
CT_CC_GCC_LIBSTDCXX_VERBOSE=m
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -650,6 +673,38 @@ CT_CC_LANG_CXX=y
|
|||||||
CT_CC_LANG_FORTRAN=y
|
CT_CC_LANG_FORTRAN=y
|
||||||
# end of C compiler
|
# end of C compiler
|
||||||
|
|
||||||
|
#
|
||||||
|
# Linkers
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# BFD enabled in binutils
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# GOLD enabled in binutils
|
||||||
|
#
|
||||||
|
CT_LINKER_MOLD=y
|
||||||
|
CT_LINKER_MOLD_PKG_KSYM="MOLD"
|
||||||
|
CT_MOLD_DIR_NAME="mold"
|
||||||
|
CT_MOLD_PKG_NAME="mold"
|
||||||
|
CT_MOLD_SRC_RELEASE=y
|
||||||
|
# CT_MOLD_SRC_DEVEL is not set
|
||||||
|
CT_MOLD_PATCH_ORDER="global"
|
||||||
|
CT_MOLD_V_2_36_0=y
|
||||||
|
# CT_MOLD_V_2_33_0 is not set
|
||||||
|
# CT_MOLD_V_2_32_0 is not set
|
||||||
|
# CT_MOLD_V_2_31_0 is not set
|
||||||
|
CT_MOLD_VERSION="2.36.0"
|
||||||
|
CT_MOLD_MIRRORS="https://github.com/rui314/mold/archive/refs/tags"
|
||||||
|
CT_MOLD_ARCHIVE_FILENAME="v@{version}"
|
||||||
|
CT_MOLD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||||
|
CT_MOLD_ARCHIVE_FORMATS=".tar.gz"
|
||||||
|
CT_MOLD_SIGNATURE_FORMAT=""
|
||||||
|
CT_LINKER_MOLD_has_cmake=y
|
||||||
|
CT_ALL_LINKER_CHOICES="MOLD"
|
||||||
|
# end of Linkers
|
||||||
|
|
||||||
#
|
#
|
||||||
# Debug facilities
|
# Debug facilities
|
||||||
#
|
#
|
||||||
@ -661,18 +716,27 @@ CT_GDB_PKG_NAME="gdb"
|
|||||||
CT_GDB_SRC_RELEASE=y
|
CT_GDB_SRC_RELEASE=y
|
||||||
# CT_GDB_SRC_DEVEL is not set
|
# CT_GDB_SRC_DEVEL is not set
|
||||||
CT_GDB_PATCH_ORDER="global"
|
CT_GDB_PATCH_ORDER="global"
|
||||||
CT_GDB_V_13=y
|
CT_GDB_V_16=y
|
||||||
|
# CT_GDB_V_15 is not set
|
||||||
|
# CT_GDB_V_14 is not set
|
||||||
|
# CT_GDB_V_13 is not set
|
||||||
# CT_GDB_V_12 is not set
|
# CT_GDB_V_12 is not set
|
||||||
# CT_GDB_V_11 is not set
|
# CT_GDB_V_11 is not set
|
||||||
# CT_GDB_V_10 is not set
|
# CT_GDB_V_10 is not set
|
||||||
# CT_GDB_V_9 is not set
|
# CT_GDB_V_9 is not set
|
||||||
# CT_GDB_V_8_3 is not set
|
# CT_GDB_V_8_3 is not set
|
||||||
CT_GDB_VERSION="13.2"
|
CT_GDB_VERSION="16.2"
|
||||||
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
|
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
|
||||||
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||||
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||||
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||||
CT_GDB_SIGNATURE_FORMAT=""
|
CT_GDB_SIGNATURE_FORMAT=""
|
||||||
|
CT_GDB_later_than_16=y
|
||||||
|
CT_GDB_16_or_later=y
|
||||||
|
CT_GDB_later_than_15=y
|
||||||
|
CT_GDB_15_or_later=y
|
||||||
|
CT_GDB_later_than_14=y
|
||||||
|
CT_GDB_14_or_later=y
|
||||||
CT_GDB_later_than_13=y
|
CT_GDB_later_than_13=y
|
||||||
CT_GDB_13_or_later=y
|
CT_GDB_13_or_later=y
|
||||||
CT_GDB_later_than_12=y
|
CT_GDB_later_than_12=y
|
||||||
@ -694,6 +758,7 @@ CT_GDB_GDBSERVER=y
|
|||||||
# CT_GDB_NATIVE_BUILD_IPA_LIB is not set
|
# CT_GDB_NATIVE_BUILD_IPA_LIB is not set
|
||||||
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
|
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
|
||||||
CT_GDB_GDBSERVER_TOPLEVEL=y
|
CT_GDB_GDBSERVER_TOPLEVEL=y
|
||||||
|
CT_GDB_CC_LD_LIBTOOL=y
|
||||||
# CT_DEBUG_LTRACE is not set
|
# CT_DEBUG_LTRACE is not set
|
||||||
CT_DEBUG_STRACE=y
|
CT_DEBUG_STRACE=y
|
||||||
CT_DEBUG_STRACE_PKG_KSYM="STRACE"
|
CT_DEBUG_STRACE_PKG_KSYM="STRACE"
|
||||||
@ -702,8 +767,8 @@ CT_STRACE_PKG_NAME="strace"
|
|||||||
CT_STRACE_SRC_RELEASE=y
|
CT_STRACE_SRC_RELEASE=y
|
||||||
# CT_STRACE_SRC_DEVEL is not set
|
# CT_STRACE_SRC_DEVEL is not set
|
||||||
CT_STRACE_PATCH_ORDER="global"
|
CT_STRACE_PATCH_ORDER="global"
|
||||||
CT_STRACE_V_6_4=y
|
CT_STRACE_V_6_13=y
|
||||||
CT_STRACE_VERSION="6.4"
|
CT_STRACE_VERSION="6.13"
|
||||||
CT_STRACE_MIRRORS="https://strace.io/files/${CT_STRACE_VERSION} https://github.com/strace/strace/releases/download/v${CT_STRACE_VERSION}"
|
CT_STRACE_MIRRORS="https://strace.io/files/${CT_STRACE_VERSION} https://github.com/strace/strace/releases/download/v${CT_STRACE_VERSION}"
|
||||||
CT_STRACE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
CT_STRACE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||||
CT_STRACE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
CT_STRACE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||||
@ -738,17 +803,21 @@ CT_GETTEXT_PKG_NAME="gettext"
|
|||||||
CT_GETTEXT_SRC_RELEASE=y
|
CT_GETTEXT_SRC_RELEASE=y
|
||||||
# CT_GETTEXT_SRC_DEVEL is not set
|
# CT_GETTEXT_SRC_DEVEL is not set
|
||||||
CT_GETTEXT_PATCH_ORDER="global"
|
CT_GETTEXT_PATCH_ORDER="global"
|
||||||
CT_GETTEXT_V_0_21=y
|
CT_GETTEXT_V_0_23_1=y
|
||||||
|
# CT_GETTEXT_V_0_22_5 is not set
|
||||||
|
# CT_GETTEXT_V_0_21 is not set
|
||||||
# CT_GETTEXT_V_0_20_1 is not set
|
# CT_GETTEXT_V_0_20_1 is not set
|
||||||
# CT_GETTEXT_V_0_19_8_1 is not set
|
# CT_GETTEXT_V_0_19_8_1 is not set
|
||||||
CT_GETTEXT_VERSION="0.21"
|
CT_GETTEXT_VERSION="0.23.1"
|
||||||
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
|
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
|
||||||
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||||
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||||
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||||
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
|
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
|
||||||
|
CT_GETTEXT_later_than_0_23=y
|
||||||
|
CT_GETTEXT_0_23_or_later=y
|
||||||
|
CT_GETTEXT_later_than_0_21=y
|
||||||
CT_GETTEXT_0_21_or_later=y
|
CT_GETTEXT_0_21_or_later=y
|
||||||
CT_GETTEXT_0_21_or_older=y
|
|
||||||
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y
|
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -769,9 +838,10 @@ CT_GMP_PKG_NAME="gmp"
|
|||||||
CT_GMP_SRC_RELEASE=y
|
CT_GMP_SRC_RELEASE=y
|
||||||
# CT_GMP_SRC_DEVEL is not set
|
# CT_GMP_SRC_DEVEL is not set
|
||||||
CT_GMP_PATCH_ORDER="global"
|
CT_GMP_PATCH_ORDER="global"
|
||||||
CT_GMP_V_6_2=y
|
CT_GMP_V_6_3=y
|
||||||
|
# CT_GMP_V_6_2 is not set
|
||||||
# CT_GMP_V_6_1 is not set
|
# CT_GMP_V_6_1 is not set
|
||||||
CT_GMP_VERSION="6.2.1"
|
CT_GMP_VERSION="6.3.0"
|
||||||
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
|
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
|
||||||
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||||
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||||
@ -842,8 +912,8 @@ CT_MPC_PKG_NAME="mpc"
|
|||||||
CT_MPC_SRC_RELEASE=y
|
CT_MPC_SRC_RELEASE=y
|
||||||
# CT_MPC_SRC_DEVEL is not set
|
# CT_MPC_SRC_DEVEL is not set
|
||||||
CT_MPC_PATCH_ORDER="global"
|
CT_MPC_PATCH_ORDER="global"
|
||||||
CT_MPC_V_1_2=y
|
CT_MPC_V_1_3=y
|
||||||
CT_MPC_VERSION="1.2.1"
|
CT_MPC_VERSION="1.3.1"
|
||||||
CT_MPC_MIRRORS="https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
|
CT_MPC_MIRRORS="https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
|
||||||
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||||
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||||
@ -898,8 +968,9 @@ CT_ZLIB_PKG_NAME="zlib"
|
|||||||
CT_ZLIB_SRC_RELEASE=y
|
CT_ZLIB_SRC_RELEASE=y
|
||||||
# CT_ZLIB_SRC_DEVEL is not set
|
# CT_ZLIB_SRC_DEVEL is not set
|
||||||
CT_ZLIB_PATCH_ORDER="global"
|
CT_ZLIB_PATCH_ORDER="global"
|
||||||
CT_ZLIB_V_1_2_13=y
|
CT_ZLIB_V_1_3_1=y
|
||||||
CT_ZLIB_VERSION="1.2.13"
|
# CT_ZLIB_V_1_2_13 is not set
|
||||||
|
CT_ZLIB_VERSION="1.3.1"
|
||||||
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
|
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||||
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||||
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||||
@ -912,9 +983,10 @@ CT_ZSTD_PKG_NAME="zstd"
|
|||||||
CT_ZSTD_SRC_RELEASE=y
|
CT_ZSTD_SRC_RELEASE=y
|
||||||
# CT_ZSTD_SRC_DEVEL is not set
|
# CT_ZSTD_SRC_DEVEL is not set
|
||||||
CT_ZSTD_PATCH_ORDER="global"
|
CT_ZSTD_PATCH_ORDER="global"
|
||||||
CT_ZSTD_V_1_5_5=y
|
CT_ZSTD_V_1_5_6=y
|
||||||
|
# CT_ZSTD_V_1_5_5 is not set
|
||||||
# CT_ZSTD_V_1_5_2 is not set
|
# CT_ZSTD_V_1_5_2 is not set
|
||||||
CT_ZSTD_VERSION="1.5.5"
|
CT_ZSTD_VERSION="1.5.6"
|
||||||
CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://www.zstd.net/"
|
CT_ZSTD_MIRRORS="https://github.com/facebook/zstd/releases/download/v${CT_ZSTD_VERSION} https://www.zstd.net/"
|
||||||
CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
CT_ZSTD_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||||
CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
CT_ZSTD_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||||
|
@ -8,7 +8,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
|||||||
# musleabi as default glibc
|
# musleabi as default glibc
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
@ -20,8 +20,8 @@ RUN apt-get update \
|
|||||||
&& apt-get clean --yes
|
&& apt-get clean --yes
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "armv5-unknown-linux-musleabi" target.
|
# The CROSS_TRIPLE is a configured alias of the "armv5-unknown-linux-musleabi" target.
|
||||||
ENV CROSS_TRIPLE armv5-unknown-linux-musleabi
|
ENV CROSS_TRIPLE=armv5-unknown-linux-musleabi
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -30,17 +30,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-musleabihf/
|
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-musleabihf/
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm
|
ENV ARCH=arm
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -10,10 +10,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||||
|
@ -124,7 +124,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
|||||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
# This is for compiling binaries for arm routers with uclibc (e.g ddwrt, asuswrt)
|
# This is for compiling binaries for arm routers with uclibc (e.g ddwrt, asuswrt)
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
@ -16,8 +16,8 @@ RUN apt-get update \
|
|||||||
qemu-user-static \
|
qemu-user-static \
|
||||||
&& apt-get clean --yes
|
&& apt-get clean --yes
|
||||||
|
|
||||||
ENV CROSS_TRIPLE arm-unknown-linux-uclibcgnueabi
|
ENV CROSS_TRIPLE=arm-unknown-linux-uclibcgnueabi
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -26,17 +26,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake /usr/lib/${CROSS_ROOT}/
|
COPY Toolchain.cmake /usr/lib/${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/{CROSS_ROOT}/pkgconfig/
|
ENV PKG_CONFIG_PATH=/usr/lib/{CROSS_ROOT}/pkgconfig/
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm
|
ENV ARCH=arm
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -7,7 +7,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
|||||||
# VFP instructions (armhf).
|
# VFP instructions (armhf).
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
@ -22,8 +22,8 @@ RUN apt-get update \
|
|||||||
|
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
||||||
ENV CROSS_TRIPLE armv5-unknown-linux-gnueabi
|
ENV CROSS_TRIPLE=armv5-unknown-linux-gnueabi
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -32,17 +32,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabi/pkgconfig
|
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabi/pkgconfig
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm
|
ENV ARCH=arm
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
|||||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
# This is for 32-bit ARMv6 Linux
|
# This is for 32-bit ARMv6 Linux
|
||||||
# Raspberry Pi is ARMv6+VFP2
|
# Raspberry Pi is ARMv6+VFP2
|
||||||
@ -19,8 +19,8 @@ RUN apt-get update \
|
|||||||
|
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "armv6-unknown-linux-gnueabihf" target.
|
# The CROSS_TRIPLE is a configured alias of the "armv6-unknown-linux-gnueabihf" target.
|
||||||
ENV CROSS_TRIPLE armv6-unknown-linux-gnueabihf
|
ENV CROSS_TRIPLE=armv6-unknown-linux-gnueabihf
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -29,17 +29,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm
|
ENV ARCH=arm
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -1,13 +1,16 @@
|
|||||||
ARG ORG=dockcross
|
ARG ORG=dockcross
|
||||||
FROM ${ORG}/base:latest
|
FROM ${ORG}/base:latest
|
||||||
|
|
||||||
ENV XCC_PREFIX /usr/xcc
|
ENV XCC_PREFIX=/usr/xcc
|
||||||
ENV CROSS_TRIPLE armv6-linux-musleabihf
|
ENV CROSS_TRIPLE=armv6-linux-musleabihf
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
||||||
|
|
||||||
RUN mkdir -p ${XCC_PREFIX}
|
RUN mkdir -p ${XCC_PREFIX}
|
||||||
RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
# RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
||||||
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
# RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
||||||
|
# Mirrored for reliability
|
||||||
|
RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||||
|
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||||
|
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
@ -18,12 +21,12 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm
|
ENV ARCH=arm
|
||||||
|
|
||||||
# Build-time metadata as defined at http://label-schema.org
|
# Build-time metadata as defined at http://label-schema.org
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@ -37,4 +40,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
|
|||||||
org.label-schema.vcs-ref=$VCS_REF \
|
org.label-schema.vcs-ref=$VCS_REF \
|
||||||
org.label-schema.vcs-url=$VCS_URL \
|
org.label-schema.vcs-url=$VCS_URL \
|
||||||
org.label-schema.schema-version="1.0"
|
org.label-schema.schema-version="1.0"
|
||||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||||
|
@ -11,7 +11,7 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
|||||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
# This is for 32-bit ARMv6 Linux
|
# This is for 32-bit ARMv6 Linux
|
||||||
# Raspberry Pi is ARMv6+VFP2
|
# Raspberry Pi is ARMv6+VFP2
|
||||||
@ -19,8 +19,8 @@ RUN apt-get update \
|
|||||||
|
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "armv6-unknown-linux-gnueabihf" target.
|
# The CROSS_TRIPLE is a configured alias of the "armv6-unknown-linux-gnueabihf" target.
|
||||||
ENV CROSS_TRIPLE armv6-unknown-linux-gnueabihf
|
ENV CROSS_TRIPLE=armv6-unknown-linux-gnueabihf
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -29,17 +29,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm
|
ENV ARCH=arm
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -10,10 +10,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
|||||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
# This is for 32-bit ARMv7 Linux
|
# This is for 32-bit ARMv7 Linux
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
@ -18,8 +18,8 @@ RUN apt-get update \
|
|||||||
|
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "armv7-unknown-linux-gnueabi" target.
|
# The CROSS_TRIPLE is a configured alias of the "armv7-unknown-linux-gnueabi" target.
|
||||||
ENV CROSS_TRIPLE armv7-unknown-linux-gnueabi
|
ENV CROSS_TRIPLE=armv7-unknown-linux-gnueabi
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -28,17 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm
|
ENV ARCH=arm
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
|||||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
# This is for 32-bit ARMv7 Linux
|
# This is for 32-bit ARMv7 Linux
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
@ -18,8 +18,8 @@ RUN apt-get update \
|
|||||||
|
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
||||||
ENV CROSS_TRIPLE armv7-unknown-linux-gnueabi
|
ENV CROSS_TRIPLE=armv7-unknown-linux-gnueabi
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -28,17 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm
|
ENV ARCH=arm
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -7,7 +7,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
|||||||
|
|
||||||
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
|
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
|
||||||
# crosstool-ng 1.25.0
|
# crosstool-ng 1.25.0
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
@ -20,9 +20,9 @@ RUN apt-get update \
|
|||||||
|
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
||||||
ENV CROSS_TRIPLE arm-cortexa8_neon-linux-gnueabihf
|
ENV CROSS_TRIPLE=arm-cortexa8_neon-linux-gnueabihf
|
||||||
|
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/linux-armv7a
|
ENV DEFAULT_DOCKCROSS_IMAGE=dockcross/linux-armv7a
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/pkgconfig
|
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm
|
ENV ARCH=arm
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||||
|
@ -116,7 +116,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -6,7 +6,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
|||||||
# This is for 32-bit ARMv7 Linux
|
# This is for 32-bit ARMv7 Linux
|
||||||
|
|
||||||
# Crosstool-ng version 2024-05-21
|
# Crosstool-ng version 2024-05-21
|
||||||
ENV CT_VERSION crosstool-ng-1.26.0
|
ENV CT_VERSION=crosstool-ng-1.26.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
@ -19,9 +19,9 @@ RUN apt-get update \
|
|||||||
|
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
||||||
#ENV CROSS_TRIPLE armv7-unknown-linux-gnueabi
|
#ENV CROSS_TRIPLE=armv7-unknown-linux-gnueabi
|
||||||
ENV CROSS_TRIPLE arm-cortexa8_neon-linux-gnueabihf
|
ENV CROSS_TRIPLE=arm-cortexa8_neon-linux-gnueabihf
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -30,19 +30,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/linux-armv7a
|
ENV DEFAULT_DOCKCROSS_IMAGE=dockcross/linux-armv7a
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm
|
ENV ARCH=arm
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -1,13 +1,16 @@
|
|||||||
ARG ORG=dockcross
|
ARG ORG=dockcross
|
||||||
FROM ${ORG}/base:latest
|
FROM ${ORG}/base:latest
|
||||||
|
|
||||||
ENV XCC_PREFIX /usr/xcc
|
ENV XCC_PREFIX=/usr/xcc
|
||||||
ENV CROSS_TRIPLE armv7l-linux-musleabihf
|
ENV CROSS_TRIPLE=armv7l-linux-musleabihf
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
||||||
|
|
||||||
RUN mkdir -p ${XCC_PREFIX}
|
RUN mkdir -p ${XCC_PREFIX}
|
||||||
RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
# RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
||||||
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
# RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
||||||
|
# Mirrored for reliability
|
||||||
|
RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||||
|
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||||
|
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
@ -18,12 +21,12 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH arm
|
ENV ARCH=arm
|
||||||
|
|
||||||
# Build-time metadata as defined at http://label-schema.org
|
# Build-time metadata as defined at http://label-schema.org
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@ -37,4 +40,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
|
|||||||
org.label-schema.vcs-ref=$VCS_REF \
|
org.label-schema.vcs-ref=$VCS_REF \
|
||||||
org.label-schema.vcs-url=$VCS_URL \
|
org.label-schema.vcs-url=$VCS_URL \
|
||||||
org.label-schema.schema-version="1.0"
|
org.label-schema.schema-version="1.0"
|
||||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||||
|
@ -11,7 +11,7 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
@ -6,7 +6,7 @@ LABEL maintainer="PJ Reid PJ.Reid@Zetier.com"
|
|||||||
# This is for 32-bit (i686) intel/amd devices
|
# This is for 32-bit (i686) intel/amd devices
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
@ -18,9 +18,9 @@ RUN apt-get update \
|
|||||||
&& apt-get clean --yes
|
&& apt-get clean --yes
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "i686-linux-gnu" target.
|
# The CROSS_TRIPLE is a configured alias of the "i686-linux-gnu" target.
|
||||||
ENV CROSS_TRIPLE i686-linux-gnu
|
ENV CROSS_TRIPLE=i686-linux-gnu
|
||||||
|
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -29,15 +29,15 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH i686
|
ENV ARCH=i686
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -9,10 +9,10 @@ set(CMAKE_C_COMPILER $ENV{CC})
|
|||||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||||
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-x86_64 -cpu qemu32)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-x86_64 -cpu qemu32)
|
||||||
|
@ -119,7 +119,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -4,13 +4,13 @@ FROM ${ORG}/base:latest
|
|||||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
ARG QEMU_VERSION=6.0.0
|
ARG QEMU_VERSION=6.0.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
ENV CROSS_TRIPLE m68k-unknown-uclinux-uclibc
|
ENV CROSS_TRIPLE=m68k-unknown-uclinux-uclibc
|
||||||
|
|
||||||
WORKDIR /usr/src
|
WORKDIR /usr/src
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
|
|||||||
make install && \
|
make install && \
|
||||||
cd .. && rm -rf qemu-${QEMU_VERSION}
|
cd .. && rm -rf qemu-${QEMU_VERSION}
|
||||||
|
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
WORKDIR /work
|
WORKDIR /work
|
||||||
|
|
||||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/mk68-unknown-linux-uclibc/pkgconfig
|
ENV PKG_CONFIG_PATH=/usr/lib/mk68-unknown-linux-uclibc/pkgconfig
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH powerpc
|
ENV ARCH=powerpc
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -6,7 +6,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
|||||||
# This is for 32-bit Big-Endian MIPS devices with hard floating point enabled
|
# This is for 32-bit Big-Endian MIPS devices with hard floating point enabled
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
@ -18,9 +18,9 @@ RUN apt-get update \
|
|||||||
&& apt-get clean --yes
|
&& apt-get clean --yes
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-gnu" target.
|
# The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-gnu" target.
|
||||||
ENV CROSS_TRIPLE mips-unknown-linux-gnu
|
ENV CROSS_TRIPLE=mips-unknown-linux-gnu
|
||||||
|
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -29,15 +29,15 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH mips
|
ENV ARCH=mips
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -9,10 +9,10 @@ set(CMAKE_C_COMPILER $ENV{CC})
|
|||||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||||
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips)
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -5,7 +5,7 @@ LABEL maintainer="Rene Helmke rene.helmke@fkie.fraunhofer.de"
|
|||||||
# This is for 32-bit Big-Endian MIPS devices with hard floating point enabled and uclibc.
|
# This is for 32-bit Big-Endian MIPS devices with hard floating point enabled and uclibc.
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
@ -17,9 +17,9 @@ RUN apt-get update \
|
|||||||
&& apt-get clean --yes
|
&& apt-get clean --yes
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-uclibc" target.
|
# The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-uclibc" target.
|
||||||
ENV CROSS_TRIPLE mips-unknown-linux-uclibc
|
ENV CROSS_TRIPLE=mips-unknown-linux-uclibc
|
||||||
|
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -28,17 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/mips-linux-uclibc/
|
ENV PKG_CONFIG_PATH=/usr/lib/mips-linux-uclibc/
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH mips
|
ENV ARCH=mips
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips)
|
||||||
|
@ -121,7 +121,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -6,7 +6,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
|||||||
# This is for 32-bit Big-Endian MIPS devices with hard floating point enabled
|
# This is for 32-bit Big-Endian MIPS devices with hard floating point enabled
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
@ -18,9 +18,9 @@ RUN apt-get update \
|
|||||||
&& apt-get clean --yes
|
&& apt-get clean --yes
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-gnu" target.
|
# The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-gnu" target.
|
||||||
ENV CROSS_TRIPLE mips-unknown-linux-gnu
|
ENV CROSS_TRIPLE=mips-unknown-linux-gnu
|
||||||
|
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -29,15 +29,15 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH mips
|
ENV ARCH=mips
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -9,10 +9,10 @@ set(CMAKE_C_COMPILER $ENV{CC})
|
|||||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||||
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips)
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
|||||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
# This is for 32-bit or 64-bit mipsel Linux (multilib)
|
# This is for 32-bit or 64-bit mipsel Linux (multilib)
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
@ -18,8 +18,8 @@ RUN apt-get update \
|
|||||||
|
|
||||||
|
|
||||||
# The CROSS_TRIPLE is a configured alias of the "mipsel-unknown-linux-gnu" target.
|
# The CROSS_TRIPLE is a configured alias of the "mipsel-unknown-linux-gnu" target.
|
||||||
ENV CROSS_TRIPLE mipsel-unknown-linux-gnu
|
ENV CROSS_TRIPLE=mipsel-unknown-linux-gnu
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -28,17 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/mipsel-unknown-linux-gnu/
|
ENV PKG_CONFIG_PATH=/usr/lib/mipsel-unknown-linux-gnu/
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH mipsel
|
ENV ARCH=mipsel
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mipsel)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mipsel)
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -4,13 +4,13 @@ FROM ${ORG}/base:latest
|
|||||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com and Fancy2209"
|
LABEL maintainer="Matt McCormick matt@mmmccormick.com and Fancy2209"
|
||||||
|
|
||||||
# Crosstool-ng version 2024-08-04
|
# Crosstool-ng version 2024-08-04
|
||||||
ENV CT_VERSION crosstool-ng-1.26.0
|
ENV CT_VERSION=crosstool-ng-1.26.0
|
||||||
|
|
||||||
ARG QEMU_VERSION=6.0.0
|
ARG QEMU_VERSION=6.0.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
ENV CROSS_TRIPLE powerpc-unknown-linux-gnu
|
ENV CROSS_TRIPLE=powerpc-unknown-linux-gnu
|
||||||
|
|
||||||
WORKDIR /usr/src
|
WORKDIR /usr/src
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
|
|||||||
make install && \
|
make install && \
|
||||||
cd .. && rm -rf qemu-${QEMU_VERSION}
|
cd .. && rm -rf qemu-${QEMU_VERSION}
|
||||||
|
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
WORKDIR /work
|
WORKDIR /work
|
||||||
|
|
||||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/powerpc-unknown-linux-gnu/pkgconfig
|
ENV PKG_CONFIG_PATH=/usr/lib/powerpc-unknown-linux-gnu/pkgconfig
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH powerpc
|
ENV ARCH=powerpc
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-ppc)
|
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-ppc)
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -4,13 +4,13 @@ FROM ${ORG}/base:latest
|
|||||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||||
|
|
||||||
# Crosstool-ng version 2023-09-21
|
# Crosstool-ng version 2023-09-21
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
ARG QEMU_VERSION=6.0.0
|
ARG QEMU_VERSION=6.0.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
ENV CROSS_TRIPLE powerpc64le-unknown-linux-gnu
|
ENV CROSS_TRIPLE=powerpc64le-unknown-linux-gnu
|
||||||
|
|
||||||
WORKDIR /usr/src
|
WORKDIR /usr/src
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
|
|||||||
make install && \
|
make install && \
|
||||||
cd .. && rm -rf qemu-${QEMU_VERSION}
|
cd .. && rm -rf qemu-${QEMU_VERSION}
|
||||||
|
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
WORKDIR /work
|
WORKDIR /work
|
||||||
|
|
||||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/powerpc64le-unknown-linux-gnu/pkgconfig
|
ENV PKG_CONFIG_PATH=/usr/lib/powerpc64le-unknown-linux-gnu/pkgconfig
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH powerpc
|
ENV ARCH=powerpc
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -4,13 +4,13 @@ FROM ${ORG}/base:latest
|
|||||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||||
|
|
||||||
# Crosstool-ng version 2024-08-04
|
# Crosstool-ng version 2024-08-04
|
||||||
ENV CT_VERSION crosstool-ng-1.26.0
|
ENV CT_VERSION=crosstool-ng-1.26.0
|
||||||
|
|
||||||
ARG QEMU_VERSION=6.0.0
|
ARG QEMU_VERSION=6.0.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
ENV CROSS_TRIPLE powerpc64le-unknown-linux-gnu
|
ENV CROSS_TRIPLE=powerpc64le-unknown-linux-gnu
|
||||||
|
|
||||||
WORKDIR /usr/src
|
WORKDIR /usr/src
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
|
|||||||
make install && \
|
make install && \
|
||||||
cd .. && rm -rf qemu-${QEMU_VERSION}
|
cd .. && rm -rf qemu-${QEMU_VERSION}
|
||||||
|
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
WORKDIR /work
|
WORKDIR /work
|
||||||
|
|
||||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/powerpc64le-unknown-linux-gnu/pkgconfig
|
ENV PKG_CONFIG_PATH=/usr/lib/powerpc64le-unknown-linux-gnu/pkgconfig
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH powerpc
|
ENV ARCH=powerpc
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
@ -4,13 +4,13 @@ FROM ${ORG}/base:latest
|
|||||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||||
|
|
||||||
# Crosstool-ng version 2022-05-19
|
# Crosstool-ng version 2022-05-19
|
||||||
ENV CT_VERSION crosstool-ng-1.25.0
|
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||||
|
|
||||||
ARG QEMU_VERSION=6.0.0
|
ARG QEMU_VERSION=6.0.0
|
||||||
|
|
||||||
#include "common.crosstool"
|
#include "common.crosstool"
|
||||||
|
|
||||||
ENV CROSS_TRIPLE riscv32-unknown-linux-gnu
|
ENV CROSS_TRIPLE=riscv32-unknown-linux-gnu
|
||||||
|
|
||||||
WORKDIR /usr/src
|
WORKDIR /usr/src
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
|
|||||||
make install && \
|
make install && \
|
||||||
cd .. && rm -rf qemu-${QEMU_VERSION}
|
cd .. && rm -rf qemu-${QEMU_VERSION}
|
||||||
|
|
||||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||||
@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
|||||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||||
|
|
||||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||||
|
|
||||||
WORKDIR /work
|
WORKDIR /work
|
||||||
|
|
||||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||||
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/riscv32-unknown-linux-gnu/pkgconfig
|
ENV PKG_CONFIG_PATH=/usr/lib/riscv32-unknown-linux-gnu/pkgconfig
|
||||||
|
|
||||||
# Linux kernel cross compilation variables
|
# Linux kernel cross compilation variables
|
||||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||||
ENV ARCH riscv32
|
ENV ARCH=riscv32
|
||||||
|
|
||||||
#include "common.label-and-env"
|
#include "common.label-and-env"
|
||||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
|||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||||
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||||
|
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ CT_LOG_EXTRA=y
|
|||||||
# CT_LOG_DEBUG is not set
|
# CT_LOG_DEBUG is not set
|
||||||
CT_LOG_LEVEL_MAX="EXTRA"
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
CT_LOG_PROGRESS_BAR=y
|
CT_LOG_PROGRESS_BAR=n
|
||||||
CT_LOG_TO_FILE=y
|
CT_LOG_TO_FILE=y
|
||||||
CT_LOG_FILE_COMPRESS=y
|
CT_LOG_FILE_COMPRESS=y
|
||||||
# end of Paths and misc options
|
# end of Paths and misc options
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user