Compare commits

..

1 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
183 changed files with 1402 additions and 7275 deletions

View File

@ -6,7 +6,7 @@ jobs:
stale: stale:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/stale@v9 - uses: actions/stale@v5
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
exempt-issue-milestones: 'future,alpha,beta,release,bugfix,improvement,enhancement,help wanted' exempt-issue-milestones: 'future,alpha,beta,release,bugfix,improvement,enhancement,help wanted'

File diff suppressed because it is too large Load Diff

View File

@ -18,7 +18,7 @@ jobs:
name: Shellcheck name: Shellcheck
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Run ShellCheck - name: Run ShellCheck
uses: ludeeus/action-shellcheck@master uses: ludeeus/action-shellcheck@master
with: with:

2
.gitignore vendored
View File

@ -8,5 +8,3 @@ Dockerfile
web-wasm/Dockerfile web-wasm/Dockerfile
*/imagefiles/* */imagefiles/*
!imagefiles/* !imagefiles/*
crosstool-ng/*
llama.cpp/*

View File

@ -23,7 +23,7 @@ cd crosstool-ng
Change git branch: Change git branch:
```bash ```bash
git checkout crosstool-ng-1.27.0 git checkout crosstool-ng-1.25.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:
@ -67,7 +67,7 @@ We will take the example of `aarch64-rpi4-linux-gnu`, a `.config` file will be c
*Alternatively*, we could copy an existing `crosstool-ng.config` from one of the target folders in the `dockcross` project to the local `.config`: *Alternatively*, we could copy an existing `crosstool-ng.config` from one of the target folders in the `dockcross` project to the local `.config`:
```bash ```bash
cp path/to/dockcross/linux-arm64/crosstool-ng.config .config cp path/to/dockcross/linux-arm64 .config
``` ```
We will configure the toolchains according to our needs: We will configure the toolchains according to our needs:
@ -106,16 +106,16 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm64) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm64)
``` ```
Then you must change these lines according to the targeted architecture, here **ARM64**: Then ou must change these lines according to the targeted architecture, here **ARM64**:
```cmake ```cmake
set(CMAKE_SYSTEM_PROCESSOR ARM64) set(CMAKE_SYSTEM_PROCESSOR ARM64)
@ -127,15 +127,14 @@ Then you must create a file named `Dockerfile.in` in the image folder (`linux-ar
Copy text to `Dockerfile.in` file: Copy text to `Dockerfile.in` file:
```docker ```docker
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.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 +146,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,36 +157,36 @@ 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"
``` ```
Then you must change these lines according to the targeted architecture. Then ou must change these lines according to the targeted architecture.
Here you have to change the value according to the name of the toolchain (./ct-ng show-tuple): 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.mccormick@kitware.com"
ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
ENV ARCH=arm64 ENV ARCH arm64
``` ```
Once this part is finished, there must be 3 files in the `linux-arm64` folder: Once this part is finished, there must be 3 files in the `linux-arm64` folder:

View File

@ -1,7 +1,7 @@
ARG DOCKER_IMAGE=debian:bookworm-slim ARG DOCKER_IMAGE=debian:bullseye-slim
FROM $DOCKER_IMAGE FROM $DOCKER_IMAGE
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
#include "common.debian" #include "common.debian"

229
Makefile
View File

@ -3,83 +3,57 @@
# Parameters # Parameters
# #
# Name of the docker-equivalent executable for building images. # Name of the docker executable
# OCI: open container interface. DOCKER = docker
# Common values: docker, podman, buildah
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:
#
# export "BUILD_CMD=buildx build --platform linux/amd64,linux/arm64"
#
# to generate multi-platform images.
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-musl linux-arm64-full \ linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \
linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-m68k-uclibc linux-s390x linux-x64-tinycc \ linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-m68k-uclibc linux-s390x linux-x64-tinycc \
linux-armv6 linux-armv6-lts linux-armv6-musl linux-arm64-lts linux-mipsel-lts \ linux-armv6 linux-armv6-lts linux-armv6-musl linux-arm64-lts linux-mipsel-lts \
linux-armv7l-musl linux-armv7 linux-armv7a linux-armv7-lts linux-armv7a-lts linux-x86_64-full \ linux-armv7l-musl linux-armv7 linux-armv7a linux-armv7-lts linux-armv7a-lts linux-x86_64-full \
linux-mips linux-mips-uclibc linux-mips-lts linux-ppc linux-ppc64le linux-ppc64le-lts linux-riscv64 linux-riscv32 linux-xtensa-uclibc \ linux-mips linux-mips-lts linux-ppc64le linux-riscv64 linux-riscv32 linux-xtensa-uclibc \
web-wasi \
windows-static-x86 windows-static-x64 windows-static-x64-posix windows-armv7 \ windows-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
# 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-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \
manylinux_2_28-x64 manylinux_2_34-x64 \ manylinux_2_28-x64 \
manylinux2014-x64 manylinux2014-x86 \ manylinux2014-x64 manylinux2014-x86 \
manylinux2014-aarch64 linux-arm64-lts \ manylinux2014-aarch64 linux-arm64-lts \
web-wasm web-wasi web-wasi-emulated-threads web-wasi-threads linux-mips linux-mips-uclibc linux-mips-lts windows-arm64 windows-armv7 \ web-wasm web-wasi linux-mips 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 \
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-ppc linux-ppc64le linux-ppc64le-lts 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 bare-armv7emhf-nano_newlib
# Generate both amd64 and arm64 images
MULTIARCH_IMAGES := linux-arm64 \
web-wasi web-wasi-emulated-threads
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES)) GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
# These images are expected to have explicit rules for *both* build and testing # These images are expected to have explicit rules for *both* build and testing
NON_STANDARD_IMAGES := manylinux_2_28-x64 manylinux_2_34-x64 manylinux2014-x64 manylinux2014-x86 \ NON_STANDARD_IMAGES = manylinux_2_28-x64 manylinux2014-x64 manylinux2014-x86 \
manylinux2014-aarch64 web-wasm web-wasi-emulated-threads web-wasi-threads manylinux2014-aarch64 web-wasm
# Docker composite files # Docker composite files
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.manylinux_2_34 common.buildroot \ DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.buildroot \
common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \ common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \
common.label-and-env common.label-and-env
DOCKER_COMPOSITE_FOLDER_PATH = common/ DOCKER_COMPOSITE_FOLDER_PATH = common/
DOCKER_COMPOSITE_PATH = $(addprefix $(DOCKER_COMPOSITE_FOLDER_PATH),$(DOCKER_COMPOSITE_SOURCES)) DOCKER_COMPOSITE_PATH = $(addprefix $(DOCKER_COMPOSITE_FOLDER_PATH),$(DOCKER_COMPOSITE_SOURCES))
# This list all available images # This list all available images
IMAGES := $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES) $(MULTIARCH_IMAGES) IMAGES = $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES)
# Optional arguments for test runner (test/run.py) associated with "testing implicit rule" # Optional arguments for test runner (test/run.py) associated with "testing implicit rule"
linux-x64-tinycc.test_ARGS = --languages C linux-x64-tinycc.test_ARGS = --languages C
@ -89,8 +63,6 @@ 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"
windows-armv7.test_ARGS = --exe-suffix ".exe"
windows-arm64.test_ARGS = --exe-suffix ".exe"
bare-armv7emhf-nano_newlib.test_ARGS = --linker-flags="--specs=nosys.specs" bare-armv7emhf-nano_newlib.test_ARGS = --linker-flags="--specs=nosys.specs"
# On CircleCI, do not attempt to delete container # On CircleCI, do not attempt to delete container
@ -128,7 +100,6 @@ $(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' \
@ -142,20 +113,12 @@ $(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/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/web-wasm:$(TAG)-$(HOST_ARCH) \ $(DOCKER) build -t $(ORG)/web-wasm:latest \
$(TAG_FLAG) $(ORG)/web-wasm:latest-$(HOST_ARCH) \ -t $(ORG)/web-wasm:$(TAG) \
--build-arg IMAGE=$(ORG)/web-wasm \ --build-arg IMAGE=$(ORG)/web-wasm \
--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"` \
@ -165,39 +128,22 @@ web-wasm: web-wasm/Dockerfile
web-wasm.test: web-wasm web-wasm.test: web-wasm
cp -r test web-wasm/ cp -r test web-wasm/
$(TEST_DOCKER) run $(RM) $(ORG)/web-wasm:latest-$(HOST_ARCH) > $(BIN)/dockcross-web-wasm && chmod +x $(BIN)/dockcross-web-wasm $(DOCKER) run $(RM) $(ORG)/web-wasm > $(BIN)/dockcross-web-wasm && chmod +x $(BIN)/dockcross-web-wasm
$(BIN)/dockcross-web-wasm -i $(ORG)/web-wasm:latest-$(HOST_ARCH) python test/run.py --exe-suffix ".js" $(BIN)/dockcross-web-wasm python test/run.py --exe-suffix ".js"
rm -rf web-wasm/test rm -rf web-wasm/test
#
# web-wasi-threads
#
web-wasi-threads: web-wasi web-wasi-threads/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/
cp -r test web-wasi-threads/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/web-wasi-threads:$(TAG)-$(HOST_ARCH) \
-t $(ORG)/web-wasi-threads:latest-$(HOST_ARCH) \
--build-arg IMAGE=$(ORG)/web-wasi-threads \
--build-arg VERSION=$(TAG) \
--build-arg HOST_ARCH=$(HOST_ARCH) \
--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"` \
web-wasi-threads
# #
# manylinux2014-aarch64 # manylinux2014-aarch64
# #
manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile manylinux2014-x64 manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile
@# Register qemu @# Register qemu
docker run --rm --privileged hypriot/qemu-register docker run --rm --privileged hypriot/qemu-register
@# Get libstdc++ from quay.io/pypa/manylinux2014_aarch64 container @# Get libstdc++ from quay.io/pypa/manylinux2014_aarch64 container
docker run -v `pwd`:/host --rm -e LIB_PATH=/host/$@/xc_script/ quay.io/pypa/manylinux2014_aarch64 bash -c "PASS=1 /host/$@/xc_script/docker_setup_scrpits/copy_libstd.sh" docker run -v `pwd`:/host --rm -e LIB_PATH=/host/$@/xc_script/ quay.io/pypa/manylinux2014_aarch64 bash -c "PASS=1 /host/$@/xc_script/docker_setup_scrpits/copy_libstd.sh"
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux2014-aarch64:$(TAG) \ $(DOCKER) build -t $(ORG)/manylinux2014-aarch64:latest \
$(TAG_FLAG) $(ORG)/manylinux2014-aarch64:latest \ -t $(ORG)/manylinux2014-aarch64:$(TAG) \
--build-arg IMAGE=$(ORG)/manylinux2014-aarch64 \ --build-arg IMAGE=$(ORG)/manylinux2014-aarch64 \
--build-arg VERSION=$(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"` \
@ -207,19 +153,18 @@ manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile manylinux2014-x64
docker run -v `pwd`:/host --rm quay.io/pypa/manylinux2014_aarch64 bash -c "rm -rf /host/$@/xc_script/usr" docker run -v `pwd`:/host --rm quay.io/pypa/manylinux2014_aarch64 bash -c "rm -rf /host/$@/xc_script/usr"
manylinux2014-aarch64.test: manylinux2014-aarch64 manylinux2014-aarch64.test: manylinux2014-aarch64
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64:latest > $(BIN)/dockcross-manylinux2014-aarch64 \ $(DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64 > $(BIN)/dockcross-manylinux2014-aarch64 \
&& chmod +x $(BIN)/dockcross-manylinux2014-aarch64 && chmod +x $(BIN)/dockcross-manylinux2014-aarch64
$(BIN)/dockcross-manylinux2014-aarch64 -i $(ORG)/manylinux2014-aarch64:latest /opt/python/cp311-cp311/bin/python test/run.py $(BIN)/dockcross-manylinux2014-aarch64 /opt/python/cp38-cp38/bin/python test/run.py
# #
# manylinux_2_28-x64 # manylinux_2_28-x64
# #
manylinux_2_28-x64: manylinux_2_28-x64/Dockerfile manylinux_2_28-x64: manylinux_2_28-x64/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux_2_28-x64:$(TAG) \ $(DOCKER) build -t $(ORG)/manylinux_2_28-x64:latest \
$(TAG_FLAG) $(ORG)/manylinux_2_28-x64:latest \ -t $(ORG)/manylinux_2_28-x64:$(TAG) \
--build-arg IMAGE=$(ORG)/manylinux_2_28-x64 \ --build-arg IMAGE=$(ORG)/manylinux_2_28-x64 \
--build-arg VERSION=$(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"` \
@ -227,39 +172,18 @@ manylinux_2_28-x64: manylinux_2_28-x64/Dockerfile
rm -rf $@/imagefiles rm -rf $@/imagefiles
manylinux_2_28-x64.test: manylinux_2_28-x64 manylinux_2_28-x64.test: manylinux_2_28-x64
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux_2_28-x64:latest > $(BIN)/dockcross-manylinux_2_28-x64 \ $(DOCKER) run $(RM) $(ORG)/manylinux_2_28-x64 > $(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 /opt/python/cp310-cp310/bin/python test/run.py
#
# manylinux_2_34-x64
#
manylinux_2_34-x64: manylinux_2_34-x64/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(DOCKER) build -t $(ORG)/manylinux_2_34-x64:$(TAG) \
-t $(ORG)/manylinux_2_34-x64:latest \
--build-arg IMAGE=$(ORG)/manylinux_2_34-x64 \
--build-arg VERSION=$(TAG) \
--build-arg VCS_REF=`git rev-parse --short HEAD` \
--build-arg VCS_URL=`git config --get remote.origin.url` \
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
-f manylinux_2_34-x64/Dockerfile .
rm -rf $@/imagefiles
manylinux_2_34-x64.test: manylinux_2_34-x64
$(DOCKER) run $(RM) $(ORG)/manylinux_2_34-x64:latest > $(BIN)/dockcross-manylinux_2_34-x64 \
&& chmod +x $(BIN)/dockcross-manylinux_2_34-x64
$(BIN)/dockcross-manylinux_2_34-x64 -i $(ORG)/manylinux_2_34-x64:latest /opt/python/cp310-cp310/bin/python test/run.py
# #
# manylinux2014-x64 # manylinux2014-x64
# #
manylinux2014-x64: manylinux2014-x64/Dockerfile manylinux2014-x64: manylinux2014-x64/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux2014-x64:$(TAG) \ $(DOCKER) build -t $(ORG)/manylinux2014-x64:latest \
$(TAG_FLAG) $(ORG)/manylinux2014-x64:latest \ -t $(ORG)/manylinux2014-x64:$(TAG) \
--build-arg IMAGE=$(ORG)/manylinux2014-x64 \ --build-arg IMAGE=$(ORG)/manylinux2014-x64 \
--build-arg VERSION=$(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"` \
@ -267,19 +191,18 @@ manylinux2014-x64: manylinux2014-x64/Dockerfile
rm -rf $@/imagefiles rm -rf $@/imagefiles
manylinux2014-x64.test: manylinux2014-x64 manylinux2014-x64.test: manylinux2014-x64
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x64:latest > $(BIN)/dockcross-manylinux2014-x64 \ $(DOCKER) run $(RM) $(ORG)/manylinux2014-x64 > $(BIN)/dockcross-manylinux2014-x64 \
&& chmod +x $(BIN)/dockcross-manylinux2014-x64 && chmod +x $(BIN)/dockcross-manylinux2014-x64
$(BIN)/dockcross-manylinux2014-x64 -i $(ORG)/manylinux2014-x64:latest /opt/python/cp311-cp311/bin/python test/run.py $(BIN)/dockcross-manylinux2014-x64 /opt/python/cp38-cp38/bin/python test/run.py
# #
# manylinux2014-x86 # manylinux2014-x86
# #
manylinux2014-x86: manylinux2014-x86/Dockerfile manylinux2014-x86: manylinux2014-x86/Dockerfile
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/manylinux2014-x86:$(TAG) \ $(DOCKER) build -t $(ORG)/manylinux2014-x86:latest \
-t $(ORG)/manylinux2014-x86:latest \ -t $(ORG)/manylinux2014-x86:$(TAG) \
--build-arg IMAGE=$(ORG)/manylinux2014-x86 \ --build-arg IMAGE=$(ORG)/manylinux2014-x86 \
--build-arg VERSION=$(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"` \
@ -287,32 +210,22 @@ manylinux2014-x86: manylinux2014-x86/Dockerfile
rm -rf $@/imagefiles rm -rf $@/imagefiles
manylinux2014-x86.test: manylinux2014-x86 manylinux2014-x86.test: manylinux2014-x86
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x86:latest > $(BIN)/dockcross-manylinux2014-x86 \ $(DOCKER) run $(RM) $(ORG)/manylinux2014-x86 > $(BIN)/dockcross-manylinux2014-x86 \
&& chmod +x $(BIN)/dockcross-manylinux2014-x86 && chmod +x $(BIN)/dockcross-manylinux2014-x86
$(BIN)/dockcross-manylinux2014-x86 -i $(ORG)/manylinux2014-x86:latest /opt/python/cp311-cp311/bin/python test/run.py $(BIN)/dockcross-manylinux2014-x86 /opt/python/cp38-cp38/bin/python test/run.py
# #
# base-$(HOST_ARCH) # base
# #
base-$(HOST_ARCH): Dockerfile imagefiles/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/base:latest-$(HOST_ARCH) \
$(TAG_FLAG) $(ORG)/base:$(TAG)-$(HOST_ARCH) \
--build-arg IMAGE=$(ORG)/base \
--build-arg VCS_URL=`git config --get remote.origin.url` \
.
base-$(HOST_ARCH).test: base-$(HOST_ARCH)
$(TEST_DOCKER) run $(RM) $(ORG)/base:latest-$(HOST_ARCH) > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
base: Dockerfile imagefiles/ base: Dockerfile imagefiles/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/base:latest \ $(DOCKER) build -t $(ORG)/base:latest \
$(TAG_FLAG) $(ORG)/base:$(TAG) \ -t $(ORG)/base:$(TAG) \
--build-arg IMAGE=$(ORG)/base \ --build-arg IMAGE=$(ORG)/base \
--build-arg VCS_URL=`git config --get remote.origin.url` \ --build-arg VCS_URL=`git config --get remote.origin.url` \
. .
base.test: base base.test: base
$(TEST_DOCKER) run $(RM) $(ORG)/base:latest > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base $(DOCKER) run $(RM) $(ORG)/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
# display # display
# #
@ -327,25 +240,9 @@ $(VERBOSE).SILENT: display_images
$(STANDARD_IMAGES): %: %/Dockerfile base $(STANDARD_IMAGES): %: %/Dockerfile base
mkdir -p $@/imagefiles && cp -r imagefiles $@/ mkdir -p $@/imagefiles && cp -r imagefiles $@/
$(BUILD_DOCKER) $(BUILD_CMD) $(TAG_FLAG) $(ORG)/$@:latest \ $(DOCKER) build -t $(ORG)/$@:latest \
$(TAG_FLAG) $(ORG)/$@:$(TAG) \ -t $(ORG)/$@:$(TAG) \
--build-arg ORG=$(ORG) \
--build-arg IMAGE=$(ORG)/$@ \ --build-arg IMAGE=$(ORG)/$@ \
--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
$(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_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"` \
@ -360,9 +257,9 @@ clean:
purge: clean purge: clean
# Remove all untagged images # Remove all untagged images
$(TEST_DOCKER) container ls -aq | xargs -r $(DOCKER) container rm -f $(DOCKER) container ls -aq | xargs -r $(DOCKER) container rm -f
# Remove all images with organization (ex dockcross/*) # Remove all images with organization (ex dockcross/*)
$(BUILD_DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f $(DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f
# Check bash syntax # Check bash syntax
bash-check: bash-check:
@ -374,43 +271,9 @@ bash-check:
# #
.SECONDEXPANSION: .SECONDEXPANSION:
$(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@) $(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@)
$(TEST_DOCKER) run $(RM) $(ORG)/$(basename $@):latest > $(BIN)/dockcross-$(basename $@) \ $(DOCKER) run $(RM) $(ORG)/$(basename $@) > $(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 $@) python3 test/run.py $($@_ARGS)
.SECONDEXPANSION:
$(addsuffix .test,$(MULTIARCH_IMAGES) web-wasi-threads): $$(basename $$@)
$(TEST_DOCKER) run $(RM) $(ORG)/$(basename $@):latest-$(HOST_ARCH) > $(BIN)/dockcross-$(basename $@) \
&& chmod +x $(BIN)/dockcross-$(basename $@)
$(BIN)/dockcross-$(basename $@) -i $(ORG)/$(basename $@):latest-$(HOST_ARCH) python3 test/run.py $($@_ARGS)
.SECONDEXPANSION:
$(addsuffix .tag-$(HOST_ARCH),$(MULTIARCH_IMAGES) web-wasi-threads web-wasm): $$(basename $$@)
$(BUILD_DOCKER) tag $(ORG)/$(basename $@):latest-$(HOST_ARCH) \
$(ORG)/$(basename $@):$(TAG)-$(HOST_ARCH)
.SECONDEXPANSION:
$(addsuffix .push-$(HOST_ARCH),$(MULTIARCH_IMAGES) web-wasi-threads web-wasm): $$(basename $$@)
$(BUILD_DOCKER) push $(ORG)/$(basename $@):latest-$(HOST_ARCH) \
&& $(BUILD_DOCKER) push $(ORG)/$(basename $@):$(TAG)-$(HOST_ARCH)
.SECONDEXPANSION:
$(addsuffix .push,$(STANDARD_IMAGES) $(NON_STANDARD_IMAGES)): $$(basename $$@)
$(BUILD_DOCKER) push $(ORG)/$(basename $@):latest \
&& $(BUILD_DOCKER) push $(ORG)/$(basename $@):$(TAG)
.SECONDEXPANSION:
$(addsuffix .manifest,$(MULTIARCH_IMAGES) web-wasi-threads web-wasm): $$(basename $$@)
if $(BUILDAH) manifest exists $(ORG)/$(basename $@); then \
$(BUILDAH) manifest rm $(ORG)/$(basename $@); fi
$(BUILDAH) manifest create $(ORG)/$(basename $@)
$(BUILDAH) manifest add $(ORG)/$(basename $@) docker://$(ORG)/$(basename $@):latest-amd64
$(BUILDAH) manifest add $(ORG)/$(basename $@) docker://$(ORG)/$(basename $@):latest-arm64
.SECONDEXPANSION:
$(addsuffix .push,$(MULTIARCH_IMAGES) web-wasi-threads web-wasm): $$(basename $$@).manifest
$(BUILDAH) manifest push --all --format v2s2 $(ORG)/$(basename $@) docker://$(ORG)/$(basename $@):latest
$(BUILDAH) manifest push --all --format v2s2 $(ORG)/$(basename $@) docker://$(ORG)/$(basename $@):$(TAG)
# #
# testing prerequisites implicit rule # testing prerequisites implicit rule

View File

@ -13,13 +13,10 @@ Cross compiling toolchains in Docker images.
- Most images also contain an emulator for the target system. - Most images also contain an emulator for the target system.
- Clean separation of build tools, source code, and build artifacts. - Clean separation of build tools, source code, and build artifacts.
- Commands in the container are run as the calling user, so that any created files have the expected ownership, (i.e. not root). - Commands in the container are run as the calling user, so that any created files have the expected ownership, (i.e. not root).
- Make variables (**CC**, **CXX**, **LD**, **AS** etc) are set to point to the appropriate tools in the container. - Make variables **CC**, **CXX**, **LD**, **AS** etc) are set to point to the appropriate tools in the container.
- Recent [CMake](https://cmake.org) and ninja are precompiled. - Recent [CMake](https://cmake.org) and ninja are precompiled.
- [Meson](https://mesonbuild.com) is pre-installed.
- [Conan.io](https://www.conan.io) can be used as a package manager. - [Conan.io](https://www.conan.io) can be used as a package manager.
- Toolchain files configured for CMake. - Toolchain files configured for CMake.
- [Rustup](https://rustup.rs/) is pre-installed.
- Some images (e.g. android) are configured for Rust.
- Current directory is mounted as the container\'s workdir, `/work`. - Current directory is mounted as the container\'s workdir, `/work`.
- Works with the [Docker for Mac](https://docs.docker.com/docker-for-mac/) and [Docker for Windows](https://docs.docker.com/docker-for-windows/). - Works with the [Docker for Mac](https://docs.docker.com/docker-for-mac/) and [Docker for Windows](https://docs.docker.com/docker-for-windows/).
- Support using alternative container executor by setting **OCI_EXE** environment variable. By default, it searches for [docker](https://www.docker.com) and [podman](https://podman.io) executable. - Support using alternative container executor by setting **OCI_EXE** environment variable. By default, it searches for [docker](https://www.docker.com) and [podman](https://podman.io) executable.
@ -32,7 +29,6 @@ Cross compiling toolchains in Docker images.
3. `dockcross ninja -Cbuild`: Run ninja in the `./build` directory. 3. `dockcross ninja -Cbuild`: Run ninja in the `./build` directory.
4. `dockcross bash -c '$CC test/C/hello.c -o hello'`: Build the *hello.c* file with the compiler identified with the `CC` environmental variable in the build environment. 4. `dockcross bash -c '$CC test/C/hello.c -o hello'`: Build the *hello.c* file with the compiler identified with the `CC` environmental variable in the build environment.
5. `dockcross bash`: Run an interactive shell in the build environment. 5. `dockcross bash`: Run an interactive shell in the build environment.
6. `dockcross cargo build`: Build the current Rust project.
Note that commands are executed verbatim. If any shell processing for environment variable expansion or redirection is required, please use Note that commands are executed verbatim. If any shell processing for environment variable expansion or redirection is required, please use
@ -104,22 +100,17 @@ The dockcross script will execute the given command-line inside the container, a
| dockcross/linux-armv7a | ARMv7a | GCC | Linux | | dockcross/linux-armv7a | ARMv7a | GCC | Linux |
| dockcross/linux-armv7l-musl | ARMv7l | GCC + musl | Linux | | dockcross/linux-armv7l-musl | ARMv7l | GCC + musl | Linux |
| dockcross/linux-mips | mips | GCC | Linux | | dockcross/linux-mips | mips | GCC | Linux |
| dockcross/linux-mips-uclibc | mips | GCC + uclibc | Linux |
| dockcross/linux-mips-lts | mips | GCC 8.5.0 + Glibc 2.28 | Linux | | dockcross/linux-mips-lts | mips | GCC 8.5.0 + Glibc 2.28 | Linux |
| dockcross/linux-mipsel-lts | mipsel | GCC 8.5.0 + Glibc 2.28 | Linux | | dockcross/linux-mipsel-lts | mipsel | GCC 8.5.0 + Glibc 2.28 | Linux |
| dockcross/linux-s390x | s390x | GCC | Linux | | dockcross/linux-s390x | s390x | GCC | Linux |
| dockcross/linux-ppc | ppc | GCC | Linux |
| dockcross/linux-ppc64le | ppc64le | GCC | Linux | | dockcross/linux-ppc64le | ppc64le | GCC | Linux |
| dockcross/linux-ppc64le-lts | ppc64le | GCC 8.5.0 + Glibc 2.28 | Linux |
| dockcross/linux-riscv32 | riscv32 | GCC | Linux | | dockcross/linux-riscv32 | riscv32 | GCC | Linux |
| 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/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-x86 | x86 | GCC | Linux | | dockcross/linux-x86 | x86 | GCC | Linux |
| dockcross/linux-x64 | x86_64 | GCC | Linux | | dockcross/linux-x64 | x86_64 | GCC | Linux |
| dockcross/linux-x86_64-full | x86_64 | GCC + libs | Linux | | dockcross/linux-x86_64-full | x86_64 | GCC + libs | Linux |
@ -127,7 +118,6 @@ The dockcross script will execute the given command-line inside the container, a
| dockcross/linux-x64-tinycc | x86_64 | tinycc + GCC | Linux | | dockcross/linux-x64-tinycc | x86_64 | tinycc + GCC | Linux |
| dockcross/web-wasm | Wasm | LLVM | Web (JS) | | dockcross/web-wasm | Wasm | LLVM | Web (JS) |
| dockcross/web-wasi | Wasm | LLVM | Web (Universal) | | dockcross/web-wasi | Wasm | LLVM | Web (Universal) |
| dockcross/web-wasi-threads | Wasm | LLVM | Web (Universal) |
| dockcross/windows-shared-x86 | x86 | GCC | Windows | | dockcross/windows-shared-x86 | x86 | GCC | Windows |
| dockcross/windows-shared-x64 | x86_64 | GCC | Windows | | dockcross/windows-shared-x64 | x86_64 | GCC | Windows |
| dockcross/windows-shared-x64-posix | x86_64 | GCC | Windows | | dockcross/windows-shared-x64-posix | x86_64 | GCC | Windows |
@ -162,7 +152,7 @@ The list of docker images that are **no longer maintained**.
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/base/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/base) ![Docker Stars](https://img.shields.io/docker/stars/dockcross/base) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/base/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/base) ![Docker Stars](https://img.shields.io/docker/stars/dockcross/base)
Base image for other toolchain images. From Debian Bookworm with GCC, make, autotools, CMake, Ninja, Git, and Python. Base image for other toolchain images. From Debian Jessie with GCC, make, autotools, CMake, Ninja, Git, and Python.
### dockcross/android-arm ### dockcross/android-arm
@ -292,7 +282,7 @@ MIPS GNU systems.
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/linux-mips-lts/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/linux-mips-lts) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/linux-mips-lts/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/linux-mips-lts)
Linux mips cross compiler toolchain for big endian 32-bit hard float MIPS GNU systems, with GCC 8.5.0, Glibc 2.28 .... Linux mips cross compiler toolchain for big endian 32-bit hard float MIPS GNU systems, With GCC 8.5.0, Glibc 2.28 ....
### dockcross/linux-mipsel-lts ### dockcross/linux-mipsel-lts
@ -325,23 +315,11 @@ Linux risc-v 32bit cross compiler toolchain for risc-v 32bit GNU systems.
Linux m68k cross compiler toolchain for m68k GNU systems (http://www.mac.linux-m68k.org/ and http://www.linux-m68k.org/). Linux m68k cross compiler toolchain for m68k GNU systems (http://www.mac.linux-m68k.org/ and http://www.linux-m68k.org/).
### dockcross/linux-ppc
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/linux-ppc/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/linux-ppc)
Linux PowerPC cross compiler toolchain for CPUs like the G3, G4, etc.
### dockcross/linux-ppc64le ### dockcross/linux-ppc64le
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/linux-ppc64le/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/linux-ppc64le) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/linux-ppc64le/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/linux-ppc64le)
Linux PowerPC 64 little endian cross compiler toolchain for the POWER8, etc. Linux PowerPC 64 little endian cross compiler toolchain for the POWER8, etc. Important: Due to Issue #430, automatic build of newer images has been disabled.
### dockcross/linux-ppc64le-lts
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/linux-ppc64le-lts/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/linux-ppc64le-lts)
Linux PowerPC 64 little endian cross compiler toolchain for the POWER8, with GCC 8.5.0, Glibc 2.28 ....
### dockcross/linux-x64 ### dockcross/linux-x64
@ -365,7 +343,7 @@ Linux clang x86_64/amd64 compiler. Since the Docker image is natively x86_64, th
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/linux-x86/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/linux-x86) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/linux-x86/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/linux-x86)
Linux x86_64 32bit (i686) toolchain using gcc/g++ multilib. Multilib is a mechanism to support building and running code for different ABIs for the same CPU family on the host system. Most commonly it is used to support 32-bit code on 64-bit systems and 64-bit code on 32-bit systems with a 64-bit kernel. Since the Docker image is natively x86_64, this is not actually a cross compiler, it just adds capability to the existing host toolchain. Linux i686 cross compiler.
### dockcross/linux-x64-tinycc ### dockcross/linux-x64-tinycc
@ -373,24 +351,12 @@ Linux x86_64 32bit (i686) toolchain using gcc/g++ multilib. Multilib is a mechan
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/linux-i686
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/linux-i686/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/linux-i686)
Standalone Linux i686 cross compiler.
### dockcross/manylinux_2_28-x64 ### 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 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. Docker [manylinux_2_28](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_28** to \"TRUE\" in the toolchain.
### dockcross/manylinux_2_34-x64
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/manylinux_2_34-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/manylinux_2_34-x64)
Docker [manylinux_2_34](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.8.10+, 3.9.5+, 3.10.0+. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_34** to \"TRUE\" in the toolchain.
### dockcross/manylinux2014-x64 ### dockcross/manylinux2014-x64
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/manylinux2014-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/manylinux2014-x64) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/manylinux2014-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/manylinux2014-x64)
@ -421,12 +387,6 @@ The [Emscripten](https://emscripten.org/) [WebAssembly](https://webassembly.org/
The [WebAssembly System Interface (WASI)](https://wasi.dev/) SDK LLVM/Clang/WASI Sysroot cross compiler. The [WebAssembly System Interface (WASI)](https://wasi.dev/) SDK LLVM/Clang/WASI Sysroot cross compiler.
### dockcross/web-wasi-threads
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/web-wasi-threads/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/web-wasi-threads)
The [WebAssembly System Interface (WASI)](https://wasi.dev/) SDK LLVM/Clang/WASI Sysroot cross compiler with the toolchain configured to enable the wasm threading proposal.
### dockcross/windows-static-x64 ### dockcross/windows-static-x64
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/windows-static-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/windows-static-x64) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/windows-static-x64/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/windows-static-x64)
@ -576,8 +536,8 @@ 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 nano
``` ```
And then in the shell: And then in the shell:
@ -598,26 +558,6 @@ The key difference is that [dockbuild](https://github.com/dockbuild/dockbuild#re
**dockcross** is used to build binaries for many different platforms. **dockcross** performs a cross compilation where the host build system is a Linux x86_64 / amd64 Docker image (so that it can be used for building binaries on any system which can run Docker images) and the target runtime system varies. **dockcross** is used to build binaries for many different platforms. **dockcross** performs a cross compilation where the host build system is a Linux x86_64 / amd64 Docker image (so that it can be used for building binaries on any system which can run Docker images) and the target runtime system varies.
## Build images by yourself
Prebuilt images available on Docker hub are single architecture amd64 images. Those images work even on different architectures: for example, if you run a dockcross image on Docker running on an Apple M1, the image will run in emulation mode, meaning that it will still work as expected, although it will be slower than running on native hardware (you can expect a factor or 10 or more).
To overcome this limitation, you can build your own images on non-amd64 architectures. To do so, you can use the `Makefile` provided in this repository. For example, to build the `linux-armv7` image, and provided that your Docker hub organization name is `ACME`, you can run:
```bash
$ make ORG=ACME base
$ make ORG=ACME linux-armv7
```
This will create the Docker images `ACME/base` and `ACME/linux-armv7`, so that you can later launch a container using the `ACME/linux-armv7` image:
```
$ docker run --rm ACME/linux-armv7 uname -a
Linux 89b164ee8d90 5.15.49-linuxkit #1 SMP PREEMPT Tue Sep 13 07:51:32 UTC 2022 aarch64 GNU/Linux
```
Note that the architecture is now `aarch64` instead of `amd64`, so it runs natively on the Apple M1.
\-\-- \-\--
Credits: Credits:

View File

@ -1,6 +1,5 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
MAINTAINER Matt McCormick "matt@mmmccormick.com"
# The cross-compiling emulator # The cross-compiling emulator
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
@ -17,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=25b ENV ANDROID_NDK_REVISION 25b
ENV ANDROID_API=23 ENV ANDROID_API 33
RUN mkdir -p /build && \ RUN mkdir -p /build && \
cd /build && \ cd /build && \
@ -35,13 +34,7 @@ RUN mkdir -p /build && \
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \ find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \; find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
# Prepare Rust
ENV PATH="/root/.cargo/bin/:$PATH"
RUN rustup target add armv7-linux-androideabi
COPY config.toml /root/.cargo/
# Prepare CMake
COPY Toolchain.cmake ${CROSS_ROOT}/ COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -15,10 +15,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_EXE_LINKER_FLAGS "-llog") set(CMAKE_EXE_LINKER_FLAGS "-llog")
set(CMAKE_SHARED_LINKER_FLAGS "-llog") set(CMAKE_SHARED_LINKER_FLAGS "-llog")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT}) set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)

View File

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

View File

@ -1,8 +1,7 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
MAINTAINER Matt McCormick "matt@mmmccormick.com"
RUN \ RUN \
echo Enabled: no >> /etc/apt/sources.list.d/debian.sources && \ sed -i '/debian-security/d' /etc/apt/sources.list && \
dpkg --add-architecture arm64 && \ dpkg --add-architecture arm64 && \
apt-get update apt-get update
@ -21,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=25b ENV ANDROID_NDK_REVISION 25b
ENV ANDROID_API=23 ENV ANDROID_API 33
RUN mkdir -p /build && \ RUN mkdir -p /build && \
cd /build && \ cd /build && \
@ -39,13 +38,8 @@ RUN mkdir -p /build && \
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \ find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \; find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
# Prepare Rust
ENV PATH="/root/.cargo/bin/:$PATH"
RUN rustup target add aarch64-linux-android
COPY config.toml /root/.cargo/
# Prepare CMake
COPY Toolchain.cmake ${CROSS_ROOT}/ COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -14,10 +14,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_EXE_LINKER_FLAGS "-llog") set(CMAKE_EXE_LINKER_FLAGS "-llog")
set(CMAKE_SHARED_LINKER_FLAGS "-llog") set(CMAKE_SHARED_LINKER_FLAGS "-llog")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT}) set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)

View File

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

View File

@ -11,8 +11,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
CXX=${CROSS_ROOT}/bin/clang++ \ CXX=${CROSS_ROOT}/bin/clang++ \
LD=${CROSS_ROOT}/bin/ld LD=${CROSS_ROOT}/bin/ld
ENV ANDROID_NDK_REVISION=25b ENV ANDROID_NDK_REVISION 25b
ENV ANDROID_API=23 ENV ANDROID_API 33
RUN mkdir -p /build && \ RUN mkdir -p /build && \
cd /build && \ cd /build && \
@ -29,14 +29,8 @@ RUN mkdir -p /build && \
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \ find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \; find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
# Prepare Rust
ENV PATH="/root/.cargo/bin/:$PATH"
RUN rustup target add i686-linux-android
COPY config.toml /root/.cargo/
# Prepare CMake
COPY Toolchain.cmake ${CROSS_ROOT}/ COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
# Build-time metadata as defined at http://label-schema.org # Build-time metadata as defined at http://label-schema.org
ARG BUILD_DATE ARG BUILD_DATE
@ -50,4 +44,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url=$VCS_URL \ org.label-schema.vcs-url=$VCS_URL \
org.label-schema.schema-version="1.0" org.label-schema.schema-version="1.0"
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION} ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}

View File

@ -14,8 +14,8 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_EXE_LINKER_FLAGS "-llog") set(CMAKE_EXE_LINKER_FLAGS "-llog")
set(CMAKE_SHARED_LINKER_FLAGS "-llog") set(CMAKE_SHARED_LINKER_FLAGS "-llog")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT}) set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)

View File

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

View File

@ -11,8 +11,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
CXX=${CROSS_ROOT}/bin/clang++ \ CXX=${CROSS_ROOT}/bin/clang++ \
LD=${CROSS_ROOT}/bin/ld LD=${CROSS_ROOT}/bin/ld
ENV ANDROID_NDK_REVISION=25b ENV ANDROID_NDK_REVISION 25b
ENV ANDROID_API=23 ENV ANDROID_API 33
RUN mkdir -p /build && \ RUN mkdir -p /build && \
cd /build && \ cd /build && \
@ -29,14 +29,8 @@ RUN mkdir -p /build && \
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \ find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \; find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
# Prepare Rust
ENV PATH="/root/.cargo/bin/:$PATH"
RUN rustup target add x86_64-linux-android
COPY config.toml /root/.cargo/
# Prepare CMake
COPY Toolchain.cmake ${CROSS_ROOT}/ COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
# Build-time metadata as defined at http://label-schema.org # Build-time metadata as defined at http://label-schema.org
ARG BUILD_DATE ARG BUILD_DATE
@ -50,4 +44,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url=$VCS_URL \ org.label-schema.vcs-url=$VCS_URL \
org.label-schema.schema-version="1.0" org.label-schema.schema-version="1.0"
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION} ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}

View File

@ -14,8 +14,8 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_EXE_LINKER_FLAGS "-llog") set(CMAKE_EXE_LINKER_FLAGS "-llog")
set(CMAKE_SHARED_LINKER_FLAGS "-llog") set(CMAKE_SHARED_LINKER_FLAGS "-llog")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT}) set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot) set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)

View File

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

View File

@ -1,18 +1,17 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Chen Tao t.clydechen@gmail.com" 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 +22,13 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
OBJCOPY=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-objcopy OBJCOPY=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-objcopy
COPY Toolchain.cmake ${CROSS_ROOT}/ COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
ENV PKG_CONFIG_PATH=/usr/lib/arm-none-eabi/pkgconfig ENV PKG_CONFIG_PATH /usr/lib/arm-none-eabi/pkgconfig
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm ENV ARCH arm
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -10,7 +10,7 @@ set(CMAKE_CXX_COMPILER $ENV{CXX})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

View File

@ -119,7 +119,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -824,7 +824,7 @@ CT_ZLIB_PATCH_GLOBAL=y
CT_ZLIB_PATCH_ORDER="global" CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12" CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/ https://www.zlib.net/fossils" 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_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"

View File

@ -47,7 +47,8 @@ ENV XCC_PREFIX=/usr/xcc
# for users. # for users.
COPY \ COPY \
imagefiles/install-crosstool-ng-toolchain.sh \ imagefiles/install-crosstool-ng-toolchain.sh \
imagefiles/patch/crosstool-ng/crosstool-ng-zlib-target.patch \ imagefiles/patch/crosstool-ng/crosstool-ng-expat.patch \
imagefiles/patch/crosstool-ng/Fix-error-with-bash-5-and-up.patch \
manylinux2014-aarch64/crosstool-ng.config \ manylinux2014-aarch64/crosstool-ng.config \
/dockcross/ /dockcross/
@ -57,8 +58,7 @@ RUN \
cd /dockcross/crosstool && \ cd /dockcross/crosstool && \
/dockcross/install-crosstool-ng-toolchain.sh \ /dockcross/install-crosstool-ng-toolchain.sh \
-p "${XCC_PREFIX}" \ -p "${XCC_PREFIX}" \
-c /dockcross/crosstool-ng.config \ -c /dockcross/crosstool-ng.config && \
-v "${CT_VERSION}" && \
rm -rf /dockcross/crosstool /dockcross/install-crosstool-ng-toolchain.sh && \ rm -rf /dockcross/crosstool /dockcross/install-crosstool-ng-toolchain.sh && \
# Remove sudo provided by devtoolset since it doesn't work with # Remove sudo provided by devtoolset since it doesn't work with
# our sudo wrapper calling gosu. # our sudo wrapper calling gosu.

View File

@ -38,7 +38,8 @@ ENV XCC_PREFIX=/usr/xcc
# for users. # for users.
COPY \ COPY \
imagefiles/install-crosstool-ng-toolchain.sh \ imagefiles/install-crosstool-ng-toolchain.sh \
imagefiles/patch/crosstool-ng/crosstool-ng-zlib-target.patch \ imagefiles/patch/crosstool-ng/crosstool-ng-expat.patch \
imagefiles/patch/crosstool-ng/Fix-error-with-bash-5-and-up.patch \
crosstool-ng.config \ crosstool-ng.config \
/dockcross/ /dockcross/

View File

@ -11,7 +11,6 @@ RUN \
build-essential \ build-essential \
bzip2 \ bzip2 \
ca-certificates \ ca-certificates \
ccache \
curl \ curl \
dirmngr \ dirmngr \
file \ file \
@ -24,7 +23,6 @@ RUN \
libncurses5 \ libncurses5 \
libtool \ libtool \
make \ make \
nasm \
ncurses-dev \ ncurses-dev \
pkg-config \ pkg-config \
pax \ pax \
@ -42,5 +40,4 @@ RUN \
python-is-python3 \ python-is-python3 \
&& apt-get clean autoclean --yes \ && apt-get clean autoclean --yes \
&& apt-get autoremove --yes \ && apt-get autoremove --yes \
&& rm -rf /var/lib/{apt,dpkg,cache,log}/ \ && rm -rf /var/lib/{apt,dpkg,cache,log}/
&& rm /etc/ssh/*key*

View File

@ -1,22 +1,20 @@
WORKDIR /usr/src WORKDIR /usr/src
ARG GIT_VERSION=2.48.1 ARG GIT_VERSION=2.36.1
ARG CMAKE_VERSION=3.31.5 ARG CMAKE_VERSION=3.23.1
ARG NINJA_VERSION=1.12.1 ARG NINJA_VERSION=1.11.0
ARG FLATCC_VERSION=0.6.1 ARG FLATCC_VERSION=0.6.1
ARG LIQUIDPROMT_VERSION=v1.12.0 ARG OPENSSL_VERSION=openssl-1.1.1o
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.40.1 ARG PERL_VERSION=perl-5.32.1
ARG PERL_HASH=02f8c45bb379ed0c3de7514fad48c714fd46be8f0b536bfd5320050165a1ee26 ARG PERL_HASH=03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c
# Image build scripts # Image build scripts
COPY \ COPY \
@ -27,7 +25,6 @@ COPY \
imagefiles/build-and-install-ninja.sh \ imagefiles/build-and-install-ninja.sh \
imagefiles/build-and-install-openssl.sh \ imagefiles/build-and-install-openssl.sh \
imagefiles/build-and-install-openssh.sh \ imagefiles/build-and-install-openssh.sh \
imagefiles/build-and-install-rustup.sh \
imagefiles/install-cmake-binary.sh \ imagefiles/install-cmake-binary.sh \
imagefiles/install-liquidprompt-binary.sh \ imagefiles/install-liquidprompt-binary.sh \
imagefiles/install-python-packages.sh \ imagefiles/install-python-packages.sh \
@ -41,9 +38,8 @@ RUN \
/buildscripts/build-and-install-curl.sh && \ /buildscripts/build-and-install-curl.sh && \
/buildscripts/build-and-install-git.sh && \ /buildscripts/build-and-install-git.sh && \
/buildscripts/build-and-install-cmake.sh $X86_FLAG && \ /buildscripts/build-and-install-cmake.sh $X86_FLAG && \
/buildscripts/build-and-install-rustup.sh && \
/buildscripts/install-liquidprompt-binary.sh && \ /buildscripts/install-liquidprompt-binary.sh && \
PYTHON=$([ -e /opt/python/cp311-cp311/bin/python ] && echo "/opt/python/cp311-cp311/bin/python" || echo "python3") && \ PYTHON=$([ -e /opt/python/cp38-cp38/bin/python ] && echo "/opt/python/cp38-cp38/bin/python" || echo "python3") && \
/buildscripts/install-python-packages.sh -python ${PYTHON} && \ /buildscripts/install-python-packages.sh -python ${PYTHON} && \
/buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \ /buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \
/buildscripts/build-and-install-flatcc.sh && \ /buildscripts/build-and-install-flatcc.sh && \

View File

@ -11,4 +11,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url=$VCS_URL \ org.label-schema.vcs-url=$VCS_URL \
org.label-schema.schema-version="1.0" org.label-schema.schema-version="1.0"
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION} ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}

View File

@ -14,9 +14,7 @@ RUN \
openssh-clients \ openssh-clients \
pax \ pax \
wget \ wget \
nasm \
zip \ zip \
libatomic \
&& \ && \
yum clean all && \ yum clean all && \
# Remove sudo provided by devtoolset since it doesn't work with # Remove sudo provided by devtoolset since it doesn't work with

View File

@ -1,6 +1,5 @@
RUN \ RUN \
set -x && \ set -x && \
yum upgrade -y almalinux-release && \
yum -y install \ yum -y install \
gpg \ gpg \
python3-devel \ python3-devel \
@ -8,7 +7,6 @@ RUN \
gettext \ gettext \
openssh-clients \ openssh-clients \
wget \ wget \
nasm \
zip \ zip \
&& \ && \
yum clean all yum clean all
@ -22,7 +20,7 @@ RUN \
set -x && \ set -x && \
# Remove sudo provided by devtoolset since it doesn't work with # Remove sudo provided by devtoolset since it doesn't work with
# our sudo wrapper calling gosu. # our sudo wrapper calling gosu.
rm -f /opt/rh/gcc-toolset-12/root/usr/bin/sudo && \ rm -f /opt/rh/gcc-toolset-11/root/usr/bin/sudo && \
/buildscripts/install-python-packages.sh && \ /buildscripts/install-python-packages.sh && \
rm -rf /buildscripts rm -rf /buildscripts

View File

@ -1,30 +0,0 @@
RUN \
set -x && \
yum upgrade -y almalinux-release && \
yum -y install \
gpg \
python3-devel \
zlib-devel \
gettext \
openssh-clients \
wget \
nasm \
zip \
&& \
yum clean all
# Image build scripts
COPY \
manylinux-common/install-python-packages.sh \
/buildscripts/
RUN \
set -x && \
# Remove sudo provided by devtoolset since it doesn't work with
# our sudo wrapper calling gosu.
rm -f /opt/rh/gcc-toolset-14/root/usr/bin/sudo && \
/buildscripts/install-python-packages.sh && \
rm -rf /buildscripts
# Runtime scripts
COPY manylinux-common/pre_exec.sh /dockcross/

View File

@ -2,9 +2,9 @@
# #
# Common WebAssembly tools. # Common WebAssembly tools.
# 2024-12, version 121 # main 2021-12-31
ENV BINARYEN_GIT_TAG=353b759b230dff8fb82aeb157aeb6db360d74a49 ENV BINARYEN_GIT_TAG 6137b338c7fb37ba98b63c31225ec9cfda8cfa59
RUN git clone --recursive https://github.com/WebAssembly/binaryen.git && \ RUN git clone https://github.com/WebAssembly/binaryen.git && \
cd binaryen && \ cd binaryen && \
git checkout ${BINARYEN_GIT_TAG} && \ git checkout ${BINARYEN_GIT_TAG} && \
cd ../ && \ cd ../ && \
@ -14,7 +14,6 @@ RUN git clone --recursive https://github.com/WebAssembly/binaryen.git && \
-DCMAKE_C_COMPILER=/usr/bin/cc \ -DCMAKE_C_COMPILER=/usr/bin/cc \
-DCMAKE_CXX_COMPILER=/usr/bin/c++ \ -DCMAKE_CXX_COMPILER=/usr/bin/c++ \
-G Ninja \ -G Ninja \
-DENABLE_WERROR:BOOL=OFF \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \ -DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DCMAKE_TOOLCHAIN_FILE="" \ -DCMAKE_TOOLCHAIN_FILE="" \
../binaryen && \ ../binaryen && \
@ -23,8 +22,8 @@ RUN git clone --recursive https://github.com/WebAssembly/binaryen.git && \
cd ../ && \ cd ../ && \
rm -rf binaryen* rm -rf binaryen*
# main 2024-12-23 # main 2021-12-31
ENV WABT_GIT_TAG=ea193b40d6d4a1a697d68ae855b2b3b3e263b377 ENV WABT_GIT_TAG a4366956e877c404d328358b2c00320b476763c0
RUN git clone --recurse-submodules https://github.com/WebAssembly/wabt.git && \ RUN git clone --recurse-submodules https://github.com/WebAssembly/wabt.git && \
cd wabt && \ cd wabt && \
git checkout ${WABT_GIT_TAG} && \ git checkout ${WABT_GIT_TAG} && \
@ -43,13 +42,12 @@ RUN git clone --recurse-submodules https://github.com/WebAssembly/wabt.git && \
cd ../ && \ cd ../ && \
rm -rf wabt* rm -rf wabt*
RUN mkdir -p /wasi-runtimes RUN mkdir /wasi-runtimes
ENV WASMTIME_HOME=/wasi-runtimes/wasmtime ENV WASMTIME_HOME /wasi-runtimes/wasmtime
RUN mkdir -p ${WASMTIME_HOME} && curl https://wasmtime.dev/install.sh -sSf | bash RUN mkdir ${WASMTIME_HOME} && curl https://wasmtime.dev/install.sh -sSf | bash
COPY imagefiles/wasmtime-pwd.sh ${WASMTIME_HOME}/bin/ COPY imagefiles/wasmtime-pwd.sh ${WASMTIME_HOME}/bin/
COPY imagefiles/wasmtime-pwd-threads.sh ${WASMTIME_HOME}/bin/ ENV PATH "$WASMTIME_HOME/bin:$PATH"
ENV PATH="$WASMTIME_HOME/bin:$PATH"
# For wasmer # For wasmer
RUN \ RUN \
@ -57,20 +55,20 @@ RUN \
apt-get install --no-install-recommends --yes \ apt-get install --no-install-recommends --yes \
libxkbcommon0 libxkbcommon0
ENV WASMER_DIR=/wasi-runtimes/wasmer ENV WASMER_DIR /wasi-runtimes/wasmer
RUN curl https://get.wasmer.io -sSfL | sh RUN curl https://get.wasmer.io -sSfL | sh
COPY imagefiles/wasmer-pwd.sh ${WASMER_DIR}/bin/ COPY imagefiles/wasmer-pwd.sh ${WASMER_DIR}/bin/
ENV PATH="$WASMER_DIR/bin:$PATH" ENV PATH "$WASMER_DIR/bin:$PATH"
ENV WASM3_VERSION=0.5.0 ENV WASM3_VERSION 0.5.0
RUN mkdir -p /wasi-runtimes/wasm3/bin && \ RUN mkdir -p /wasi-runtimes/wasm3/bin && \
curl -LO https://github.com/wasm3/wasm3/releases/download/v${WASM3_VERSION}/wasm3-linux-x64.elf && \ curl -LO https://github.com/wasm3/wasm3/releases/download/v${WASM3_VERSION}/wasm3-linux-x64.elf && \
mv wasm3-linux-x64.elf /wasi-runtimes/wasm3/bin/wasm3 && \ mv wasm3-linux-x64.elf /wasi-runtimes/wasm3/bin/wasm3 && \
chmod +x /wasi-runtimes/wasm3/bin/wasm3 chmod +x /wasi-runtimes/wasm3/bin/wasm3
ENV PATH="/wasi-runtimes/wasm3/bin:$PATH" ENV PATH "/wasi-runtimes/wasm3/bin:$PATH"
ENV WAVM_VERSION=2022-05-14 ENV WAVM_VERSION 2021-12-15
RUN mkdir -p /wasi-runtimes/wavm/ && \ RUN mkdir -p /wasi-runtimes/wavm/ && \
curl -LO https://github.com/WAVM/WAVM/releases/download/nightly%2F${WAVM_VERSION}/wavm-0.0.0-prerelease-linux.tar.gz && \ curl -LO https://github.com/WAVM/WAVM/releases/download/nightly%2F${WAVM_VERSION}/wavm-0.0.0-prerelease-linux.tar.gz && \
tar -xv -C /wasi-runtimes/wavm/ -f wavm-0.0.0-prerelease-linux.tar.gz tar -xv -C /wasi-runtimes/wavm/ -f wavm-0.0.0-prerelease-linux.tar.gz
ENV PATH="/wasi-runtimes/wavm/bin:$PATH" ENV PATH "/wasi-runtimes/wavm/bin:$PATH"

View File

@ -9,16 +9,16 @@
# #
# 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
# #
# mxe master 2024-07-27 # mxe master 2021-10-18
ARG MXE_GIT_TAG=9f349e0de62a4a68bfc0f13d835a6c685dae9daa ARG MXE_GIT_TAG=8838ac3938cd8e47424a4cb5d3676d1ae9a4d670
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
@ -61,7 +61,7 @@ RUN \
patch \ patch \
perl \ perl \
pkg-config \ pkg-config \
python3 \ python \
ruby \ ruby \
scons \ scons \
sed \ sed \
@ -69,7 +69,6 @@ RUN \
wget \ wget \
wine \ wine \
xz-utils \ xz-utils \
python3-mako \
&& \ && \
# #
# Install Wine # Install Wine
@ -125,15 +124,14 @@ RUN \
# #
rm -rf /tmp/wine-* rm -rf /tmp/wine-*
ENV CROSS_ROOT=/usr/src/mxe/usr ENV PATH ${PATH}:/usr/src/mxe/usr/bin
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV CROSS_TRIPLE ${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}
ENV CROSS_TRIPLE=${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD} ENV AS=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-as \
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ AR=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ar \
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ CC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gcc \
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ CPP=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-cpp \
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \ CXX=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-g++ \
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \ LD=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ld \
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ FC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gfortran
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
WORKDIR /work WORKDIR /work

View File

@ -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.1w.tar.gz.sha256 # Hash from https://www.openssl.org/source/openssl-1.1.1l.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 --no-same-owner tar -xzf ${perl_fname}.tar.gz
(cd ${perl_fname} && do_perl_build) (cd ${perl_fname} && do_perl_build)
rm -rf ${perl_fname} ${perl_fname}.tar.gz rm -rf ${perl_fname} ${perl_fname}.tar.gz
} }

View File

@ -1,10 +0,0 @@
#!/usr/bin/env bash
set -ex
if ! command -v curl &> /dev/null; then
echo >&2 'error: "curl" not found!'
exit 1
fi
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

View File

@ -10,11 +10,10 @@
# -E = CMake command mode. # -E = CMake command mode.
# --build <dir> = Build a CMake-generated project binary tree. # --build <dir> = Build a CMake-generated project binary tree.
# --find-package = Run in pkg-config like mode. # --find-package = Run in pkg-config like mode.
# --install = install an already-generated project
# #
case $1 in case $1 in
-E|--build|--find-package|--install) -E|--build|--find-package)
exec /usr/bin/cmake "$@" exec /usr/bin/cmake "$@"
;; ;;

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

@ -26,15 +26,8 @@ if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then
groupadd -o -g "$BUILDER_GID" "$BUILDER_GROUP" 2> /dev/null groupadd -o -g "$BUILDER_GID" "$BUILDER_GROUP" 2> /dev/null
useradd -o -m -g "$BUILDER_GID" -u "$BUILDER_UID" "$BUILDER_USER" 2> /dev/null useradd -o -m -g "$BUILDER_GID" -u "$BUILDER_UID" "$BUILDER_USER" 2> /dev/null
# Change ownership of /dev/pts/0 to new user
chown "$BUILDER_UID" /dev/pts/0
export HOME=/home/${BUILDER_USER} export HOME=/home/${BUILDER_USER}
shopt -s dotglob shopt -s dotglob
# Move rustup/cargo directories as they are large, and not needed as root
mv -t $HOME/ /root/.rustup /root/.cargo
# Copy the rest
cp -r /root/* $HOME/ cp -r /root/* $HOME/
chown -R $BUILDER_UID:$BUILDER_GID $HOME chown -R $BUILDER_UID:$BUILDER_GID $HOME
@ -45,7 +38,7 @@ if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then
# Enable passwordless sudo capabilities for the user # Enable passwordless sudo capabilities for the user
chown root:$BUILDER_GID "$(which gosu)" chown root:$BUILDER_GID "$(which gosu)"
chmod +s "$(which gosu)" chmod +s "$(which gosu)"; sync
# Execute project specific pre execution hook # Execute project specific pre execution hook
if [[ -e /work/.dockcross ]]; then if [[ -e /work/.dockcross ]]; then

View File

@ -53,8 +53,8 @@ if [ -z ${CONFIG_PATH} ] || [ ! -f ${CONFIG_PATH} ]; then
fi fi
if [ -z ${REV} ]; then if [ -z ${REV} ]; then
echo "WARNING: No version selected, use default version: crosstool-ng-1.25.0 (-v)." echo "WARNING: No version selected, use default version: crosstool-ng-1.23.0 (-v)."
REV=crosstool-ng-1.25.0 REV=crosstool-ng-1.23.0
fi fi
@ -75,13 +75,15 @@ git fetch --tags
# checkout # checkout
git checkout ${REV} git checkout ${REV}
if [ ${REV} = "crosstool-ng-1.25.0" ]; then if [ ${REV} = "crosstool-ng-1.23.0" ]; then
patch scripts/build/companion_libs/050-zlib.sh -i /dockcross/crosstool-ng-zlib-target.patch patch scripts/build/companion_libs/210-expat.sh -i /dockcross/crosstool-ng-expat.patch
# Patch to fix error with bash 5 and up: https://github.com/pfalcon/esp-open-sdk/issues/365
patch configure.ac -i /dockcross/Fix-error-with-bash-5-and-up.patch
# Clean patch # Clean patch
rm /dockcross/crosstool-ng-zlib-target.patch rm /dockcross/Fix-error-with-bash-5-and-up.patch
rm /dockcross/crosstool-ng-expat.patch
fi fi
# Bootstrap and install the tool. # Bootstrap and install the tool.
BOOTSTRAP_PREFIX="${CTNG}/prefix" BOOTSTRAP_PREFIX="${CTNG}/prefix"
./bootstrap ./bootstrap

View File

@ -14,44 +14,9 @@ if ! command -v gpg &> /dev/null; then
fi fi
GOSU_VERSION=1.12 GOSU_VERSION=1.12
dpkgArch=$(if test "$(uname -m)" = "x86_64"; then echo amd64; else echo i386; fi)
ARCH=$(uname -m) url="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${dpkgArch}"
case "$ARCH" in url_key="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${dpkgArch}.asc"
x86_64)
GOSU_ARCH=amd64
;;
aarch64)
GOSU_ARCH=arm64
;;
armv7l)
GOSU_ARCH=armhf
;;
armv6l)
GOSU_ARCH=armel
;;
i686|i386)
GOSU_ARCH=i386
;;
mips64el)
GOSU_ARCH=mips64el
;;
ppc64el)
GOSU_ARCH=ppc64el
;;
riscv64)
GOSU_ARCH=riscv64
;;
s390x)
GOSU_ARCH=s390x
;;
*)
echo "Error: unsupported arch (${ARCH}) by gosu (https://github.com/tianon/gosu/releases)" >&2
exit 1
;;
esac
url="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${GOSU_ARCH}"
url_key="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${GOSU_ARCH}.asc"
# download and verify the signature # download and verify the signature
export GNUPGHOME="$(mktemp -d)" export GNUPGHOME="$(mktemp -d)"

View File

@ -7,17 +7,12 @@ 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" --depth 1 -b "${LIQUIDPROMT_VERSION}" liquidprompt git clone "https://github.com/nojhan/liquidprompt.git" -b v_1.11
cat << EOF >> /root/.bashrc cat << EOF >> /root/.bashrc

View File

@ -23,11 +23,10 @@ cd /tmp
curl -# -LO https://bootstrap.pypa.io/pip/get-pip.py curl -# -LO https://bootstrap.pypa.io/pip/get-pip.py
# https://github.com/pypa/setuptools/issues/2993 # https://github.com/pypa/setuptools/issues/2993
export SETUPTOOLS_USE_DISTUTILS=stdlib export SETUPTOOLS_USE_DISTUTILS=stdlib
# Add --break-system-packages to fix change since python 3.11: https://stackoverflow.com/a/75722775/10152334 ${PYTHON} get-pip.py --ignore-installed
${PYTHON} get-pip.py --ignore-installed --break-system-packages
rm get-pip.py rm get-pip.py
${PYTHON} -m pip install --break-system-packages --upgrade --ignore-installed setuptools ${PYTHON} -m pip install --upgrade --ignore-installed setuptools
${PYTHON} -m pip install --break-system-packages --ignore-installed conan meson ${PYTHON} -m pip install --ignore-installed conan
# Purge cache to save space: https://stackoverflow.com/questions/37513597/is-it-safe-to-delete-cache-pip-directory # Purge cache to save space: https://stackoverflow.com/questions/37513597/is-it-safe-to-delete-cache-pip-directory
${PYTHON} -m pip cache purge ${PYTHON} -m pip cache purge

View File

@ -0,0 +1,28 @@
From 67368ebe9d9259e9f34a4f9166a33357858813f1 Mon Sep 17 00:00:00 2001
From: Bensuperpc <bensuperpc@gmail.com>
Date: Thu, 24 Jun 2021 11:55:48 +0200
Subject: [PATCH 1/1] Fix error with bash 5 and up
Fix error with bash 5 and up
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index d10bf71d..e2302b4c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -274,7 +274,7 @@ ACX_PROG_VERSION_REQ_STRICT([BASH_SHELL],
[GNU bash >= 3.1],
[bash],
[bash],
- ['^GNU bash, version (3\.[1-9]|4)'])
+ ['^GNU bash, version (3\.[1-9]|4|5)'])
# We need a awk that *is* GNU awk
ACX_PROG_VERSION_REQ_STRICT([AWK],
--
2.32.0

View File

@ -0,0 +1,11 @@
--- crosstool-ng-crosstool-ng-1.23.0/scripts/build/companion_libs/210-expat.sh 2021-04-05 13:55:31.047130000 +0000
+++ crosstool-ng-crosstool-ng-1.23.0/scripts/build/companion_libs/210-expat.sh.new 2021-04-05 13:57:13.841170000 +0000
@@ -10,7 +10,7 @@
do_expat_get() {
CT_GetFile "expat-${CT_EXPAT_VERSION}" .tar.gz \
- http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION}
+ https://github.com/libexpat/libexpat/releases/download/R_${CT_EXPAT_VERSION//./_}
}
do_expat_extract() {

View File

@ -1,77 +0,0 @@
--- a/scripts/build/companion_libs/050-zlib.sh
+++ b/scripts/build/companion_libs/050-zlib.sh
@@ -9,7 +9,7 @@ do_zlib_for_host() { :; }
do_zlib_for_target() { :; }
# Overide functions depending on configuration
-if [ "${CT_ZLIB}" = "y" ]; then
+if [ "${CT_ZLIB}" = "y" -o "${CT_ZLIB_TARGET}" = "y" ]; then
# Download zlib
do_zlib_get() {
@@ -21,6 +21,8 @@ do_zlib_extract() {
CT_ExtractPatch ZLIB
}
+if [ "${CT_ZLIB}" = "y" ]; then
+
# Build zlib for running on build
# - always build statically
# - install in build-tools prefix
@@ -61,6 +63,38 @@ do_zlib_for_host() {
CT_EndStep
}
+fi # CT_ZLIB
+
+if [ "${CT_ZLIB_TARGET}" = "y" ]; then
+
+do_zlib_for_target() {
+ local -a zlib_opts
+ local prefix
+
+ CT_DoStep INFO "Installing zlib for the target"
+ CT_mkdir_pushd "${CT_BUILD_DIR}/build-zlib-target-${CT_TARGET}"
+
+ case "${CT_TARGET}" in
+ *-*-mingw*)
+ prefix="/mingw"
+ ;;
+ *)
+ prefix="/usr"
+ ;;
+ esac
+
+ zlib_opts+=( "host=${CT_TARGET}" )
+ zlib_opts+=( "prefix=${prefix}" )
+ zlib_opts+=( "destdir=${CT_SYSROOT_DIR}" )
+ zlib_opts+=( "cflags=${CT_ALL_TARGET_CFLAGS}" )
+ do_zlib_backend "${zlib_opts[@]}"
+
+ CT_Popd
+ CT_EndStep
+}
+
+fi # CT_ZLIB_TARGET
+
# Build zlib
# Parameter : description : type : default
# host : machine to run on : tuple : (none)
@@ -72,6 +106,7 @@ do_zlib_backend() {
local prefix
local cflags
local ldflags
+ local destdir
local arg
local -a extra_config
local -a extra_make
@@ -126,7 +161,7 @@ do_zlib_backend() {
fi
CT_DoLog EXTRA "Installing zlib"
- CT_DoExecLog ALL make "${extra_make[@]}" install
+ CT_DoExecLog ALL make "${extra_make[@]}" install DESTDIR="${destdir}"
}
-fi # CT_ZLIB
+fi # CT_ZLIB || CT_ZLIB_TARGET

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Mount the PWD and the /work mount dir to enable access in try_run commands # Mount the PWD to enable access in try_run commands
exec ${WASMER_DIR}/bin/wasmer run --dir=. --dir=$PWD --dir=/work/ "$@" exec ${WASMER_DIR}/bin/wasmer run --dir=. --dir=$PWD "$@"

View File

@ -1,4 +0,0 @@
#!/usr/bin/env bash
# Mount the PWD and the /work mount dir to enable access in try_run commands
exec ${WASMTIME_HOME}/bin/wasmtime run -W threads=y -S threads=y,cli=y --dir=. --dir=$PWD --dir=/work/ "$@"

View File

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Mount the PWD and the /work mount dir to enable access in try_run commands # Mount the PWD to enable access in try_run commands
exec ${WASMTIME_HOME}/bin/wasmtime run --dir=. --dir=$PWD --dir=/work/ "$@" exec ${WASMTIME_HOME}/bin/wasmtime run --dir=. --dir=$PWD "$@"

View File

@ -1,13 +1,12 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
# This is for 64-bit ARM Linux machine # This is for 64-bit ARM Linux machine
# 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 +18,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 +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/aarch64-linux-gnu/pkgconfig #ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm64 ENV ARCH arm64
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)

View File

@ -1,10 +1,9 @@
ARG ORG=dockcross FROM dockcross/base:latest
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 +15,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 +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 ${CROSS_ROOT}/ COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm64 ENV ARCH arm64
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64)

View File

@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -838,7 +838,7 @@ CT_ZLIB_SRC_RELEASE=y
CT_ZLIB_PATCH_ORDER="global" CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12" CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/ https://www.zlib.net/fossils" 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_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"

View File

@ -1,16 +1,12 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
ENV XCC_PREFIX=/usr/xcc ENV XCC_PREFIX /usr/xcc
ENV CROSS_TRIPLE=aarch64-linux-musl ENV CROSS_TRIPLE aarch64-linux-musl
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross
RUN mkdir -p ${XCC_PREFIX} RUN mkdir -p ${XCC_PREFIX}
# RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
# RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
# Mirrored for reliability.
RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
@ -20,19 +16,13 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
# Prepare Rust
ENV PATH="/root/.cargo/bin/:$PATH"
RUN rustup target add aarch64-unknown-linux-musl && cargo install --version 0.28.0 cbindgen
COPY config.toml /root/.cargo/
# Prepare CMake
COPY Toolchain.cmake ${CROSS_ROOT}/ COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm64 ENV ARCH arm64
# Build-time metadata as defined at http://label-schema.org # Build-time metadata as defined at http://label-schema.org
ARG BUILD_DATE ARG BUILD_DATE
@ -41,9 +31,9 @@ ARG VERSION=latest
ARG VCS_REF ARG VCS_REF
ARG VCS_URL ARG VCS_URL
LABEL org.label-schema.build-date=$BUILD_DATE \ LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.name=$IMAGE \ org.label-schema.name=$IMAGE \
org.label-schema.version=$VERSION \ org.label-schema.version=$VERSION \
org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url=$VCS_URL \ org.label-schema.vcs-url=$VCS_URL \
org.label-schema.schema-version="1.0" org.label-schema.schema-version="1.0"
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION} ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}

View File

@ -11,7 +11,7 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)

View File

@ -1,7 +0,0 @@
[build]
target = "aarch64-unknown-linux-musl"
[target.aarch64-unknown-linux-musl]
ar = "/usr/xcc/aarch64-linux-musl-cross/bin/aarch64-linux-musl-ar"
linker = "/usr/xcc/aarch64-linux-musl-cross/bin/aarch64-linux-musl-ld"

View File

@ -1,13 +1,11 @@
ARG ORG=dockcross FROM dockcross/base:latest
ARG HOST_ARCH=amd64
FROM ${ORG}/base:latest-${HOST_ARCH}
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.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 2022-05-19
ENV CT_VERSION crosstool-ng-1.27.0 ENV CT_VERSION crosstool-ng-1.25.0
#include "common.crosstool" #include "common.crosstool"
@ -19,9 +17,9 @@ RUN apt-get update \
&& apt-get clean --yes && apt-get clean --yes
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target. # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnu" target.
ENV CROSS_TRIPLE=aarch64-unknown-linux-gnu ENV CROSS_TRIPLE aarch64-unknown-linux-gnu
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE} ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \ CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
@ -30,17 +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/aarch64-linux-gnu/pkgconfig ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm64 ENV ARCH arm64
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64)

View File

@ -1,15 +1,16 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.27.0 Configuration # crosstool-NG 1.25.0.26_db6f703 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_meson=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_libtool_2_4_or_newer=y CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_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_autoconf_2_65_or_newer=y
@ -18,7 +19,6 @@ CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_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_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_bison_3_0_4_or_newer=y
CT_CONFIGURE_has_python=y CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_dtc=y CT_CONFIGURE_has_dtc=y
CT_CONFIGURE_has_git=y CT_CONFIGURE_has_git=y
@ -27,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.27.0" CT_VERSION="1.25.0.26_db6f703"
CT_VCHECK="" CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4" CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4" CT_CONFIG_VERSION_CURRENT="4"
@ -71,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="--tries=5 -nc --progress=dot:binary" CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -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
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -132,13 +132,11 @@ CT_LOG_FILE_COMPRESS=y
# CT_ARCH_ARC is not set # CT_ARCH_ARC is not set
CT_ARCH_ARM=y CT_ARCH_ARM=y
# CT_ARCH_AVR is not set # CT_ARCH_AVR is not set
# CT_ARCH_BPF is not set
# CT_ARCH_M68K is not set # CT_ARCH_M68K is not set
# CT_ARCH_MIPS is not set # CT_ARCH_MIPS is not set
# 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
@ -147,14 +145,14 @@ CT_ARCH_ARM=y
CT_ARCH="arm" CT_ARCH="arm"
CT_ARCH_CHOICE_KSYM="ARM" CT_ARCH_CHOICE_KSYM="ARM"
CT_ARCH_CPU="" CT_ARCH_CPU=""
CT_ARCH_TUNE="cortex-a72" CT_ARCH_TUNE=""
CT_ARCH_ARM_SHOW=y 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 LM32 LOONGARCH M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 OPENRISC PARISC POWERPC PRU RISCV S390 SH SPARC TRICORE X86 XTENSA" 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_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set # CT_OMIT_TARGET_VENDOR is not set
@ -167,7 +165,6 @@ CT_ARCH_SUPPORTS_BOTH_MMU=y
CT_ARCH_DEFAULT_HAS_MMU=y CT_ARCH_DEFAULT_HAS_MMU=y
CT_ARCH_USE_MMU=y CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_FLAT_FORMAT=y CT_ARCH_SUPPORTS_FLAT_FORMAT=y
CT_ARCH_SUPPORTS_LIBSANITIZER=y
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
CT_ARCH_DEFAULT_LE=y CT_ARCH_DEFAULT_LE=y
# CT_ARCH_BE is not set # CT_ARCH_BE is not set
@ -252,30 +249,17 @@ 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_3 is not set
# CT_LINUX_V_6_2 is not set
CT_LINUX_V_6_1=y
# CT_LINUX_V_6_0 is not set
# CT_LINUX_V_5_19 is not set
# CT_LINUX_V_5_18 is not set
# CT_LINUX_V_5_17 is not set # CT_LINUX_V_5_17 is not set
# CT_LINUX_V_5_16 is not set # CT_LINUX_V_5_16 is not set
# CT_LINUX_V_5_15 is not set # CT_LINUX_V_5_15 is not set
# CT_LINUX_V_5_14 is not set CT_LINUX_V_5_14=y
# CT_LINUX_V_5_13 is not set # CT_LINUX_V_5_13 is not set
# CT_LINUX_V_5_12 is not set # CT_LINUX_V_5_12 is not set
# CT_LINUX_V_5_11 is not set # CT_LINUX_V_5_11 is not set
@ -306,14 +290,12 @@ 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.127" CT_LINUX_VERSION="5.14.18"
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}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign" CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_later_than_5_19=y
CT_LINUX_5_19_or_later=y
CT_LINUX_later_than_5_12=y CT_LINUX_later_than_5_12=y
CT_LINUX_5_12_or_later=y CT_LINUX_5_12_or_later=y
CT_LINUX_later_than_5_5=y CT_LINUX_later_than_5_5=y
@ -328,7 +310,6 @@ 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
@ -363,11 +344,6 @@ 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_39 is not set
# CT_BINUTILS_V_2_38 is not set # CT_BINUTILS_V_2_38 is not set
CT_BINUTILS_V_2_37=y CT_BINUTILS_V_2_37=y
# CT_BINUTILS_V_2_36 is not set # CT_BINUTILS_V_2_36 is not set
@ -387,10 +363,6 @@ 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_older_than_2_39=y
CT_BINUTILS_later_than_2_30=y CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y CT_BINUTILS_later_than_2_27=y
@ -424,7 +396,6 @@ 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"
@ -442,14 +413,8 @@ 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_37 is not set
CT_GLIBC_V_2_36=y
# CT_GLIBC_V_2_35 is not set # CT_GLIBC_V_2_35 is not set
# CT_GLIBC_V_2_34 is not set CT_GLIBC_V_2_34=y
# CT_GLIBC_V_2_33 is not set # CT_GLIBC_V_2_33 is not set
# CT_GLIBC_V_2_32 is not set # CT_GLIBC_V_2_32 is not set
# CT_GLIBC_V_2_31 is not set # CT_GLIBC_V_2_31 is not set
@ -463,22 +428,14 @@ CT_GLIBC_V_2_36=y
# CT_GLIBC_V_2_23 is not set # CT_GLIBC_V_2_23 is not set
# CT_GLIBC_V_2_19 is not set # CT_GLIBC_V_2_19 is not set
# CT_GLIBC_V_2_17 is not set # CT_GLIBC_V_2_17 is not set
CT_GLIBC_VERSION="2.36" CT_GLIBC_VERSION="2.34"
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)" CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}" 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_older_than_2_38=y
CT_GLIBC_2_37_or_older=y
CT_GLIBC_older_than_2_37=y
CT_GLIBC_2_36_or_later=y
CT_GLIBC_2_36_or_older=y
CT_GLIBC_later_than_2_34=y
CT_GLIBC_2_34_or_later=y CT_GLIBC_2_34_or_later=y
CT_GLIBC_2_34_or_older=y
CT_GLIBC_later_than_2_32=y CT_GLIBC_later_than_2_32=y
CT_GLIBC_2_32_or_later=y CT_GLIBC_2_32_or_later=y
CT_GLIBC_later_than_2_31=y CT_GLIBC_later_than_2_31=y
@ -512,28 +469,28 @@ CT_GLIBC_DEP_PYTHON=y
CT_THREADS="nptl" CT_THREADS="nptl"
CT_GLIBC_BUILD_SSP=y CT_GLIBC_BUILD_SSP=y
CT_GLIBC_HAS_LIBIDN_ADDON=y CT_GLIBC_HAS_LIBIDN_ADDON=y
CT_GLIBC_USE_LIBIDN_ADDON=y # CT_GLIBC_USE_LIBIDN_ADDON is not set
CT_GLIBC_NO_SPARC_V8=y CT_GLIBC_NO_SPARC_V8=y
CT_GLIBC_EXTRA_CONFIG_ARRAY="" CT_GLIBC_EXTRA_CONFIG_ARRAY=""
CT_GLIBC_CONFIGPARMS="" CT_GLIBC_CONFIGPARMS=""
CT_GLIBC_ENABLE_DEBUG=y
CT_GLIBC_EXTRA_CFLAGS="" CT_GLIBC_EXTRA_CFLAGS=""
# CT_GLIBC_DISABLE_VERSIONING is not set # CT_GLIBC_DISABLE_VERSIONING is not set
CT_GLIBC_OLDEST_ABI="" CT_GLIBC_OLDEST_ABI=""
CT_GLIBC_FORCE_UNWIND=y CT_GLIBC_FORCE_UNWIND=y
# CT_GLIBC_LOCALES is not set # CT_GLIBC_LOCALES is not set
# 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 is not set
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set CT_GLIBC_KERNEL_VERSION_CHOSEN=y
CT_GLIBC_MIN_KERNEL="6.1.127" CT_GLIBC_MIN_KERNEL_VERSION="5.4.0"
CT_GLIBC_MIN_KERNEL="5.4.0"
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
# CT_GLIBC_SSP_ALL is not set # CT_GLIBC_SSP_ALL is not set
# CT_GLIBC_SSP_STRONG is not set # CT_GLIBC_SSP_STRONG is not set
CT_GLIBC_ENABLE_WERROR=y # CT_GLIBC_ENABLE_WERROR is not set
# CT_GLIBC_ENABLE_COMMON_FLAG is not set # CT_GLIBC_ENABLE_COMMON_FLAG is not set
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG" CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y CT_LIBC_SUPPORT_THREADS_NATIVE=y
@ -552,8 +509,6 @@ CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_D=y
CT_CC_SUPPORT_JIT=y
CT_CC_SUPPORT_OBJC=y CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y CT_CC_SUPPORT_GOLANG=y
@ -568,33 +523,26 @@ CT_CC_GCC_SHOW=y
CT_CC_GCC_PKG_KSYM="GCC" CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc" CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y CT_GCC_USE_GNU=y
# CT_GCC_USE_ORACLE is not set
CT_GCC_USE="GCC" CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc" 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_12 is not set
# CT_GCC_V_13 is not set CT_GCC_V_11=y
CT_GCC_V_12=y
# CT_GCC_V_11 is not set
# CT_GCC_V_10 is not set # CT_GCC_V_10 is not set
# CT_GCC_V_9 is not set # CT_GCC_V_9 is not set
# 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.4.0" CT_GCC_VERSION="11.3.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_12_or_older=y
CT_GCC_older_than_14=y CT_GCC_older_than_12=y
CT_GCC_13_or_older=y
CT_GCC_older_than_13=y
CT_GCC_later_than_12=y
CT_GCC_12_or_later=y
CT_GCC_later_than_11=y CT_GCC_later_than_11=y
CT_GCC_11_or_later=y CT_GCC_11_or_later=y
CT_GCC_later_than_10=y CT_GCC_later_than_10=y
@ -621,7 +569,7 @@ CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="" CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_EXTRA_CONFIG_ARRAY="" CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_STATIC_LIBSTDCXX=y CT_CC_GCC_STATIC_LIBSTDCXX=y
# CT_CC_GCC_SYSTEM_ZLIB is not set CT_CC_GCC_SYSTEM_ZLIB=y
CT_CC_GCC_CONFIG_TLS=m CT_CC_GCC_CONFIG_TLS=m
# #
@ -629,21 +577,17 @@ 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=y CT_CC_GCC_LTO_ZSTD=m
# #
# 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_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=y
CT_CC_GCC_LIBSANITIZER=y CT_CC_GCC_LIBSANITIZER=y
CT_CC_GCC_LIBSTDCXX_VERBOSE=m
# #
# Misc. obscure options. # Misc. obscure options.
@ -673,38 +617,6 @@ 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
# #
@ -716,29 +628,17 @@ 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_16=y CT_GDB_V_12=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_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="16.2" CT_GDB_VERSION="12.1"
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_13_or_later=y
CT_GDB_later_than_12=y CT_GDB_later_than_12=y
CT_GDB_12_or_later=y CT_GDB_12_or_later=y
CT_GDB_later_than_11=y CT_GDB_later_than_11=y
@ -750,30 +650,15 @@ CT_GDB_8_3_or_later=y
CT_GDB_CROSS=y CT_GDB_CROSS=y
# CT_GDB_CROSS_STATIC is not set # CT_GDB_CROSS_STATIC is not set
# CT_GDB_CROSS_SIM is not set # CT_GDB_CROSS_SIM is not set
CT_GDB_CROSS_PYTHON=y # CT_GDB_CROSS_PYTHON is not set
CT_GDB_CROSS_PYTHON_BINARY=""
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY="" CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
# CT_GDB_NATIVE is not set # CT_GDB_NATIVE is not set
CT_GDB_GDBSERVER=y 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 is not set
CT_DEBUG_STRACE_PKG_KSYM="STRACE"
CT_STRACE_DIR_NAME="strace"
CT_STRACE_PKG_NAME="strace"
CT_STRACE_SRC_RELEASE=y
# CT_STRACE_SRC_DEVEL is not set
CT_STRACE_PATCH_ORDER="global"
CT_STRACE_V_6_13=y
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_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_STRACE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_STRACE_ARCHIVE_FORMATS=".tar.xz"
CT_STRACE_SIGNATURE_FORMAT=""
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE" CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# end of Debug facilities # end of Debug facilities
@ -781,7 +666,20 @@ CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
# Companion libraries # Companion libraries
# #
# CT_COMPLIBS_CHECK is not set # CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set CT_COMP_LIBS_CLOOG=y
CT_COMP_LIBS_CLOOG_PKG_KSYM="CLOOG"
CT_CLOOG_DIR_NAME="cloog"
CT_CLOOG_PKG_NAME="cloog"
CT_CLOOG_SRC_RELEASE=y
# CT_CLOOG_SRC_DEVEL is not set
CT_CLOOG_PATCH_ORDER="global"
CT_CLOOG_V_0_18_4=y
CT_CLOOG_VERSION="0.18.4"
CT_CLOOG_MIRRORS="http://www.bastoul.net/cloog/pages/download"
CT_CLOOG_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_CLOOG_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_CLOOG_ARCHIVE_FORMATS=".tar.gz"
CT_CLOOG_SIGNATURE_FORMAT=""
CT_COMP_LIBS_EXPAT=y CT_COMP_LIBS_EXPAT=y
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT" CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
CT_EXPAT_DIR_NAME="expat" CT_EXPAT_DIR_NAME="expat"
@ -789,8 +687,8 @@ CT_EXPAT_PKG_NAME="expat"
CT_EXPAT_SRC_RELEASE=y CT_EXPAT_SRC_RELEASE=y
# CT_EXPAT_SRC_DEVEL is not set # CT_EXPAT_SRC_DEVEL is not set
CT_EXPAT_PATCH_ORDER="global" CT_EXPAT_PATCH_ORDER="global"
CT_EXPAT_V_2_5=y CT_EXPAT_V_2_4=y
CT_EXPAT_VERSION="2.5.0" 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_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_FILENAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
@ -803,34 +701,17 @@ 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_23_1=y
# CT_GETTEXT_V_0_22_5 is not set
# CT_GETTEXT_V_0_21 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=y
# CT_GETTEXT_V_0_19_8_1 is not set # CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.23.1" CT_GETTEXT_VERSION="0.20.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_21_or_older=y
CT_GETTEXT_0_23_or_later=y CT_GETTEXT_older_than_0_21=y
CT_GETTEXT_later_than_0_21=y
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y
#
# This version of gettext is not compatible with uClibc-NG. Select
#
#
# a different version if uClibc-NG is used on the target or (in a
#
#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP" CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp" CT_GMP_DIR_NAME="gmp"
@ -838,10 +719,9 @@ 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_3=y CT_GMP_V_6_2=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.3.0" 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_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}"
@ -854,9 +734,7 @@ CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set # CT_ISL_SRC_DEVEL is not set
CT_ISL_PATCH_ORDER="global" CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_26=y CT_ISL_V_0_24=y
# CT_ISL_V_0_25 is not set
# CT_ISL_V_0_24 is not set
# CT_ISL_V_0_23 is not set # CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set # CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set # CT_ISL_V_0_21 is not set
@ -866,7 +744,7 @@ CT_ISL_V_0_26=y
# CT_ISL_V_0_17 is not set # CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set # CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set # CT_ISL_V_0_15 is not set
CT_ISL_VERSION="0.26" CT_ISL_VERSION="0.24"
CT_ISL_MIRRORS="https://libisl.sourceforge.io" CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
@ -876,20 +754,7 @@ CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y CT_ISL_0_15_or_later=y
CT_COMP_LIBS_LIBELF=y # CT_COMP_LIBS_LIBELF is not set
CT_COMP_LIBS_LIBELF_PKG_KSYM="LIBELF"
CT_LIBELF_DIR_NAME="libelf"
CT_LIBELF_PKG_NAME="libelf"
CT_LIBELF_SRC_RELEASE=y
# CT_LIBELF_SRC_DEVEL is not set
CT_LIBELF_PATCH_ORDER="global"
CT_LIBELF_V_0_8=y
CT_LIBELF_VERSION="0.8.13"
CT_LIBELF_MIRRORS="https://fossies.org/linux/misc/old http://oe-lite.org/mirror/libelf/ http://ftp.osuosl.org/pub/blfs/conglomeration/libelf/"
CT_LIBELF_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LIBELF_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LIBELF_ARCHIVE_FORMATS=".tar.gz"
CT_LIBELF_SIGNATURE_FORMAT=""
CT_COMP_LIBS_LIBICONV=y CT_COMP_LIBS_LIBICONV=y
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV" CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
CT_LIBICONV_DIR_NAME="libiconv" CT_LIBICONV_DIR_NAME="libiconv"
@ -912,9 +777,11 @@ 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_3=y CT_MPC_V_1_2=y
CT_MPC_VERSION="1.3.1" # CT_MPC_V_1_1 is not set
CT_MPC_MIRRORS="https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)" # 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_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz" CT_MPC_ARCHIVE_FORMATS=".tar.gz"
@ -928,9 +795,11 @@ CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set # CT_MPFR_SRC_DEVEL is not set
CT_MPFR_PATCH_ORDER="global" CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_2=y CT_MPFR_V_4_1=y
CT_MPFR_VERSION="4.2.1" # CT_MPFR_V_4_0 is not set
CT_MPFR_MIRRORS="https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)" # 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_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip" CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
@ -944,11 +813,10 @@ CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set # CT_NCURSES_SRC_DEVEL is not set
CT_NCURSES_PATCH_ORDER="global" CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_4=y CT_NCURSES_V_6_2=y
# CT_NCURSES_V_6_2 is not set
# CT_NCURSES_V_6_1 is not set # CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set # CT_NCURSES_V_6_0 is not set
CT_NCURSES_VERSION="6.4" CT_NCURSES_VERSION="6.2"
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)" CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
@ -968,31 +836,14 @@ 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_3_1=y CT_ZLIB_V_1_2_12=y
# CT_ZLIB_V_1_2_13 is not set CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_VERSION="1.3.1" CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${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}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc" CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_ZSTD=y CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB"
CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD"
CT_ZSTD_DIR_NAME="zstd"
CT_ZSTD_PKG_NAME="zstd"
CT_ZSTD_SRC_RELEASE=y
# CT_ZSTD_SRC_DEVEL is not set
CT_ZSTD_PATCH_ORDER="global"
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_VERSION="1.5.6"
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_DIRNAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_FORMATS=".tar.gz"
CT_ZSTD_SIGNATURE_FORMAT="packed/.sig"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD"
CT_LIBICONV_NEEDED=y CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y CT_GMP_NEEDED=y
@ -1002,7 +853,6 @@ CT_MPC_NEEDED=y
CT_EXPAT_NEEDED=y CT_EXPAT_NEEDED=y
CT_NCURSES_NEEDED=y CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y CT_ZLIB_NEEDED=y
CT_ZSTD_NEEDED=y
CT_LIBICONV=y CT_LIBICONV=y
CT_GETTEXT=y CT_GETTEXT=y
CT_GMP=y CT_GMP=y
@ -1012,7 +862,6 @@ CT_MPC=y
CT_EXPAT=y CT_EXPAT=y
CT_NCURSES=y CT_NCURSES=y
CT_ZLIB=y CT_ZLIB=y
CT_ZSTD=y
# end of Companion libraries # end of Companion libraries
# #

View File

@ -1,14 +1,13 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
# This is for ARMv5 "legacy" (armel) devices which do NOT support hard float # This is for ARMv5 "legacy" (armel) devices which do NOT support hard float
# VFP instructions (armhf). # VFP instructions (armhf).
# 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 +19,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 +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-musleabihf/ ENV PKG_CONFIG_PATH /usr/lib/arm-linux-musleabihf/
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm ENV ARCH arm
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -10,10 +10,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)

View File

@ -124,7 +124,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -860,7 +860,7 @@ CT_ZLIB_PATCH_GLOBAL=y
CT_ZLIB_PATCH_ORDER="global" CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12" CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/ https://www.zlib.net/fossils" 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_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"

View File

@ -1,10 +1,9 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.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 +15,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 +25,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
COPY Toolchain.cmake /usr/lib/${CROSS_ROOT}/ COPY Toolchain.cmake /usr/lib/${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_ROOT}/Toolchain.cmake
ENV PKG_CONFIG_PATH=/usr/lib/{CROSS_ROOT}/pkgconfig/ ENV PKG_CONFIG_PATH /usr/lib/{CROSS_ROOT}/pkgconfig/
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm ENV ARCH arm
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)

View File

@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -802,7 +802,7 @@ CT_ZLIB_SRC_RELEASE=y
CT_ZLIB_PATCH_ORDER="global" CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12" CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/ https://www.zlib.net/fossils" 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_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"

View File

@ -1,13 +1,12 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
# This is for ARMv5 "legacy" (armel) devices which do NOT support hard float # This is for ARMv5 "legacy" (armel) devices which do NOT support hard float
# 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 +21,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 +31,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-gnueabihf/
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm ENV ARCH arm
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)

View File

@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -852,7 +852,7 @@ CT_ZLIB_SRC_RELEASE=y
CT_ZLIB_PATCH_ORDER="global" CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12" CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/ https://www.zlib.net/fossils" 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_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"

View File

@ -1,10 +1,9 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.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 +18,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 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
COPY Toolchain.cmake ${CROSS_ROOT}/ COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/ ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm ENV ARCH arm
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)

View File

@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -852,7 +852,7 @@ CT_ZLIB_SRC_RELEASE=y
CT_ZLIB_PATCH_ORDER="global" CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12" CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/ https://www.zlib.net/fossils" 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_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"

View File

@ -1,16 +1,12 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
ENV XCC_PREFIX=/usr/xcc ENV XCC_PREFIX /usr/xcc
ENV CROSS_TRIPLE=armv6-linux-musleabihf ENV CROSS_TRIPLE armv6-linux-musleabihf
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross
RUN mkdir -p ${XCC_PREFIX} RUN mkdir -p ${XCC_PREFIX}
# RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
# RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
# Mirrored for reliability
RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
@ -21,12 +17,12 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
COPY Toolchain.cmake ${CROSS_ROOT}/ COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm ENV ARCH arm
# Build-time metadata as defined at http://label-schema.org # Build-time metadata as defined at http://label-schema.org
ARG BUILD_DATE ARG BUILD_DATE
@ -40,4 +36,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url=$VCS_URL \ org.label-schema.vcs-url=$VCS_URL \
org.label-schema.schema-version="1.0" org.label-schema.schema-version="1.0"
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION} ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}

View File

@ -11,7 +11,7 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)

View File

@ -1,10 +1,9 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.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 +18,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 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
COPY Toolchain.cmake ${CROSS_ROOT}/ COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/ ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm ENV ARCH arm
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -10,10 +10,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)

View File

@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -854,7 +854,7 @@ CT_ZLIB_SRC_RELEASE=y
CT_ZLIB_PATCH_ORDER="global" CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12" CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/ https://www.zlib.net/fossils" 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_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"

View File

@ -1,10 +1,9 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.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 +17,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 +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/arm-linux-gnueabihf/ ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm ENV ARCH arm
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)

View File

@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -839,7 +839,7 @@ CT_ZLIB_SRC_RELEASE=y
CT_ZLIB_PATCH_ORDER="global" CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12" CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/ https://www.zlib.net/fossils" 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_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"

View File

@ -1,10 +1,9 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.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 +17,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 +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/arm-linux-gnueabihf/ ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm ENV ARCH arm
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)

View File

@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -854,7 +854,7 @@ CT_ZLIB_SRC_RELEASE=y
CT_ZLIB_PATCH_ORDER="global" CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12" CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/ https://www.zlib.net/fossils" 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_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"

View File

@ -1,13 +1,12 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
# This is for 32-bit ARMv7a Linux # This is for 32-bit ARMv7a Linux
# 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 +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=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 +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/pkgconfig ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/pkgconfig
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm ENV ARCH arm
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)

View File

@ -116,7 +116,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -851,7 +851,7 @@ CT_ZLIB_SRC_RELEASE=y
CT_ZLIB_PATCH_ORDER="global" CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12" CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/ https://www.zlib.net/fossils" 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_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"

View File

@ -1,12 +1,11 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
# This is for 32-bit ARMv7 Linux # This is for 32-bit ARMv7 Linux
# Crosstool-ng version 2024-05-21 # Crosstool-ng version 2022-05-19
ENV CT_VERSION=crosstool-ng-1.26.0 ENV CT_VERSION crosstool-ng-1.25.0
#include "common.crosstool" #include "common.crosstool"
@ -19,9 +18,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 +29,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
ENV DEFAULT_DOCKCROSS_IMAGE=dockcross/linux-armv7a ENV DEFAULT_DOCKCROSS_IMAGE dockcross/linux-armv7a
COPY Toolchain.cmake ${CROSS_ROOT}/ COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/ ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm ENV ARCH arm
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)

View File

@ -1,6 +1,6 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.26.0 Configuration # crosstool-NG 1.25.0.26_db6f703 Configuration
# #
CT_CONFIGURE_has_static_link=y CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y CT_CONFIGURE_has_cxx11=y
@ -19,15 +19,15 @@ CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_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_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_bison_3_0_4_or_newer=y
CT_CONFIGURE_has_python=y CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_dtc=y
CT_CONFIGURE_has_git=y CT_CONFIGURE_has_git=y
CT_CONFIGURE_has_md5sum=y CT_CONFIGURE_has_md5sum=y
CT_CONFIGURE_has_sha1sum=y 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.25.0.26_db6f703"
CT_VCHECK="" CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4" CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4" CT_CONFIG_VERSION_CURRENT="4"
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -132,7 +132,6 @@ CT_LOG_FILE_COMPRESS=y
# CT_ARCH_ARC is not set # CT_ARCH_ARC is not set
CT_ARCH_ARM=y CT_ARCH_ARM=y
# CT_ARCH_AVR is not set # CT_ARCH_AVR is not set
# CT_ARCH_BPF is not set
# CT_ARCH_M68K is not set # CT_ARCH_M68K is not set
# CT_ARCH_MIPS is not set # CT_ARCH_MIPS is not set
# CT_ARCH_NIOS2 is not set # CT_ARCH_NIOS2 is not set
@ -159,7 +158,7 @@ CT_ARCH_ARM_MODE_ARM=y
CT_ARCH_ARM_EABI_FORCE=y CT_ARCH_ARM_EABI_FORCE=y
CT_ARCH_ARM_EABI=y CT_ARCH_ARM_EABI=y
CT_ARCH_ARM_TUPLE_USE_EABIHF=y CT_ARCH_ARM_TUPLE_USE_EABIHF=y
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 C6X M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
CT_ARCH_SUFFIX="" CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set # CT_OMIT_TARGET_VENDOR is not set
@ -172,7 +171,6 @@ CT_ARCH_SUPPORTS_BOTH_MMU=y
CT_ARCH_DEFAULT_HAS_MMU=y CT_ARCH_DEFAULT_HAS_MMU=y
CT_ARCH_USE_MMU=y CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_FLAT_FORMAT=y CT_ARCH_SUPPORTS_FLAT_FORMAT=y
CT_ARCH_SUPPORTS_LIBSANITIZER=y
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
CT_ARCH_DEFAULT_LE=y CT_ARCH_DEFAULT_LE=y
# CT_ARCH_BE is not set # CT_ARCH_BE is not set
@ -272,17 +270,10 @@ 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_4 is not set
# CT_LINUX_V_6_3 is not set
# CT_LINUX_V_6_2 is not set
CT_LINUX_V_6_1=y
# CT_LINUX_V_6_0 is not set
# CT_LINUX_V_5_19 is not set
# CT_LINUX_V_5_18 is not set
# CT_LINUX_V_5_17 is not set # CT_LINUX_V_5_17 is not set
# CT_LINUX_V_5_16 is not set # CT_LINUX_V_5_16 is not set
# CT_LINUX_V_5_15 is not set # CT_LINUX_V_5_15 is not set
# CT_LINUX_V_5_14 is not set CT_LINUX_V_5_14=y
# CT_LINUX_V_5_13 is not set # CT_LINUX_V_5_13 is not set
# CT_LINUX_V_5_12 is not set # CT_LINUX_V_5_12 is not set
# CT_LINUX_V_5_11 is not set # CT_LINUX_V_5_11 is not set
@ -315,14 +306,12 @@ CT_LINUX_V_6_1=y
# CT_LINUX_V_3_10 is not set # CT_LINUX_V_3_10 is not set
# CT_LINUX_V_3_4 is not set # CT_LINUX_V_3_4 is not set
# CT_LINUX_V_3_2 is not set # CT_LINUX_V_3_2 is not set
CT_LINUX_VERSION="6.1.35" CT_LINUX_VERSION="5.14.18"
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}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign" CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_later_than_5_19=y
CT_LINUX_5_19_or_later=y
CT_LINUX_later_than_5_12=y CT_LINUX_later_than_5_12=y
CT_LINUX_5_12_or_later=y CT_LINUX_5_12_or_later=y
CT_LINUX_later_than_5_5=y CT_LINUX_later_than_5_5=y
@ -370,11 +359,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_40=y
# CT_BINUTILS_V_2_39 is not set
# CT_BINUTILS_V_2_38 is not set # CT_BINUTILS_V_2_38 is not set
# CT_BINUTILS_V_2_37 is not set # CT_BINUTILS_V_2_37 is not set
# CT_BINUTILS_V_2_36 is not set CT_BINUTILS_V_2_36=y
# CT_BINUTILS_V_2_35 is not set # CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set # CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set # CT_BINUTILS_V_2_33 is not set
@ -385,14 +372,12 @@ CT_BINUTILS_V_2_40=y
# CT_BINUTILS_V_2_28 is not set # CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set # CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set # CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.40" CT_BINUTILS_VERSION="2.36.1"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)" CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}" 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_later_than_2_39=y
CT_BINUTILS_2_39_or_later=y
CT_BINUTILS_later_than_2_30=y CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y CT_BINUTILS_later_than_2_27=y
@ -443,9 +428,6 @@ 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_38 is not set
# CT_GLIBC_V_2_37 is not set
# CT_GLIBC_V_2_36 is not set
# CT_GLIBC_V_2_35 is not set # CT_GLIBC_V_2_35 is not set
CT_GLIBC_V_2_34=y CT_GLIBC_V_2_34=y
# CT_GLIBC_V_2_33 is not set # CT_GLIBC_V_2_33 is not set
@ -467,12 +449,6 @@ 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_38_or_older=y
CT_GLIBC_older_than_2_38=y
CT_GLIBC_2_37_or_older=y
CT_GLIBC_older_than_2_37=y
CT_GLIBC_2_36_or_older=y
CT_GLIBC_older_than_2_36=y
CT_GLIBC_2_34_or_later=y CT_GLIBC_2_34_or_later=y
CT_GLIBC_2_34_or_older=y CT_GLIBC_2_34_or_older=y
CT_GLIBC_later_than_2_32=y CT_GLIBC_later_than_2_32=y
@ -512,7 +488,6 @@ CT_GLIBC_HAS_LIBIDN_ADDON=y
CT_GLIBC_NO_SPARC_V8=y CT_GLIBC_NO_SPARC_V8=y
CT_GLIBC_EXTRA_CONFIG_ARRAY="" CT_GLIBC_EXTRA_CONFIG_ARRAY=""
CT_GLIBC_CONFIGPARMS="" CT_GLIBC_CONFIGPARMS=""
CT_GLIBC_ENABLE_DEBUG=y
CT_GLIBC_EXTRA_CFLAGS="" CT_GLIBC_EXTRA_CFLAGS=""
# CT_GLIBC_DISABLE_VERSIONING is not set # CT_GLIBC_DISABLE_VERSIONING is not set
CT_GLIBC_OLDEST_ABI="" CT_GLIBC_OLDEST_ABI=""
@ -530,7 +505,7 @@ CT_GLIBC_SSP_DEFAULT=y
# CT_GLIBC_SSP_STRONG is not set # CT_GLIBC_SSP_STRONG is not set
# CT_GLIBC_ENABLE_WERROR is not set # CT_GLIBC_ENABLE_WERROR is not set
# CT_GLIBC_ENABLE_COMMON_FLAG is not set # CT_GLIBC_ENABLE_COMMON_FLAG is not set
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE PICOLIBC UCLIBC_NG" CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y CT_LIBC_SUPPORT_THREADS_NATIVE=y
@ -549,8 +524,6 @@ CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_D=y
CT_CC_SUPPORT_JIT=y
CT_CC_SUPPORT_OBJC=y CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y CT_CC_SUPPORT_GOLANG=y
@ -565,30 +538,26 @@ CT_CC_GCC_SHOW=y
CT_CC_GCC_PKG_KSYM="GCC" CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc" CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y CT_GCC_USE_GNU=y
# CT_GCC_USE_ORACLE is not set
CT_GCC_USE="GCC" CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc" 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_13 is not set # CT_GCC_V_12 is not set
CT_GCC_V_12=y CT_GCC_V_11=y
# CT_GCC_V_11 is not set
# CT_GCC_V_10 is not set # CT_GCC_V_10 is not set
# CT_GCC_V_9 is not set # CT_GCC_V_9 is not set
# 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="11.3.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_13_or_older=y CT_GCC_12_or_older=y
CT_GCC_older_than_13=y CT_GCC_older_than_12=y
CT_GCC_later_than_12=y
CT_GCC_12_or_later=y
CT_GCC_later_than_11=y CT_GCC_later_than_11=y
CT_GCC_11_or_later=y CT_GCC_11_or_later=y
CT_GCC_later_than_10=y CT_GCC_later_than_10=y
@ -628,14 +597,12 @@ CT_CC_GCC_LTO_ZSTD=m
# #
# 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_TARGET_OPTSPACE=y CT_CC_GCC_ENABLE_TARGET_OPTSPACE=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=y CT_CC_GCC_LIBQUADMATH=y
CT_CC_GCC_LIBSANITIZER=y CT_CC_GCC_LIBSANITIZER=y
CT_CC_GCC_LIBSTDCXX_VERBOSE=m
# #
# Misc. obscure options. # Misc. obscure options.
@ -676,7 +643,6 @@ 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 is not set
CT_GDB_V_12=y CT_GDB_V_12=y
# 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
@ -688,8 +654,6 @@ 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_13_or_older=y
CT_GDB_older_than_13=y
CT_GDB_later_than_12=y CT_GDB_later_than_12=y
CT_GDB_12_or_later=y CT_GDB_12_or_later=y
CT_GDB_later_than_11=y CT_GDB_later_than_11=y
@ -739,8 +703,8 @@ CT_EXPAT_PKG_NAME="expat"
CT_EXPAT_SRC_RELEASE=y CT_EXPAT_SRC_RELEASE=y
# CT_EXPAT_SRC_DEVEL is not set # CT_EXPAT_SRC_DEVEL is not set
CT_EXPAT_PATCH_ORDER="global" CT_EXPAT_PATCH_ORDER="global"
CT_EXPAT_V_2_5=y CT_EXPAT_V_2_4=y
CT_EXPAT_VERSION="2.5.0" 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_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_FILENAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
@ -786,8 +750,6 @@ CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set # CT_ISL_SRC_DEVEL is not set
CT_ISL_PATCH_ORDER="global" CT_ISL_PATCH_ORDER="global"
# CT_ISL_V_0_26 is not set
# CT_ISL_V_0_25 is not set
CT_ISL_V_0_24=y CT_ISL_V_0_24=y
# CT_ISL_V_0_23 is not set # CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set # CT_ISL_V_0_22 is not set
@ -832,8 +794,10 @@ 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_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_VERSION="1.2.1"
CT_MPC_MIRRORS="https://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)" CT_MPC_MIRRORS="http://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}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz" CT_MPC_ARCHIVE_FORMATS=".tar.gz"
@ -847,9 +811,11 @@ CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set # CT_MPFR_SRC_DEVEL is not set
CT_MPFR_PATCH_ORDER="global" CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_2=y CT_MPFR_V_4_1=y
CT_MPFR_VERSION="4.2.1" # CT_MPFR_V_4_0 is not set
CT_MPFR_MIRRORS="https://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)" # 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_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip" CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
@ -863,7 +829,6 @@ CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set # CT_NCURSES_SRC_DEVEL is not set
CT_NCURSES_PATCH_ORDER="global" CT_NCURSES_PATCH_ORDER="global"
# CT_NCURSES_V_6_4 is not set
CT_NCURSES_V_6_2=y CT_NCURSES_V_6_2=y
# CT_NCURSES_V_6_1 is not set # CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set # CT_NCURSES_V_6_0 is not set
@ -887,29 +852,14 @@ 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_2_12=y
CT_ZLIB_VERSION="1.2.13" CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="https://github.com/madler/zlib/releases/download/v${CT_ZLIB_VERSION} https://www.zlib.net/" 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_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc" CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_COMP_LIBS_ZSTD=y CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB"
CT_COMP_LIBS_ZSTD_PKG_KSYM="ZSTD"
CT_ZSTD_DIR_NAME="zstd"
CT_ZSTD_PKG_NAME="zstd"
CT_ZSTD_SRC_RELEASE=y
# CT_ZSTD_SRC_DEVEL is not set
CT_ZSTD_PATCH_ORDER="global"
CT_ZSTD_V_1_5_5=y
# CT_ZSTD_V_1_5_2 is not set
CT_ZSTD_VERSION="1.5.5"
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_DIRNAME="@{pkg_name}-@{version}"
CT_ZSTD_ARCHIVE_FORMATS=".tar.gz"
CT_ZSTD_SIGNATURE_FORMAT="packed/.sig"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB ZSTD"
CT_LIBICONV_NEEDED=y CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y CT_GMP_NEEDED=y
@ -919,7 +869,6 @@ CT_MPC_NEEDED=y
CT_EXPAT_NEEDED=y CT_EXPAT_NEEDED=y
CT_NCURSES_NEEDED=y CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y CT_ZLIB_NEEDED=y
CT_ZSTD_NEEDED=y
CT_LIBICONV=y CT_LIBICONV=y
CT_GETTEXT=y CT_GETTEXT=y
CT_GMP=y CT_GMP=y
@ -929,7 +878,6 @@ CT_MPC=y
CT_EXPAT=y CT_EXPAT=y
CT_NCURSES=y CT_NCURSES=y
CT_ZLIB=y CT_ZLIB=y
CT_ZSTD=y
# end of Companion libraries # end of Companion libraries
# #

View File

@ -1,16 +1,12 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
ENV XCC_PREFIX=/usr/xcc ENV XCC_PREFIX /usr/xcc
ENV CROSS_TRIPLE=armv7l-linux-musleabihf ENV CROSS_TRIPLE armv7l-linux-musleabihf
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross
RUN mkdir -p ${XCC_PREFIX} RUN mkdir -p ${XCC_PREFIX}
# RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
# RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
# Mirrored for reliability
RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \ AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
@ -21,12 +17,12 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
COPY Toolchain.cmake ${CROSS_ROOT}/ COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=arm ENV ARCH arm
# Build-time metadata as defined at http://label-schema.org # Build-time metadata as defined at http://label-schema.org
ARG BUILD_DATE ARG BUILD_DATE
@ -40,4 +36,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-ref=$VCS_REF \ org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url=$VCS_URL \ org.label-schema.vcs-url=$VCS_URL \
org.label-schema.schema-version="1.0" org.label-schema.schema-version="1.0"
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION} ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}

View File

@ -11,7 +11,7 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)

View File

@ -1,43 +0,0 @@
ARG ORG=dockcross
FROM ${ORG}/base:latest
LABEL maintainer="PJ Reid PJ.Reid@Zetier.com"
# This is for 32-bit (i686) intel/amd devices
# Crosstool-ng version 2022-05-19
ENV CT_VERSION=crosstool-ng-1.25.0
#include "common.crosstool"
# The cross-compiling emulator
RUN apt-get update \
&& apt-get install -y \
qemu-user \
qemu-user-static \
&& apt-get clean --yes
# The CROSS_TRIPLE is a configured alias of the "i686-linux-gnu" target.
ENV CROSS_TRIPLE=i686-linux-gnu
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
# Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
ENV ARCH=i686
#include "common.label-and-env"

View File

@ -1,18 +0,0 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR i686)
set(cross_triple $ENV{CROSS_TRIPLE})
set(cross_root $ENV{CROSS_ROOT})
set(CMAKE_C_COMPILER $ENV{CC})
set(CMAKE_CXX_COMPILER $ENV{CXX})
set(CMAKE_Fortran_COMPILER $ENV{FC})
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_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-x86_64 -cpu qemu32)

View File

@ -1,807 +0,0 @@
#
# 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_curl=y
CT_CONFIGURE_has_ninja=y
CT_CONFIGURE_has_rsync=y
CT_CONFIGURE_has_make_3_81_or_newer=y
CT_CONFIGURE_has_make_4_0_or_newer=y
CT_CONFIGURE_has_libtool_2_4_or_newer=y
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
CT_CONFIGURE_has_autoconf_2_65_or_newer=y
CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_or_newer=y
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
CT_CONFIGURE_has_python_3_4_or_newer=y
CT_CONFIGURE_has_bison_2_7_or_newer=y
CT_CONFIGURE_has_python=y
CT_CONFIGURE_has_svn=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="load"
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=y
# CT_EXPERIMENTAL is not set
# CT_DEBUG_CT is not set
#
# Paths
#
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
CT_SAVE_TARBALLS=y
# CT_TARBALLS_BUILDROOT_LAYOUT is not set
CT_WORK_DIR="${CT_TOP_DIR}/.build"
CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_BUILD_DIR="${CT_BUILD_TOP_DIR}/build"
CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
CT_RM_RF_PREFIX_DIR=y
CT_REMOVE_DOCS=y
CT_INSTALL_LICENSES=y
CT_PREFIX_DIR_RO=y
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set
#
# Downloading
#
CT_DOWNLOAD_AGENT_WGET=y
# CT_DOWNLOAD_AGENT_CURL is not set
# CT_DOWNLOAD_AGENT_NONE is not set
# CT_FORBID_DOWNLOAD is not set
# CT_FORCE_DOWNLOAD is not set
CT_CONNECT_TIMEOUT=10
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
# CT_ONLY_DOWNLOAD is not set
# CT_USE_MIRROR is not set
CT_VERIFY_DOWNLOAD_DIGEST=y
CT_VERIFY_DOWNLOAD_DIGEST_SHA512=y
# CT_VERIFY_DOWNLOAD_DIGEST_SHA256 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_SHA1 is not set
# CT_VERIFY_DOWNLOAD_DIGEST_MD5 is not set
CT_VERIFY_DOWNLOAD_DIGEST_ALG="sha512"
# CT_VERIFY_DOWNLOAD_SIGNATURE is not set
#
# Extracting
#
# CT_FORCE_EXTRACT is not set
CT_OVERRIDE_CONFIG_GUESS_SUB=y
# CT_ONLY_EXTRACT is not set
CT_PATCH_BUNDLED=y
# CT_PATCH_BUNDLED_LOCAL is not set
CT_PATCH_ORDER="bundled"
#
# Build behavior
#
CT_PARALLEL_JOBS=0
CT_LOAD=""
CT_USE_PIPES=y
CT_EXTRA_CFLAGS_FOR_BUILD=""
CT_EXTRA_CXXFLAGS_FOR_BUILD=""
CT_EXTRA_LDFLAGS_FOR_BUILD=""
CT_EXTRA_CFLAGS_FOR_HOST=""
CT_EXTRA_LDFLAGS_FOR_HOST=""
# CT_CONFIG_SHELL_SH is not set
# CT_CONFIG_SHELL_ASH is not set
CT_CONFIG_SHELL_BASH=y
# CT_CONFIG_SHELL_CUSTOM is not set
CT_CONFIG_SHELL="${bash}"
#
# Logging
#
# CT_LOG_ERROR is not set
# CT_LOG_WARN is not set
# CT_LOG_INFO is not set
CT_LOG_EXTRA=y
# CT_LOG_ALL is not set
# CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options
#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set
# CT_ARCH_AVR is not set
# CT_ARCH_M68K is not set
# CT_ARCH_MIPS is not set
# CT_ARCH_NIOS2 is not set
# CT_ARCH_POWERPC is not set
# CT_ARCH_PRU is not set
# CT_ARCH_S390 is not set
# CT_ARCH_SH is not set
# CT_ARCH_SPARC is not set
CT_ARCH_X86=y
# CT_ARCH_XTENSA is not set
CT_ARCH="x86"
CT_ARCH_CHOICE_KSYM="X86"
CT_ARCH_CPU=""
CT_ARCH_TUNE=""
CT_ARCH_X86_SHOW=y
#
# Options for x86
#
CT_ARCH_X86_PKG_KSYM=""
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=y
#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_USE_MMU=y
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
CT_ARCH_SUPPORTS_WITH_32_64=y
#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_ARCH="i686"
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""
# end of Target options
#
# Toolchain options
#
#
# General toolchain options
#
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
CT_WANTS_STATIC_LINK=y
CT_WANTS_STATIC_LINK_CXX=y
# CT_STATIC_TOOLCHAIN is not set
CT_SHOW_CT_VERSION=y
CT_TOOLCHAIN_PKGVERSION=""
CT_TOOLCHAIN_BUGURL=""
#
# Tuple completion and aliasing
#
CT_TARGET_VENDOR=""
CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS=""
#
# Toolchain type
#
CT_CROSS=y
# CT_CANADIAN is not set
CT_TOOLCHAIN_TYPE="cross"
#
# Build system
#
CT_BUILD=""
CT_BUILD_PREFIX=""
CT_BUILD_SUFFIX=""
#
# Misc options
#
# CT_TOOLCHAIN_ENABLE_NLS is not set
# end of Toolchain options
#
# Operating System
#
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
# CT_KERNEL_BARE_METAL is not set
CT_KERNEL_LINUX=y
CT_KERNEL="linux"
CT_KERNEL_CHOICE_KSYM="LINUX"
CT_KERNEL_LINUX_SHOW=y
#
# Options for linux
#
CT_KERNEL_LINUX_PKG_KSYM="LINUX"
CT_LINUX_DIR_NAME="linux"
CT_LINUX_USE_WWW_KERNEL_ORG=y
# CT_LINUX_USE_ORACLE is not set
CT_LINUX_USE="LINUX"
CT_LINUX_PKG_NAME="linux"
CT_LINUX_SRC_RELEASE=y
# CT_LINUX_SRC_DEVEL is not set
CT_LINUX_PATCH_ORDER="global"
# CT_LINUX_V_5_16 is not set
# CT_LINUX_V_5_15 is not set
# CT_LINUX_V_5_14 is not set
# CT_LINUX_V_5_13 is not set
# CT_LINUX_V_5_12 is not set
# CT_LINUX_V_5_11 is not set
# CT_LINUX_V_5_10 is not set
# CT_LINUX_V_5_9 is not set
# CT_LINUX_V_5_8 is not set
# CT_LINUX_V_5_7 is not set
# CT_LINUX_V_5_5 is not set
# CT_LINUX_V_5_4 is not set
# CT_LINUX_V_5_3 is not set
# CT_LINUX_V_5_2 is not set
# CT_LINUX_V_5_1 is not set
# CT_LINUX_V_5_0 is not set
# CT_LINUX_V_4_20 is not set
# CT_LINUX_V_4_19 is not set
# CT_LINUX_V_4_18 is not set
# CT_LINUX_V_4_17 is not set
# CT_LINUX_V_4_16 is not set
# CT_LINUX_V_4_15 is not set
# CT_LINUX_V_4_14 is not set
# CT_LINUX_V_4_13 is not set
# CT_LINUX_V_4_12 is not set
# CT_LINUX_V_4_11 is not set
# CT_LINUX_V_4_10 is not set
# CT_LINUX_V_4_9 is not set
CT_LINUX_V_4_4=y
# CT_LINUX_V_4_1 is not set
# CT_LINUX_V_3_18 is not set
# CT_LINUX_V_3_16 is not set
# CT_LINUX_V_3_13 is not set
# CT_LINUX_V_3_12 is not set
# CT_LINUX_V_3_10 is not set
# CT_LINUX_V_3_4 is not set
# CT_LINUX_V_3_2 is not set
# CT_LINUX_V_2_6_32 is not set
CT_LINUX_VERSION="4.4.302"
CT_LINUX_MIRRORS="$(CT_Mirrors kernel.org linux ${CT_LINUX_VERSION})"
CT_LINUX_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LINUX_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_LINUX_SIGNATURE_FORMAT="unpacked/.sign"
CT_LINUX_5_12_or_older=y
CT_LINUX_older_than_5_12=y
CT_LINUX_5_3_or_older=y
CT_LINUX_older_than_5_3=y
CT_LINUX_4_8_or_older=y
CT_LINUX_older_than_4_8=y
CT_LINUX_later_than_3_7=y
CT_LINUX_3_7_or_later=y
CT_LINUX_later_than_3_2=y
CT_LINUX_3_2_or_later=y
CT_KERNEL_DEP_RSYNC=y
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
# CT_KERNEL_LINUX_INSTALL_CHECK is not set
CT_ALL_KERNEL_CHOICES="BARE_METAL LINUX WINDOWS"
#
# Common kernel options
#
CT_SHARED_LIBS=y
# end of Operating System
#
# Binary utilities
#
CT_ARCH_BINFMT_ELF=y
CT_BINUTILS_BINUTILS=y
CT_BINUTILS="binutils"
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
CT_BINUTILS_BINUTILS_SHOW=y
#
# Options for binutils
#
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
CT_BINUTILS_DIR_NAME="binutils"
CT_BINUTILS_USE_GNU=y
# CT_BINUTILS_USE_ORACLE is not set
CT_BINUTILS_USE="BINUTILS"
CT_BINUTILS_PKG_NAME="binutils"
CT_BINUTILS_SRC_RELEASE=y
# CT_BINUTILS_SRC_DEVEL is not set
CT_BINUTILS_PATCH_ORDER="global"
CT_BINUTILS_V_2_38=y
# CT_BINUTILS_V_2_37 is not set
# CT_BINUTILS_V_2_36 is not set
# CT_BINUTILS_V_2_35 is not set
# CT_BINUTILS_V_2_34 is not set
# CT_BINUTILS_V_2_33 is not set
# CT_BINUTILS_V_2_32 is not set
# CT_BINUTILS_V_2_31 is not set
# CT_BINUTILS_V_2_30 is not set
# CT_BINUTILS_V_2_29 is not set
# CT_BINUTILS_V_2_28 is not set
# CT_BINUTILS_V_2_27 is not set
# CT_BINUTILS_V_2_26 is not set
CT_BINUTILS_VERSION="2.38"
CT_BINUTILS_MIRRORS="$(CT_Mirrors GNU binutils) $(CT_Mirrors sourceware binutils/releases)"
CT_BINUTILS_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_BINUTILS_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_BINUTILS_SIGNATURE_FORMAT="packed/.sig"
CT_BINUTILS_later_than_2_30=y
CT_BINUTILS_2_30_or_later=y
CT_BINUTILS_later_than_2_27=y
CT_BINUTILS_2_27_or_later=y
CT_BINUTILS_later_than_2_26=y
CT_BINUTILS_2_26_or_later=y
#
# GNU binutils
#
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_GOLD_SUPPORT=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
# CT_BINUTILS_LINKER_LD_GOLD is not set
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
# CT_BINUTILS_PLUGINS is not set
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_BINUTILS_FOR_TARGET is not set
CT_ALL_BINUTILS_CHOICES="BINUTILS"
# end of Binary utilities
#
# C-library
#
CT_LIBC_GLIBC=y
# CT_LIBC_UCLIBC_NG is not set
CT_LIBC="glibc"
CT_LIBC_CHOICE_KSYM="GLIBC"
CT_THREADS="nptl"
CT_LIBC_GLIBC_SHOW=y
#
# Options for glibc
#
CT_LIBC_GLIBC_PKG_KSYM="GLIBC"
CT_GLIBC_DIR_NAME="glibc"
CT_GLIBC_USE_GNU=y
# CT_GLIBC_USE_ORACLE is not set
CT_GLIBC_USE="GLIBC"
CT_GLIBC_PKG_NAME="glibc"
CT_GLIBC_SRC_RELEASE=y
# CT_GLIBC_SRC_DEVEL is not set
CT_GLIBC_PATCH_ORDER="global"
# CT_GLIBC_V_2_35 is not set
# CT_GLIBC_V_2_34 is not set
# CT_GLIBC_V_2_33 is not set
# CT_GLIBC_V_2_32 is not set
# CT_GLIBC_V_2_31 is not set
# CT_GLIBC_V_2_30 is not set
# CT_GLIBC_V_2_29 is not set
# CT_GLIBC_V_2_28 is not set
# CT_GLIBC_V_2_27 is not set
# CT_GLIBC_V_2_26 is not set
# CT_GLIBC_V_2_25 is not set
# CT_GLIBC_V_2_24 is not set
CT_GLIBC_V_2_23=y
# CT_GLIBC_V_2_19 is not set
# CT_GLIBC_V_2_17 is not set
# CT_GLIBC_V_2_12_1 is not set
CT_GLIBC_VERSION="2.23"
CT_GLIBC_MIRRORS="$(CT_Mirrors GNU glibc)"
CT_GLIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GLIBC_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_GLIBC_SIGNATURE_FORMAT="packed/.sig"
CT_GLIBC_2_34_or_older=y
CT_GLIBC_older_than_2_34=y
CT_GLIBC_2_32_or_older=y
CT_GLIBC_older_than_2_32=y
CT_GLIBC_2_31_or_older=y
CT_GLIBC_older_than_2_31=y
CT_GLIBC_2_30_or_older=y
CT_GLIBC_older_than_2_30=y
CT_GLIBC_2_29_or_older=y
CT_GLIBC_older_than_2_29=y
CT_GLIBC_2_28_or_older=y
CT_GLIBC_older_than_2_28=y
CT_GLIBC_2_27_or_older=y
CT_GLIBC_older_than_2_27=y
CT_GLIBC_2_26_or_older=y
CT_GLIBC_older_than_2_26=y
CT_GLIBC_2_25_or_older=y
CT_GLIBC_older_than_2_25=y
CT_GLIBC_2_24_or_older=y
CT_GLIBC_older_than_2_24=y
CT_GLIBC_2_23_or_later=y
CT_GLIBC_2_23_or_older=y
CT_GLIBC_later_than_2_20=y
CT_GLIBC_2_20_or_later=y
CT_GLIBC_later_than_2_17=y
CT_GLIBC_2_17_or_later=y
CT_GLIBC_later_than_2_14=y
CT_GLIBC_2_14_or_later=y
CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
CT_GLIBC_DEP_BINUTILS=y
CT_GLIBC_DEP_GCC=y
CT_GLIBC_DEP_PYTHON=y
CT_GLIBC_SPARC_ALLOW_V7=y
CT_GLIBC_HAS_LIBIDN_ADDON=y
# CT_GLIBC_USE_LIBIDN_ADDON is not set
CT_GLIBC_NO_SPARC_V8=y
CT_GLIBC_HAS_OBSOLETE_RPC=y
CT_GLIBC_EXTRA_CONFIG_ARRAY=""
CT_GLIBC_CONFIGPARMS=""
CT_GLIBC_EXTRA_CFLAGS="-Wno-missing-attributes -Wno-array-bounds -Wno-array-parameter -Wno-stringop-overflow -Wno-maybe-uninitialized"
CT_GLIBC_ENABLE_OBSOLETE_RPC=y
# CT_GLIBC_DISABLE_VERSIONING is not set
CT_GLIBC_OLDEST_ABI=""
CT_GLIBC_FORCE_UNWIND=y
# CT_GLIBC_LOCALES is not set
# CT_GLIBC_KERNEL_VERSION_NONE is not set
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_GLIBC_MIN_KERNEL="4.4.302"
CT_GLIBC_ENABLE_COMMON_FLAG=y
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
CT_LIBC_SUPPORT_THREADS_ANY=y
CT_LIBC_SUPPORT_THREADS_NATIVE=y
#
# Common C library options
#
CT_THREADS_NATIVE=y
# CT_CREATE_LDSO_CONF is not set
CT_LIBC_XLDD=y
# end of C-library
#
# C compiler
#
CT_CC_CORE_NEEDED=y
CT_CC_SUPPORT_CXX=y
CT_CC_SUPPORT_FORTRAN=y
CT_CC_SUPPORT_ADA=y
CT_CC_SUPPORT_OBJC=y
CT_CC_SUPPORT_OBJCXX=y
CT_CC_SUPPORT_GOLANG=y
CT_CC_GCC=y
CT_CC="gcc"
CT_CC_CHOICE_KSYM="GCC"
CT_CC_GCC_SHOW=y
#
# Options for gcc
#
CT_CC_GCC_PKG_KSYM="GCC"
CT_GCC_DIR_NAME="gcc"
CT_GCC_USE_GNU=y
CT_GCC_USE="GCC"
CT_GCC_PKG_NAME="gcc"
CT_GCC_SRC_RELEASE=y
# CT_GCC_SRC_DEVEL is not set
CT_GCC_PATCH_ORDER="global"
CT_GCC_V_11=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_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_LIBGOMP is not set
# CT_CC_GCC_LIBSSP is not set
# CT_CC_GCC_LIBQUADMATH is not set
# CT_CC_GCC_LIBSANITIZER is not set
CT_CC_GCC_LIBMPX=y
#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
CT_CC_GCC_LNK_HASH_STYLE=""
CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_BID is not set
# CT_CC_GCC_DEC_FLOATS_DPD is not set
# CT_CC_GCC_DEC_FLOATS_NO is not set
CT_CC_GCC_DEC_FLOATS=""
CT_ALL_CC_CHOICES="GCC"
#
# Additional supported languages:
#
CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set
# end of C compiler
#
# Debug facilities
#
# CT_DEBUG_DUMA is not set
# CT_DEBUG_GDB is not set
# 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 is not set
CT_COMP_LIBS_GETTEXT=y
CT_COMP_LIBS_GETTEXT_PKG_KSYM="GETTEXT"
CT_GETTEXT_DIR_NAME="gettext"
CT_GETTEXT_PKG_NAME="gettext"
CT_GETTEXT_SRC_RELEASE=y
# CT_GETTEXT_SRC_DEVEL is not set
CT_GETTEXT_PATCH_ORDER="global"
CT_GETTEXT_V_0_21=y
# CT_GETTEXT_V_0_20_1 is not set
# CT_GETTEXT_V_0_19_8_1 is not set
CT_GETTEXT_VERSION="0.21"
CT_GETTEXT_MIRRORS="$(CT_Mirrors GNU gettext)"
CT_GETTEXT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GETTEXT_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GETTEXT_SIGNATURE_FORMAT="packed/.sig"
CT_GETTEXT_0_21_or_later=y
CT_GETTEXT_0_21_or_older=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y
#
# This version of gettext is not compatible with uClibc-NG. Select
#
#
# a different version if uClibc-NG is used on the target or (in a
#
#
# Canadian cross build) on the host.
#
CT_COMP_LIBS_GMP=y
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
CT_GMP_DIR_NAME="gmp"
CT_GMP_PKG_NAME="gmp"
CT_GMP_SRC_RELEASE=y
# CT_GMP_SRC_DEVEL is not set
CT_GMP_PATCH_ORDER="global"
CT_GMP_V_6_2=y
# CT_GMP_V_6_1 is not set
CT_GMP_VERSION="6.2.1"
CT_GMP_MIRRORS="https://gmplib.org/download/gmp https://gmplib.org/download/gmp/archive $(CT_Mirrors GNU gmp)"
CT_GMP_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GMP_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2"
CT_GMP_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_ISL=y
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
CT_ISL_DIR_NAME="isl"
CT_ISL_PKG_NAME="isl"
CT_ISL_SRC_RELEASE=y
# CT_ISL_SRC_DEVEL is not set
CT_ISL_PATCH_ORDER="global"
CT_ISL_V_0_24=y
# CT_ISL_V_0_23 is not set
# CT_ISL_V_0_22 is not set
# CT_ISL_V_0_21 is not set
# CT_ISL_V_0_20 is not set
# CT_ISL_V_0_19 is not set
# CT_ISL_V_0_18 is not set
# CT_ISL_V_0_17 is not set
# CT_ISL_V_0_16 is not set
# CT_ISL_V_0_15 is not set
CT_ISL_VERSION="0.24"
CT_ISL_MIRRORS="https://libisl.sourceforge.io"
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
CT_ISL_SIGNATURE_FORMAT=""
CT_ISL_later_than_0_18=y
CT_ISL_0_18_or_later=y
CT_ISL_later_than_0_15=y
CT_ISL_0_15_or_later=y
# CT_COMP_LIBS_LIBELF is not set
CT_COMP_LIBS_LIBICONV=y
CT_COMP_LIBS_LIBICONV_PKG_KSYM="LIBICONV"
CT_LIBICONV_DIR_NAME="libiconv"
CT_LIBICONV_PKG_NAME="libiconv"
CT_LIBICONV_SRC_RELEASE=y
# CT_LIBICONV_SRC_DEVEL is not set
CT_LIBICONV_PATCH_ORDER="global"
CT_LIBICONV_V_1_16=y
# CT_LIBICONV_V_1_15 is not set
CT_LIBICONV_VERSION="1.16"
CT_LIBICONV_MIRRORS="$(CT_Mirrors GNU libiconv)"
CT_LIBICONV_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_LIBICONV_ARCHIVE_FORMATS=".tar.gz"
CT_LIBICONV_SIGNATURE_FORMAT="packed/.sig"
CT_COMP_LIBS_MPC=y
CT_COMP_LIBS_MPC_PKG_KSYM="MPC"
CT_MPC_DIR_NAME="mpc"
CT_MPC_PKG_NAME="mpc"
CT_MPC_SRC_RELEASE=y
# CT_MPC_SRC_DEVEL is not set
CT_MPC_PATCH_ORDER="global"
CT_MPC_V_1_2=y
# CT_MPC_V_1_1 is not set
# CT_MPC_V_1_0 is not set
CT_MPC_VERSION="1.2.1"
CT_MPC_MIRRORS="http://www.multiprecision.org/downloads $(CT_Mirrors GNU mpc)"
CT_MPC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPC_ARCHIVE_FORMATS=".tar.gz"
CT_MPC_SIGNATURE_FORMAT="packed/.sig"
CT_MPC_later_than_1_1_0=y
CT_MPC_1_1_0_or_later=y
CT_COMP_LIBS_MPFR=y
CT_COMP_LIBS_MPFR_PKG_KSYM="MPFR"
CT_MPFR_DIR_NAME="mpfr"
CT_MPFR_PKG_NAME="mpfr"
CT_MPFR_SRC_RELEASE=y
# CT_MPFR_SRC_DEVEL is not set
CT_MPFR_PATCH_ORDER="global"
CT_MPFR_V_4_1=y
# CT_MPFR_V_4_0 is not set
# CT_MPFR_V_3_1 is not set
CT_MPFR_VERSION="4.1.0"
CT_MPFR_MIRRORS="http://www.mpfr.org/mpfr-${CT_MPFR_VERSION} $(CT_Mirrors GNU mpfr)"
CT_MPFR_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_MPFR_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz .zip"
CT_MPFR_SIGNATURE_FORMAT="packed/.asc"
CT_MPFR_later_than_4_0_0=y
CT_MPFR_4_0_0_or_later=y
CT_COMP_LIBS_NCURSES=y
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
CT_NCURSES_DIR_NAME="ncurses"
CT_NCURSES_PKG_NAME="ncurses"
CT_NCURSES_SRC_RELEASE=y
# CT_NCURSES_SRC_DEVEL is not set
CT_NCURSES_PATCH_ORDER="global"
CT_NCURSES_V_6_2=y
# CT_NCURSES_V_6_1 is not set
# CT_NCURSES_V_6_0 is not set
CT_NCURSES_VERSION="6.2"
CT_NCURSES_MIRRORS="https://invisible-mirror.net/archives/ncurses $(CT_Mirrors GNU ncurses)"
CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
CT_NCURSES_NEW_ABI=y
CT_NCURSES_HOST_CONFIG_ARGS=""
CT_NCURSES_HOST_DISABLE_DB=y
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
CT_NCURSES_TARGET_CONFIG_ARGS=""
# CT_NCURSES_TARGET_DISABLE_DB is not set
CT_NCURSES_TARGET_FALLBACKS=""
CT_COMP_LIBS_ZLIB=y
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
CT_ZLIB_DIR_NAME="zlib"
CT_ZLIB_PKG_NAME="zlib"
CT_ZLIB_SRC_RELEASE=y
# CT_ZLIB_SRC_DEVEL is not set
CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net https://www.zlib.net/fossils"
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB"
CT_LIBICONV_NEEDED=y
CT_GETTEXT_NEEDED=y
CT_GMP_NEEDED=y
CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y
CT_MPC_NEEDED=y
CT_NCURSES_NEEDED=y
CT_ZLIB_NEEDED=y
CT_LIBICONV=y
CT_GETTEXT=y
CT_GMP=y
CT_MPFR=y
CT_ISL=y
CT_MPC=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

View File

@ -1,28 +1,27 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.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
RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
curl -L https://download.qemu.org/qemu-${QEMU_VERSION}.tar.bz2 | tar xj && \ curl -L http://wiki.qemu-project.org/download/qemu-${QEMU_VERSION}.tar.bz2 | tar xj && \
cd qemu-${QEMU_VERSION} && \ cd qemu-${QEMU_VERSION} && \
./configure --target-list=m68k-softmmu --prefix=/usr && \ ./configure --target-list=m68k-softmmu --prefix=/usr && \
make -j$(nproc) && \ make -j$(nproc) && \
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 +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}"
WORKDIR /work WORKDIR /work
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/ COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
ENV PKG_CONFIG_PATH=/usr/lib/mk68-unknown-linux-uclibc/pkgconfig ENV PKG_CONFIG_PATH /usr/lib/mk68-unknown-linux-uclibc/pkgconfig
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=powerpc ENV ARCH powerpc
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/") set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)

View File

@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -770,7 +770,7 @@ CT_ZLIB_SRC_RELEASE=y
CT_ZLIB_PATCH_ORDER="global" CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12" CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/ https://www.zlib.net/fossils" 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_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"

View File

@ -1,12 +1,11 @@
ARG ORG=dockcross FROM dockcross/base:latest
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt@mmmccormick.com" LABEL maintainer="Matt McCormick matt.mccormick@kitware.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 +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-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 +28,15 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \ LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot" ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}" ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
COPY Toolchain.cmake ${CROSS_ROOT}/ COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
# Linux kernel cross compilation variables # Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}- ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH=mips ENV ARCH mips
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -9,10 +9,10 @@ set(CMAKE_C_COMPILER $ENV{CC})
set(CMAKE_CXX_COMPILER $ENV{CXX}) set(CMAKE_CXX_COMPILER $ENV{CXX})
set(CMAKE_Fortran_COMPILER $ENV{FC}) set(CMAKE_Fortran_COMPILER $ENV{FC})
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple}) set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips)

View File

@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
# CT_LOG_DEBUG is not set # CT_LOG_DEBUG is not set
CT_LOG_LEVEL_MAX="EXTRA" CT_LOG_LEVEL_MAX="EXTRA"
# CT_LOG_SEE_TOOLS_WARN is not set # CT_LOG_SEE_TOOLS_WARN is not set
CT_LOG_PROGRESS_BAR=n CT_LOG_PROGRESS_BAR=y
CT_LOG_TO_FILE=y CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options # end of Paths and misc options
@ -853,7 +853,7 @@ CT_ZLIB_SRC_RELEASE=y
CT_ZLIB_PATCH_ORDER="global" CT_ZLIB_PATCH_ORDER="global"
CT_ZLIB_V_1_2_12=y CT_ZLIB_V_1_2_12=y
CT_ZLIB_VERSION="1.2.12" CT_ZLIB_VERSION="1.2.12"
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/ https://www.zlib.net/fossils" 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_FILENAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"

View File

@ -1,44 +0,0 @@
FROM dockcross/base:latest
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.
# Crosstool-ng version 2022-05-19
ENV CT_VERSION=crosstool-ng-1.25.0
#include "common.crosstool"
# The cross-compiling emulator
RUN apt-get update \
&& apt-get install -y \
qemu-user \
qemu-user-static \
&& apt-get clean --yes
# The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-uclibc" target.
ENV CROSS_TRIPLE=mips-unknown-linux-uclibc
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
ENV PKG_CONFIG_PATH=/usr/lib/mips-linux-uclibc/
# Linux kernel cross compilation variables
ENV PATH=${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
ENV ARCH=mips
#include "common.label-and-env"

Some files were not shown because too many files have changed in this diff Show More