Compare commits

...

18 Commits

Author SHA1 Message Date
9185a2da28 Fix musl
Fix musl

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2022-09-13 12:40:53 +02:00
e88a3ceab3 Update android ndk to r25b and api to 33 2022-09-06 15:55:20 +02:00
94a5003362 DOC: Fix links associated with retired images 2022-07-07 15:05:39 -04:00
ada2c8dad6 Add manylinux_2_28-x64 and retire manylinux_2_24-x64
Replaces manylinux_2_24 (which has been deprecated).

Based on AlmaLinux (RedHat-based) and GCC 11.

Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
2022-07-06 22:51:46 -04:00
dd849908aa Add manylinux_2_24-x64 image 2022-07-06 22:51:46 -04:00
e76f24e120 Anticipate update renaming common.manylinux to common.manylinux2014 2022-07-06 22:51:46 -04:00
bf8b0b5925 ci: Remove invalid "required" keyword associated with actions/download-artifact
This commit fixes the following error introduced by adb85d69c (ci: Make
cache download optional):

  Unexpected input(s) 'required', valid inputs are ['name', 'path']
2022-07-06 22:51:46 -04:00
d45d925ee6 Merge pull request #710 from thewtex/mac-m1
dockcross-script: Specify --platform flag
2022-07-02 12:29:51 -04:00
4be1879bd5 Merge pull request #707 from chent11/fix_newlib_bug
fix the newlib configuration bug
2022-07-02 12:29:28 -04:00
0f402e0c75 dockcross-script: Specify --platform flag
All images built for a linux/amd64 host.

Addresses warning when running an Apple M1:

  WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
2022-07-01 18:13:58 -04:00
71ec6c1569 fix the newlib configuration bug 2022-06-27 16:02:23 +09:00
49941dadca Merge pull request #676 from chent11/bare-armv7emhf-nano_newlib
Add bare-armv7emhf-nano_newlib
2022-06-20 13:55:00 -04:00
79c8aafe1e modify test repo 2022-06-20 20:23:45 +09:00
acdeffa51b add a new test repo, modify some GCC configs, and upgrade crosstool-ng to 1.25.0 2022-06-19 01:57:50 +09:00
0ea32fc1ed Add bare-armv7emhf-nano_newlib 2022-06-14 20:41:25 +09:00
21326cc851 Merge pull request #693 from bensuperpc/update_scripts_2
Update scripts and software
2022-06-11 21:08:17 -04:00
4c18b1d865 Merge pull request #704 from thewtex/emscripten-bump
web-wasm: Bump emscripten to 3.1.13
2022-06-11 00:19:06 +02:00
45e145163c web-wasm: Bump emscripten to 3.1.13 2022-06-09 20:50:27 -04:00
21 changed files with 1126 additions and 31 deletions

View File

@ -771,6 +771,24 @@ jobs:
cpython: "no", cpython: "no",
cpython_arg: "", cpython_arg: "",
} }
# manylinux_2_28 images
- {
image: "manylinux_2_28-x64",
stockfish: "yes",
stockfish_arg: "ARCH=x86-64-modern",
ninja: "yes",
ninja_arg: "",
openssl: "yes",
openssl_arg: "linux-x86_64",
C: "no",
C_arg: "",
C-Plus-Plus: "no",
C-Plus-Plus_arg: "",
fmt: "yes",
fmt_arg: "",
cpython: "yes",
cpython_arg: "",
}
# manylinux2014 images # manylinux2014 images
- { - {
image: "manylinux2014-x86", image: "manylinux2014-x86",
@ -858,6 +876,28 @@ jobs:
cpython: "no", cpython: "no",
cpython_arg: "", cpython_arg: "",
} }
# Bare metal images
- {
image: "bare-armv7emhf-nano_newlib",
stockfish: "no",
stockfish_arg: "",
ninja: "no",
ninja_arg: "",
openssl: "no",
openssl_arg: "",
C: "no",
C_arg: "",
C-Plus-Plus: "no",
C-Plus-Plus_arg: "",
fmt: "no",
fmt_arg: "",
cpython: "no",
cpython_arg: "",
mbedtls: "yes",
mbedtls_arg: "",
libopencm3: "yes",
libopencm3_arg: "",
}
steps: steps:
- name: checkout code - name: checkout code
uses: actions/checkout@v3 uses: actions/checkout@v3
@ -869,7 +909,6 @@ jobs:
with: with:
name: cache name: cache
path: ./cache path: ./cache
required: false
- name: load base - name: load base
run: xz -d -k < ./cache/base.tar.xz | docker load run: xz -d -k < ./cache/base.tar.xz | docker load
@ -955,6 +994,34 @@ jobs:
cd .. cd ..
rm -rf cpython rm -rf cpython
# Updated on 31/3/2022
- name: mbedtls build test
if: ${{ matrix.arch_name.mbedtls == 'yes' }}
run: |
git clone --depth 1 --branch archive/baremetal https://github.com/Mbed-TLS/mbedtls.git
cd mbedtls
./../tools/dockcross-command.sh ${{ matrix.arch_name.image }} scripts/config.pl baremetal
./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.fmt_arg }}
cd ..
rm -rf mbedtls
# Updated on 20/6/2022
- name: libopencm3 build test
if: ${{ matrix.arch_name.libopencm3 == 'yes' }}
run: |
git clone https://github.com/libopencm3/libopencm3.git
cd libopencm3
git checkout 467522778329d6f41781a6c951b77d6ff6744de6
./../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} "PREFIX=/usr/xcc/arm-none-eabi/bin/arm-none-eabi- \
TARGETS='stm32/f1 stm32/f2 stm32/f3 stm32/f4 stm32/f7 \
stm32/l1 stm32/l4 stm32/g4 stm32/h7 gd32/f1x0 lpc13xx \
lpc17xx lpc43xx/m4 lm3s lm4f msp432/e4 efm32/tg efm32/g \
efm32/lg efm32/gg efm32/wg efm32/ezr32wg nrf/51 nrf/52 \
sam/3a sam/3n sam/3s sam/3u sam/3x sam/4l vf6xx pac55xx' \
-j`nproc`"
cd ..
rm -rf libopencm3
- name: deploy - name: deploy
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'
run: | run: |

View File

@ -21,11 +21,13 @@ STANDARD_IMAGES = android-arm android-arm64 android-x86 android-x86_64 \
linux-mips linux-mips-lts linux-ppc64le linux-riscv64 linux-riscv32 linux-xtensa-uclibc \ linux-mips linux-mips-lts linux-ppc64le linux-riscv64 linux-riscv32 linux-xtensa-uclibc \
web-wasi \ 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
# Generated Dockerfiles. # Generated Dockerfiles.
GEN_IMAGES = android-arm android-arm64 \ GEN_IMAGES = android-arm android-arm64 \
linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \ linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \
manylinux_2_28-x64 \
manylinux2014-x64 manylinux2014-x86 \ manylinux2014-x64 manylinux2014-x86 \
manylinux2014-aarch64 linux-arm64-lts \ manylinux2014-aarch64 linux-arm64-lts \
web-wasm web-wasi linux-mips linux-mips-lts windows-arm64 windows-armv7 \ web-wasm web-wasi linux-mips linux-mips-lts windows-arm64 windows-armv7 \
@ -34,16 +36,17 @@ GEN_IMAGES = android-arm android-arm64 \
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 \
linux-armv6 linux-armv6-lts linux-armv6-musl linux-mipsel-lts \ linux-armv6 linux-armv6-lts linux-armv6-musl linux-mipsel-lts \
linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-ppc64le linux-s390x \ linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-ppc64le linux-s390x \
linux-riscv64 linux-riscv32 linux-m68k-uclibc linux-x64-tinycc linux-xtensa-uclibc linux-riscv64 linux-riscv32 linux-m68k-uclibc linux-x64-tinycc linux-xtensa-uclibc \
bare-armv7emhf-nano_newlib
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 = manylinux2014-x64 manylinux2014-x86 \ NON_STANDARD_IMAGES = manylinux_2_28-x64 manylinux2014-x64 manylinux2014-x86 \
manylinux2014-aarch64 web-wasm manylinux2014-aarch64 web-wasm
# Docker composite files # Docker composite files
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux common.buildroot \ DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.buildroot \
common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \ common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \
common.label-and-env common.label-and-env
DOCKER_COMPOSITE_FOLDER_PATH = common/ DOCKER_COMPOSITE_FOLDER_PATH = common/
@ -60,6 +63,7 @@ windows-static-x64-posix.test_ARGS = --exe-suffix ".exe"
windows-shared-x86.test_ARGS = --exe-suffix ".exe" windows-shared-x86.test_ARGS = --exe-suffix ".exe"
windows-shared-x64.test_ARGS = --exe-suffix ".exe" windows-shared-x64.test_ARGS = --exe-suffix ".exe"
windows-shared-x64-posix.test_ARGS = --exe-suffix ".exe" windows-shared-x64-posix.test_ARGS = --exe-suffix ".exe"
bare-armv7emhf-nano_newlib.test_ARGS = --linker-flags="--specs=nosys.specs"
# On CircleCI, do not attempt to delete container # On CircleCI, do not attempt to delete container
# See https://circleci.com/docs/docker-btrfs-error/ # See https://circleci.com/docs/docker-btrfs-error/
@ -95,7 +99,8 @@ $(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOS
sed \ sed \
-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/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux' \ -e '/common.manylinux_2_28/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_28' \
-e '/common.manylinux2014/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux2014' \
-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \ -e '/common.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' \
-e '/common-manylinux.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common-manylinux.crosstool' \ -e '/common-manylinux.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common-manylinux.crosstool' \
@ -152,6 +157,25 @@ manylinux2014-aarch64.test: manylinux2014-aarch64
&& chmod +x $(BIN)/dockcross-manylinux2014-aarch64 && chmod +x $(BIN)/dockcross-manylinux2014-aarch64
$(BIN)/dockcross-manylinux2014-aarch64 /opt/python/cp38-cp38/bin/python test/run.py $(BIN)/dockcross-manylinux2014-aarch64 /opt/python/cp38-cp38/bin/python test/run.py
#
# manylinux_2_28-x64
#
manylinux_2_28-x64: manylinux_2_28-x64/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(DOCKER) build -t $(ORG)/manylinux_2_28-x64:latest \
-t $(ORG)/manylinux_2_28-x64:$(TAG) \
--build-arg IMAGE=$(ORG)/manylinux_2_28-x64 \
--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_28-x64/Dockerfile .
rm -rf $@/imagefiles
manylinux_2_28-x64.test: manylinux_2_28-x64
$(DOCKER) run $(RM) $(ORG)/manylinux_2_28-x64 > $(BIN)/dockcross-manylinux_2_28-x64 \
&& chmod +x $(BIN)/dockcross-manylinux_2_28-x64
$(BIN)/dockcross-manylinux_2_28-x64 /opt/python/cp310-cp310/bin/python test/run.py
# #
# manylinux2014-x64 # manylinux2014-x64
# #
@ -190,6 +214,9 @@ manylinux2014-x86.test: manylinux2014-x86
&& chmod +x $(BIN)/dockcross-manylinux2014-x86 && chmod +x $(BIN)/dockcross-manylinux2014-x86
$(BIN)/dockcross-manylinux2014-x86 /opt/python/cp38-cp38/bin/python test/run.py $(BIN)/dockcross-manylinux2014-x86 /opt/python/cp38-cp38/bin/python test/run.py
#
# base
#
base: Dockerfile imagefiles/ base: Dockerfile imagefiles/
$(DOCKER) build -t $(ORG)/base:latest \ $(DOCKER) build -t $(ORG)/base:latest \
-t $(ORG)/base:$(TAG) \ -t $(ORG)/base:$(TAG) \

View File

@ -108,6 +108,7 @@ The dockcross script will execute the given command-line inside the container, a
| dockcross/linux-riscv64 | riscv64 | GCC | Linux | | dockcross/linux-riscv64 | riscv64 | GCC | Linux |
| 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/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-x86 | x86 | GCC | Linux | | dockcross/linux-x86 | x86 | GCC | Linux |
@ -130,17 +131,20 @@ The list of docker images that are **no longer maintained**.
| Image name | Target arch | Compiler | Target OS | End of life (EOL) | | Image name | Target arch | Compiler | Target OS | End of life (EOL) |
|:-------:|:--------:|:------:|:-----:|:-----:| |:-------:|:--------:|:------:|:-----:|:-----:|
| dockcross/manylinux-x86 | x86 | GCC | manylinux | [2019-05-22](1e0e89814) | | dockcross/manylinux-x86 | x86 | GCC | manylinux | [2019-05-22][1e0e89814] |
| dockcross/manylinux-x64 | x86 | GCC | manylinux | [2019-05-22](1e0e89814) | | dockcross/manylinux-x64 | x86 | GCC | manylinux | [2019-05-22][1e0e89814] |
| dockcross/linux-mipsel | mipsel | GCC 4.9 | Debian 8 | [2021-06-27](a30e76d5c) | | dockcross/linux-mipsel | mipsel | GCC 4.9 | Debian 8 | [2021-06-27][a30e76d5c] |
| dockcross/manylinux1-x86 | x86 | GCC | manylinux | [2021-08-05](54f73cbb6) | | dockcross/manylinux1-x86 | x86 | GCC | manylinux | [2021-08-05][54f73cbb6] |
| dockcross/manylinux1-x64 | x86_64 | GCC| manylinux | [2021-08-05](54f73cbb6) | | dockcross/manylinux1-x64 | x86_64 | GCC| manylinux | [2021-08-05][54f73cbb6] |
| dockcross/manylinux2010-x86 | x86 | GCC | manylinux | [2021-08-05](54f73cbb6) | | dockcross/manylinux2010-x86 | x86 | GCC | manylinux | [2021-08-05][54f73cbb6] |
| dockcross/manylinux2010-x64 | x86_64 | GCC | manylinux | [2021-08-05](54f73cbb6) | | dockcross/manylinux2010-x64 | x86_64 | GCC | manylinux | [2021-08-05][54f73cbb6] |
| dockcross/manylinux_2_24-x64 | x86_64 | GCC | manylinux | [2022-07-05][ada2c8dad], [pypa/manylinux#1332][manylinux_2_24-eol] |
[1e0e89814]: https://github.com/dockcross/dockcross/commit/1e0e89814 [1e0e89814]: https://github.com/dockcross/dockcross/commit/1e0e89814
[a30e76d5c]: https://github.com/dockcross/dockcross/commit/a30e76d5c [a30e76d5c]: https://github.com/dockcross/dockcross/commit/a30e76d5c
[54f73cbb6]: https://github.com/dockcross/dockcross/commit/54f73cbb6 [54f73cbb6]: https://github.com/dockcross/dockcross/commit/54f73cbb6
[ada2c8dad]: https://github.com/dockcross/dockcross/commit/ada2c8dad
[manylinux_2_24-eol]: https://github.com/pypa/manylinux/issues/1332#issuecomment-1157666846
## Cross compilers ## Cross compilers
@ -347,6 +351,12 @@ Linux i686 cross compiler.
Linux tcc compiler for C compiler, and GCC for C++ compiler, for linux x86_64/amd64 arch. Linux tcc compiler for C compiler, and GCC for C++ compiler, for linux x86_64/amd64 arch.
### dockcross/manylinux_2_28-x64
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/manylinux_2_28-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/manylinux_2_28-x64)
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/manylinux2014-x64 ### dockcross/manylinux2014-x64
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/manylinux2014-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/manylinux2014-x64) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/manylinux2014-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/manylinux2014-x64)

View File

@ -16,8 +16,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 23 ENV ANDROID_NDK_REVISION 25b
ENV ANDROID_NDK_API 23 ENV ANDROID_API 33
RUN mkdir -p /build && \ RUN mkdir -p /build && \
cd /build && \ cd /build && \
@ -26,7 +26,7 @@ RUN mkdir -p /build && \
cd android-ndk-r${ANDROID_NDK_REVISION} && \ cd android-ndk-r${ANDROID_NDK_REVISION} && \
./build/tools/make_standalone_toolchain.py \ ./build/tools/make_standalone_toolchain.py \
--arch arm \ --arch arm \
--api ${ANDROID_NDK_API} \ --api ${ANDROID_API} \
--stl=libc++ \ --stl=libc++ \
--install-dir=${CROSS_ROOT} && \ --install-dir=${CROSS_ROOT} && \
cd / && \ cd / && \

View File

@ -20,8 +20,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 23 ENV ANDROID_NDK_REVISION 25b
ENV ANDROID_NDK_API 23 ENV ANDROID_API 33
RUN mkdir -p /build && \ RUN mkdir -p /build && \
cd /build && \ cd /build && \
@ -30,7 +30,7 @@ RUN mkdir -p /build && \
cd android-ndk-r${ANDROID_NDK_REVISION} && \ cd android-ndk-r${ANDROID_NDK_REVISION} && \
./build/tools/make_standalone_toolchain.py \ ./build/tools/make_standalone_toolchain.py \
--arch arm64 \ --arch arm64 \
--api ${ANDROID_NDK_API} \ --api ${ANDROID_API} \
--stl=libc++ \ --stl=libc++ \
--install-dir=${CROSS_ROOT} && \ --install-dir=${CROSS_ROOT} && \
cd / && \ cd / && \

View File

@ -11,8 +11,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
CXX=${CROSS_ROOT}/bin/clang++ \ CXX=${CROSS_ROOT}/bin/clang++ \
LD=${CROSS_ROOT}/bin/ld LD=${CROSS_ROOT}/bin/ld
ENV ANDROID_NDK_REVISION 23 ENV ANDROID_NDK_REVISION 25b
ENV ANDROID_NDK_API 23 ENV ANDROID_API 33
RUN mkdir -p /build && \ RUN mkdir -p /build && \
cd /build && \ cd /build && \
@ -21,7 +21,7 @@ RUN mkdir -p /build && \
cd android-ndk-r${ANDROID_NDK_REVISION} && \ cd android-ndk-r${ANDROID_NDK_REVISION} && \
./build/tools/make_standalone_toolchain.py \ ./build/tools/make_standalone_toolchain.py \
--arch x86 \ --arch x86 \
--api ${ANDROID_NDK_API} \ --api ${ANDROID_API} \
--stl=libc++ \ --stl=libc++ \
--install-dir=${CROSS_ROOT} && \ --install-dir=${CROSS_ROOT} && \
cd / && \ cd / && \

View File

@ -11,8 +11,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
CXX=${CROSS_ROOT}/bin/clang++ \ CXX=${CROSS_ROOT}/bin/clang++ \
LD=${CROSS_ROOT}/bin/ld LD=${CROSS_ROOT}/bin/ld
ENV ANDROID_NDK_REVISION 23 ENV ANDROID_NDK_REVISION 25b
ENV ANDROID_NDK_API 23 ENV ANDROID_API 33
RUN mkdir -p /build && \ RUN mkdir -p /build && \
cd /build && \ cd /build && \
@ -21,7 +21,7 @@ RUN mkdir -p /build && \
cd android-ndk-r${ANDROID_NDK_REVISION} && \ cd android-ndk-r${ANDROID_NDK_REVISION} && \
./build/tools/make_standalone_toolchain.py \ ./build/tools/make_standalone_toolchain.py \
--arch x86_64 \ --arch x86_64 \
--api ${ANDROID_NDK_API} \ --api ${ANDROID_API} \
--stl=libc++ \ --stl=libc++ \
--install-dir=${CROSS_ROOT} && \ --install-dir=${CROSS_ROOT} && \
cd / && \ cd / && \

View File

@ -0,0 +1,34 @@
FROM dockcross/base:latest
LABEL maintainer="Chen Tao t.clydechen@gmail.com"
# This is for armv7e-m+fp bare metal
# Crosstool-ng version 1.25.0
ENV CT_VERSION 8fa98eeeff9bc53478d97ef722f366fea151ae64
#include "common.crosstool"
ENV CROSS_TRIPLE arm-none-eabi
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
SZ=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-size \
OBJCOPY=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-objcopy
COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
ENV PKG_CONFIG_PATH /usr/lib/arm-none-eabi/pkgconfig
# Linux kernel cross compilation variables
ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH arm
#include "common.label-and-env"

View File

@ -0,0 +1,18 @@
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(cross_triple "arm-none-eabi")
set(cross_root /usr/xcc/${cross_triple})
set(CMAKE_C_COMPILER $ENV{CC})
set(CMAKE_CXX_COMPILER $ENV{CXX})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_EXE_LINKER_FLAGS "--specs=nosys.specs" CACHE INTERNAL "")

View File

@ -0,0 +1,869 @@
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.25.0 Configuration
#
CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y
CT_CONFIGURE_has_sha256sum=y
CT_CONFIGURE_has_sha512sum=y
CT_CONFIGURE_has_install_with_strip_program=y
CT_VERSION="1.25.0"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y
#
# Paths and misc options
#
#
# crosstool-NG behavior
#
# CT_OBSOLETE is not set
CT_EXPERIMENTAL=y
CT_ALLOW_BUILD_AS_ROOT=y
CT_ALLOW_BUILD_AS_ROOT_SURE=y
# CT_DEBUG_CT is not set
#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
CT_SAVE_TARBALLS=y
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/.build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
CT_INSTALL_LICENSES=y
CT_PREFIX_DIR_RO=y
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set
#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set
#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_LOCAL is not set
# CT_PATCH_BUNDLED_LOCAL is not set
# CT_PATCH_LOCAL_BUNDLED is not set
# CT_PATCH_NONE is not set
CT_PATCH_ORDER="bundled"
#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD=""
CT_EXTRA_CXXFLAGS_FOR_BUILD=""
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST=""
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"
#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
CT_LOG_EXTRA=y
# CT_LOG_ALL is not set
# CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options
#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
CT_ARCH_ARM=y
# CT_ARCH_AVR is not set
# CT_ARCH_C6X is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MICROBLAZE is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_MOXIE is not set
# CT_ARCH_MSP430 is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_PRU is not set
# CT_ARCH_RISCV is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
# CT_ARCH_X86 is not set
# CT_ARCH_XTENSA is not set
CT_ARCH="arm"
CT_ARCH_CHOICE_KSYM="ARM"
CT_ARCH_CPU=""
CT_ARCH_TUNE=""
CT_ARCH_ARM_SHOW=y
#
# Options for arm
#
CT_ARCH_ARM_PKG_KSYM=""
CT_ARCH_ARM_MODE="thumb"
# CT_ARCH_ARM_MODE_ARM is not set
CT_ARCH_ARM_MODE_THUMB=y
# CT_ARCH_ARM_INTERWORKING is not set
CT_ARCH_ARM_EABI_FORCE=y
CT_ARCH_ARM_EABI=y
# CT_ARCH_ARM_TUPLE_USE_EABIHF is not set
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set
#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_SUPPORTS_BOTH_MMU=y
CT_ARCH_DEFAULT_HAS_MMU=y
# CT_ARCH_USE_MMU is not set
CT_ARCH_SUPPORTS_FLAT_FORMAT=y
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
CT_ARCH_DEFAULT_LE=y
# CT_ARCH_BE is not set
CT_ARCH_LE=y
CT_ARCH_ENDIAN="little"
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=32
CT_ARCH_32=y
# CT_ARCH_64 is not set
#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_SUPPORTS_WITH_FLOAT=y
CT_ARCH_SUPPORTS_WITH_FPU=y
CT_ARCH_SUPPORTS_SOFTFP=y
CT_ARCH_EXCLUSIVE_WITH_CPU=y
CT_ARCH_ARCH="armv7e-m+fp"
CT_ARCH_FPU="fpv4-sp-d16"
# CT_ARCH_FLOAT_AUTO is not set
CT_ARCH_FLOAT_HW=y
# CT_ARCH_FLOAT_SOFTFP is not set
# CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""
CT_ARCH_FLOAT="hard"
# end of Target options
#
# Toolchain options
#
#
# General toolchain options
#
CT_WANTS_STATIC_LINK=y
CT_WANTS_STATIC_LINK_CXX=y
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""
#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR="none"
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""
#
# Toolchain type
#
# CT_NATIVE is not set
CT_CROSS=y
# CT_CROSS_NATIVE is not set
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"
#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""
#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
# end of Toolchain options
#
# Operating System
#
CT_BARE_METAL=y
CT_KERNEL_BARE_METAL=y
# CT_KERNEL_LINUX is not set
CT_KERNEL="bare-metal"
CT_KERNEL_CHOICE_KSYM="BARE_METAL"
CT_KERNEL_BARE_METAL_SHOW=y
#
# Options for bare-metal
#
CT_KERNEL_BARE_METAL_PKG_KSYM=""
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
#
# Common kernel options
#
# end of Operating System
#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
# CT_ARCH_BINFMT_FLAT is not set
# CT_ARCH_BINFMT_FDPIC is not set
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y
#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_LINARO is not set
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
# CT_BINUTILS_SRC_CUSTOM is not set
CT_BINUTILS_PATCH_GLOBAL=y
# CT_BINUTILS_PATCH_BUNDLED is not set
# CT_BINUTILS_PATCH_LOCAL is not set
# CT_BINUTILS_PATCH_BUNDLED_LOCAL is not set
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
# CT_BINUTILS_PATCH_NONE is not set
CT_BINUTILS_PATCH_ORDER="global"
CT_BINUTILS_V_2_38=y
# CT_BINUTILS_V_2_37 is not set
# CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.38"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y
#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_GOLD_SUPPORT=y
CT_BINUTILS_LINKER_LD=y
# CT_BINUTILS_LINKER_GOLD is not set
# CT_BINUTILS_LINKER_LD_GOLD is not set
# CT_BINUTILS_LINKER_GOLD_LD is not set
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities
#
# C-library
#
CT_LIBC_NEWLIB=y
# CT_LIBC_NONE is not set
CT_LIBC="newlib"
CT_LIBC_CHOICE_KSYM="NEWLIB"
CT_THREADS="none"
CT_LIBC_NEWLIB_SHOW=y
#
# Options for newlib
#
CT_LIBC_NEWLIB_PKG_KSYM="NEWLIB"
CT_NEWLIB_DIR_NAME="newlib"
CT_NEWLIB_PKG_NAME="newlib"
CT_NEWLIB_SRC_RELEASE=y
# CT_NEWLIB_SRC_DEVEL is not set
# CT_NEWLIB_SRC_CUSTOM is not set
CT_NEWLIB_PATCH_GLOBAL=y
# CT_NEWLIB_PATCH_BUNDLED is not set
# CT_NEWLIB_PATCH_LOCAL is not set
# CT_NEWLIB_PATCH_BUNDLED_LOCAL is not set
# CT_NEWLIB_PATCH_LOCAL_BUNDLED is not set
# CT_NEWLIB_PATCH_NONE is not set
CT_NEWLIB_PATCH_ORDER="global"
CT_NEWLIB_V_4_1=y
# CT_NEWLIB_V_3_3 is not set
# CT_NEWLIB_V_3_2 is not set
# CT_NEWLIB_V_3_1 is not set
# CT_NEWLIB_V_3_0 is not set
# CT_NEWLIB_V_2_5 is not set
CT_NEWLIB_VERSION="4.1.0"
CT_NEWLIB_MIRRORS="ftp://sourceware.org/pub/newlib"
CT_NEWLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NEWLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NEWLIB_ARCHIVE_FORMATS=".tar.gz"
CT_NEWLIB_SIGNATURE_FORMAT=""
CT_LIBC_NEWLIB_TARGET_CFLAGS=""
CT_LIBC_NEWLIB_IO_C99FMT=y
CT_LIBC_NEWLIB_IO_LL=y
CT_LIBC_NEWLIB_IO_FLOAT=y
# CT_LIBC_NEWLIB_IO_LDBL is not set
# CT_LIBC_NEWLIB_IO_POS_ARGS is not set
# CT_LIBC_NEWLIB_FVWRITE_IN_STREAMIO is not set
# CT_LIBC_NEWLIB_UNBUF_STREAM_OPT is not set
# CT_LIBC_NEWLIB_FSEEK_OPTIMIZATION is not set
CT_LIBC_NEWLIB_DISABLE_SUPPLIED_SYSCALLS=y
# CT_LIBC_NEWLIB_REGISTER_FINI is not set
# CT_LIBC_NEWLIB_ATEXIT_DYNAMIC_ALLOC is not set
# CT_LIBC_NEWLIB_GLOBAL_ATEXIT is not set
CT_LIBC_NEWLIB_LITE_EXIT=y
CT_LIBC_NEWLIB_REENT_SMALL=y
# CT_LIBC_NEWLIB_MULTITHREAD is not set
# CT_LIBC_NEWLIB_RETARGETABLE_LOCKING is not set
CT_LIBC_NEWLIB_EXTRA_SECTIONS=y
CT_LIBC_NEWLIB_WIDE_ORIENT=y
CT_LIBC_NEWLIB_ENABLE_TARGET_OPTSPACE=y
# CT_LIBC_NEWLIB_LTO is not set
CT_LIBC_NEWLIB_NANO_MALLOC=y
CT_LIBC_NEWLIB_NANO_FORMATTED_IO=y
CT_LIBC_NEWLIB_EXTRA_CONFIG_ARRAY=""
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_NONE=y
CT_LIBC_PROVIDES_CXA_ATEXIT=y
#
# Common C library options
#
CT_THREADS_NONE=y
# end of C-library
#
# C compiler
#
CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y
#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
# CT_GCC_USE_LINARO is not set
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
# CT_GCC_SRC_CUSTOM is not set
CT_GCC_PATCH_GLOBAL=y
# CT_GCC_PATCH_BUNDLED is not set
# CT_GCC_PATCH_LOCAL is not set
# CT_GCC_PATCH_BUNDLED_LOCAL is not set
# CT_GCC_PATCH_LOCAL_BUNDLED is not set
# CT_GCC_PATCH_NONE is not set
CT_GCC_PATCH_ORDER="global"
CT_GCC_V_11=y
# CT_GCC_V_10 is not set
# CT_GCC_V_9 is not set
# CT_GCC_V_8 is not set
# CT_GCC_V_7 is not set
# CT_GCC_V_6 is not set
# CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set
CT_GCC_VERSION="11.2.0"
CT_GCC_MIRRORS="$(CT_Mirrors GNU gcc/gcc-${CT_GCC_VERSION}) $(CT_Mirrors sourceware gcc/releases/gcc-${CT_GCC_VERSION})"
CT_GCC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GCC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GCC_SIGNATURE_FORMAT=""
CT_GCC_later_than_11=y
CT_GCC_11_or_later=y
CT_GCC_later_than_10=y
CT_GCC_10_or_later=y
CT_GCC_later_than_9=y
CT_GCC_9_or_later=y
CT_GCC_later_than_8=y
CT_GCC_8_or_later=y
CT_GCC_later_than_7=y
CT_GCC_7_or_later=y
CT_GCC_later_than_6=y
CT_GCC_6_or_later=y
CT_GCC_later_than_5=y
CT_GCC_5_or_later=y
CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y
CT_CC_GCC_ENABLE_PLUGINS=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_STATIC_LIBSTDCXX=y
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m
#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
CT_CC_GCC_LTO_ZSTD=m
#
# Settings for libraries running on target
#
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
# CT_CC_GCC_LIBMUDFLAP is not set
# CT_CC_GCC_LIBSSP is not set
# CT_CC_GCC_LIBQUADMATH is not set
#
# Misc. obscure options.
#
# CT_CC_CXA_ATEXIT is not set
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set
# CT_CC_GCC_LDBL_128 is not set
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_BID is not set
# CT_CC_GCC_DEC_FLOATS_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_GCC_DEC_FLOATS=""
CT_ALL_CC_CHOICES="GCC"
#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
CT_CC_LANG_OTHERS=""
# end of C compiler
#
# Debug facilities
#
CT_DEBUG_GDB=y
CT_DEBUG_GDB_PKG_KSYM="GDB"
CT_GDB_DIR_NAME="gdb"
CT_GDB_PKG_NAME="gdb"
CT_GDB_SRC_RELEASE=y
# CT_GDB_SRC_DEVEL is not set
# CT_GDB_SRC_CUSTOM is not set
CT_GDB_PATCH_GLOBAL=y
# CT_GDB_PATCH_BUNDLED is not set
# CT_GDB_PATCH_LOCAL is not set
# CT_GDB_PATCH_BUNDLED_LOCAL is not set
# CT_GDB_PATCH_LOCAL_BUNDLED is not set
# CT_GDB_PATCH_NONE is not set
CT_GDB_PATCH_ORDER="global"
CT_GDB_V_11=y
# CT_GDB_V_10 is not set
# CT_GDB_V_9 is not set
# CT_GDB_V_8_3 is not set
CT_GDB_VERSION="11.2"
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GDB_SIGNATURE_FORMAT=""
CT_GDB_later_than_11=y
CT_GDB_11_or_later=y
CT_GDB_later_than_10=y
CT_GDB_10_or_later=y
CT_GDB_later_than_8_3=y
CT_GDB_8_3_or_later=y
CT_GDB_later_than_8_0=y
CT_GDB_8_0_or_later=y
CT_GDB_later_than_7_12=y
CT_GDB_7_12_or_later=y
CT_GDB_later_than_7_11=y
CT_GDB_7_11_or_later=y
CT_GDB_CROSS=y
# CT_GDB_CROSS_STATIC is not set
CT_GDB_CROSS_SIM=y
CT_GDB_CROSS_PYTHON=y
CT_GDB_CROSS_PYTHON_BINARY=""
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
#
# In bare-metal, you'll need to
#
#
# provide your own gdbserver stub.
#
CT_GDB_GDBSERVER_TOPLEVEL=y
# CT_DEBUG_LTRACE is not set
# CT_DEBUG_STRACE is not set
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# end of Debug facilities
#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
CT_COMP_LIBS_EXPAT=y
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
CT_EXPAT_DIR_NAME="expat"
CT_EXPAT_PKG_NAME="expat"
CT_EXPAT_SRC_RELEASE=y
# CT_EXPAT_SRC_DEVEL is not set
# CT_EXPAT_SRC_CUSTOM is not set
CT_EXPAT_PATCH_GLOBAL=y
# CT_EXPAT_PATCH_BUNDLED is not set
# CT_EXPAT_PATCH_LOCAL is not set
# CT_EXPAT_PATCH_BUNDLED_LOCAL is not set
# CT_EXPAT_PATCH_LOCAL_BUNDLED is not set
# CT_EXPAT_PATCH_NONE is not set
CT_EXPAT_PATCH_ORDER="global"
CT_EXPAT_V_2_4=y
CT_EXPAT_VERSION="2.4.1"
CT_EXPAT_MIRRORS="http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION} https://github.com/libexpat/libexpat/releases/download/R_${CT_EXPAT_VERSION//./_}"
CT_EXPAT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2 .tar.gz"
CT_EXPAT_SIGNATURE_FORMAT=""
# CT_COMP_LIBS_GETTEXT is not set
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
# CT_GMP_SRC_CUSTOM is not set
CT_GMP_PATCH_GLOBAL=y
# CT_GMP_PATCH_BUNDLED is not set
# CT_GMP_PATCH_LOCAL is not set
# CT_GMP_PATCH_BUNDLED_LOCAL is not set
# CT_GMP_PATCH_LOCAL_BUNDLED is not set
# CT_GMP_PATCH_NONE is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_2=y
# CT_GMP_V_6_1 is not set
CT_GMP_VERSION="6.2.1"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
# CT_ISL_SRC_CUSTOM is not set
CT_ISL_PATCH_GLOBAL=y
# CT_ISL_PATCH_BUNDLED is not set
# CT_ISL_PATCH_LOCAL is not set
# CT_ISL_PATCH_BUNDLED_LOCAL is not set
# CT_ISL_PATCH_LOCAL_BUNDLED is not set
# CT_ISL_PATCH_NONE is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_24=y
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
CT_ISL_VERSION="0.24"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
# CT_COMP_LIBS_LIBELF is not set
# CT_COMP_LIBS_LIBICONV is not set
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
# CT_MPC_SRC_CUSTOM is not set
CT_MPC_PATCH_GLOBAL=y
# CT_MPC_PATCH_BUNDLED is not set
# CT_MPC_PATCH_LOCAL is not set
# CT_MPC_PATCH_BUNDLED_LOCAL is not set
# CT_MPC_PATCH_LOCAL_BUNDLED is not set
# CT_MPC_PATCH_NONE is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_2=y
# CT_MPC_V_1_1 is not set
# CT_MPC_V_1_0 is not set
CT_MPC_VERSION="1.2.1"
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_MPC_later_than_1_1_0=y
CT_MPC_1_1_0_or_later=y
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
# CT_MPFR_SRC_CUSTOM is not set
CT_MPFR_PATCH_GLOBAL=y
# CT_MPFR_PATCH_BUNDLED is not set
# CT_MPFR_PATCH_LOCAL is not set
# CT_MPFR_PATCH_BUNDLED_LOCAL is not set
# CT_MPFR_PATCH_LOCAL_BUNDLED is not set
# CT_MPFR_PATCH_NONE is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_1=y
# CT_MPFR_V_4_0 is not set
# CT_MPFR_V_3_1 is not set
CT_MPFR_VERSION="4.1.0"
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_MPFR_later_than_4_0_0=y
CT_MPFR_4_0_0_or_later=y
CT_COMP_LIBS_NCURSES=y
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
CT_NCURSES_DIR_NAME="ncurses"
CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set
# CT_NCURSES_SRC_CUSTOM is not set
CT_NCURSES_PATCH_GLOBAL=y
# CT_NCURSES_PATCH_BUNDLED is not set
# CT_NCURSES_PATCH_LOCAL is not set
# CT_NCURSES_PATCH_BUNDLED_LOCAL is not set
# CT_NCURSES_PATCH_LOCAL_BUNDLED is not set
# CT_NCURSES_PATCH_NONE is not set
CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_2=y
# CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set
CT_NCURSES_VERSION="6.2"
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
CT_NCURSES_NEW_ABI=y
CT_NCURSES_HOST_CONFIG_ARGS=""
CT_NCURSES_HOST_DISABLE_DB=y
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
CT_NCURSES_TARGET_CONFIG_ARGS=""
# CT_NCURSES_TARGET_DISABLE_DB is not set
CT_NCURSES_TARGET_FALLBACKS=""
CT_COMP_LIBS_NEWLIB_NANO=y
CT_COMP_LIBS_NEWLIB_NANO_PKG_KSYM="NEWLIB_NANO"
CT_NEWLIB_NANO_DIR_NAME="newlib-nano"
CT_NEWLIB_NANO_PKG_NAME="newlib-nano"
CT_NEWLIB_NANO_SRC_RELEASE=y
# CT_NEWLIB_NANO_SRC_DEVEL is not set
# CT_NEWLIB_NANO_SRC_CUSTOM is not set
CT_NEWLIB_NANO_PATCH_GLOBAL=y
# CT_NEWLIB_NANO_PATCH_BUNDLED is not set
# CT_NEWLIB_NANO_PATCH_LOCAL is not set
# CT_NEWLIB_NANO_PATCH_BUNDLED_LOCAL is not set
# CT_NEWLIB_NANO_PATCH_LOCAL_BUNDLED is not set
# CT_NEWLIB_NANO_PATCH_NONE is not set
CT_NEWLIB_NANO_PATCH_ORDER="global"
CT_NEWLIB_NANO_V_4_1=y
# CT_NEWLIB_NANO_V_3_3 is not set
CT_NEWLIB_NANO_VERSION="4.1.0"
CT_NEWLIB_NANO_MIRRORS="ftp://sourceware.org/pub/newlib"
CT_NEWLIB_NANO_ARCHIVE_FILENAME="newlib-@{version}"
CT_NEWLIB_NANO_ARCHIVE_DIRNAME="newlib-@{version}"
CT_NEWLIB_NANO_ARCHIVE_FORMATS=".tar.gz"
CT_NEWLIB_NANO_SIGNATURE_FORMAT=""
CT_NEWLIB_NANO_GCC_LIBSTDCXX=y
CT_NEWLIB_NANO_GCC_LIBSTDCXX_TARGET_CXXFLAGS="-fno-exceptions"
CT_NEWLIB_NANO_INSTALL_IN_TARGET=y
CT_LIBC_NEWLIB_NANO_TARGET_CFLAGS=""
# CT_LIBC_NEWLIB_NANO_IO_C99FMT is not set
# CT_LIBC_NEWLIB_NANO_IO_LL is not set
# CT_LIBC_NEWLIB_NANO_IO_FLOAT is not set
# CT_LIBC_NEWLIB_NANO_IO_POS_ARGS is not set
# CT_LIBC_NEWLIB_NANO_FVWRITE_IN_STREAMIO is not set
# CT_LIBC_NEWLIB_NANO_UNBUF_STREAM_OPT is not set
# CT_LIBC_NEWLIB_NANO_FSEEK_OPTIMIZATION is not set
CT_LIBC_NEWLIB_NANO_DISABLE_SUPPLIED_SYSCALLS=y
# CT_LIBC_NEWLIB_NANO_REGISTER_FINI is not set
# CT_LIBC_NEWLIB_NANO_ATEXIT_DYNAMIC_ALLOC is not set
# CT_LIBC_NEWLIB_NANO_GLOBAL_ATEXIT is not set
CT_LIBC_NEWLIB_NANO_LITE_EXIT=y
CT_LIBC_NEWLIB_NANO_REENT_SMALL=y
# CT_LIBC_NEWLIB_NANO_MULTITHREAD is not set
# CT_LIBC_NEWLIB_NANO_RETARGETABLE_LOCKING is not set
CT_LIBC_NEWLIB_NANO_EXTRA_SECTIONS=y
# CT_LIBC_NEWLIB_NANO_WIDE_ORIENT is not set
CT_LIBC_NEWLIB_NANO_ENABLE_TARGET_OPTSPACE=y
# CT_LIBC_NEWLIB_NANO_LTO is not set
CT_LIBC_NEWLIB_NANO_NANO_MALLOC=y
CT_LIBC_NEWLIB_NANO_NANO_FORMATTED_IO=y
CT_LIBC_NEWLIB_NANO_EXTRA_CONFIG_ARRAY=""
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
# CT_ZLIB_SRC_CUSTOM is not set
CT_ZLIB_PATCH_GLOBAL=y
# CT_ZLIB_PATCH_BUNDLED is not set
# CT_ZLIB_PATCH_LOCAL is not set
# CT_ZLIB_PATCH_BUNDLED_LOCAL is not set
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
# CT_ZLIB_PATCH_NONE is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB"
# CT_LIBICONV_NEEDED is not set
# CT_GETTEXT_NEEDED is not set
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_EXPAT_NEEDED=y
CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=y
CT_EXPAT=y
CT_NCURSES=y
CT_ZLIB=y
# end of Companion libraries
#
# Companion tools
#
# CT_COMP_TOOLS_FOR_HOST is not set
# CT_COMP_TOOLS_AUTOCONF is not set
# CT_COMP_TOOLS_AUTOMAKE is not set
# CT_COMP_TOOLS_BISON is not set
# CT_COMP_TOOLS_DTC is not set
# CT_COMP_TOOLS_LIBTOOL is not set
# CT_COMP_TOOLS_M4 is not set
# CT_COMP_TOOLS_MAKE is not set
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
# end of Companion tools
#
# Test suite
#
# CT_TEST_SUITE_GCC is not set
# end of Test suite

View File

@ -0,0 +1,28 @@
RUN \
set -x && \
yum -y install \
gpg \
python3-devel \
zlib-devel \
gettext \
openssh-clients \
wget \
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-11/root/usr/bin/sudo && \
/buildscripts/install-python-packages.sh && \
rm -rf /buildscripts
# Runtime scripts
COPY manylinux-common/pre_exec.sh /dockcross/

View File

@ -242,6 +242,7 @@ TTY_ARGS=
tty -s && [ -z "$MSYS" ] && TTY_ARGS=-ti tty -s && [ -z "$MSYS" ] && TTY_ARGS=-ti
CONTAINER_NAME=dockcross_$RANDOM CONTAINER_NAME=dockcross_$RANDOM
$OCI_EXE run $TTY_ARGS --name $CONTAINER_NAME \ $OCI_EXE run $TTY_ARGS --name $CONTAINER_NAME \
--platform linux/amd64 \
-v "$HOST_PWD":/work \ -v "$HOST_PWD":/work \
$HOST_VOLUMES \ $HOST_VOLUMES \
"${USER_IDS[@]}" \ "${USER_IDS[@]}" \

View File

@ -5,7 +5,7 @@ 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 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \

View File

@ -5,7 +5,7 @@ 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 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \

View File

@ -5,7 +5,7 @@ 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 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \

View File

@ -5,7 +5,7 @@ LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux2014-x64 ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux2014-x64
#include "common.manylinux" #include "common.manylinux2014"
#include "common.dockcross" #include "common.dockcross"

View File

@ -5,7 +5,7 @@ LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux2014-x86 ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux2014-x86
#include "common.manylinux" #include "common.manylinux2014"
#include "common.dockcross" #include "common.dockcross"

View File

@ -0,0 +1,29 @@
# Recent versions address yum functionality
FROM quay.io/pypa/manylinux_2_28_x86_64:latest
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux_2_28-x64
#include "common.manylinux_2_28"
#include "common.dockcross"
#include "common.docker"
ENV CROSS_TRIPLE x86_64-linux-gnu
ENV CROSS_ROOT /opt/rh/gcc-toolset-11/root/bin/
ENV AS=${CROSS_ROOT}/as \
AR=${CROSS_ROOT}/ar \
CC=${CROSS_ROOT}/gcc \
CPP=${CROSS_ROOT}/cpp \
CXX=${CROSS_ROOT}/g++ \
LD=${CROSS_ROOT}/ld \
FC=${CROSS_ROOT}/gfortran
COPY linux-x64/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop
COPY manylinux_2_28-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake
#include "common.label-and-env"

View File

@ -0,0 +1,12 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_CROSSCOMPILING FALSE)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
set(MANYLINUX_2_28 TRUE)
set(CROSS_ROOT /opt/rh/gcc-toolset-11/root/bin/)
set(CMAKE_C_COMPILER ${CROSS_ROOT}/gcc)
set(CMAKE_CXX_COMPILER ${CROSS_ROOT}/g++)
set(CMAKE_ASM_COMPILER ${CROSS_ROOT}/as)
set(CMAKE_Fortran_COMPILER ${CROSS_ROOT}/gfortran)

View File

@ -1,4 +1,4 @@
ARG DOCKER_IMAGE_VERSION=3.1.10 ARG DOCKER_IMAGE_VERSION=3.1.13
FROM emscripten/emsdk:$DOCKER_IMAGE_VERSION FROM emscripten/emsdk:$DOCKER_IMAGE_VERSION
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"