Compare commits

..

2 Commits

Author SHA1 Message Date
6705c32c97 test
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2022-05-20 16:47:27 +02:00
23eb2e024a Added LTS version to linux-armv7a, issue #678 2022-05-16 16:45:38 +02:00
13 changed files with 198 additions and 1457 deletions

View File

@ -18,35 +18,26 @@ jobs:
name: base name: base
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: checkout code - uses: actions/checkout@v3
uses: actions/checkout@v3
with:
submodules: "recursive"
fetch-depth: 1
- name: build - name: build
run: make base run: make base
- name: test - name: test
run: make base.test run: make base.test
- name: archive base - name: archive base
run: | run: |
mkdir -p cache mkdir -p cache
docker save dockcross/base:latest | xz -e9 -T0 > ./cache/base.tar.xz docker save dockcross/base:latest | xz -e9 -T0 > ./cache/base.tar.xz
- name: save base - name: save base
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: cache name: cache
path: ./cache path: ./cache
retention-days: 1 retention-days: 1
- name: deploy - name: deploy
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'
run: | run: |
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }} docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }}
docker image push dockcross/base --all-tags docker image push dockcross/base --all-tags
image: image:
name: ${{ matrix.arch_name.image }} name: ${{ matrix.arch_name.image }}
@ -194,24 +185,6 @@ jobs:
cpython: "yes", cpython: "yes",
cpython_arg: "--host=aarch64-buildroot-linux-gnu --target=aarch64-buildroot-linux-gnu", cpython_arg: "--host=aarch64-buildroot-linux-gnu --target=aarch64-buildroot-linux-gnu",
} }
# Linux mipel images
- {
image: "linux-mipsel-lts",
stockfish: "no",
stockfish_arg: "",
ninja: "no",
ninja_arg: "",
openssl: "no",
openssl_arg: "",
C: "no",
C_arg: "",
C-Plus-Plus: "yes",
C-Plus-Plus_arg: "",
fmt: "yes",
fmt_arg: "",
cpython: "no",
cpython_arg: "",
}
# Linux armv5 images # Linux armv5 images
- { - {
image: "linux-armv5", image: "linux-armv5",
@ -351,6 +324,23 @@ jobs:
cpython: "yes", cpython: "yes",
cpython_arg: "--host=arm-cortexa8_neon-linux-gnueabihf --target=arm-cortexa8_neon-linux-gnueabihf", cpython_arg: "--host=arm-cortexa8_neon-linux-gnueabihf --target=arm-cortexa8_neon-linux-gnueabihf",
} }
- {
image: "linux-armv7a-lts",
stockfish: "yes",
stockfish_arg: "ARCH=armv7-neon",
ninja: "yes",
ninja_arg: "",
openssl: "yes",
openssl_arg: "linux-armv4",
C: "no",
C_arg: "",
C-Plus-Plus: "yes",
C-Plus-Plus_arg: "",
fmt: "yes",
fmt_arg: "",
cpython: "yes",
cpython_arg: "--host=arm-cortexa8_neon-linux-gnueabihf --target=arm-cortexa8_neon-linux-gnueabihf",
}
- { - {
image: "linux-armv7-lts", image: "linux-armv7-lts",
stockfish: "yes", stockfish: "yes",
@ -525,27 +515,9 @@ jobs:
cpython: "yes", cpython: "yes",
cpython_arg: "--host=s390x-ibm-linux-gnu --target=s390x-ibm-linux-gnu", cpython_arg: "--host=s390x-ibm-linux-gnu --target=s390x-ibm-linux-gnu",
} }
# Linux mips images
- {
image: "linux-mips",
stockfish: "no",
stockfish_arg: "",
ninja: "yes",
ninja_arg: "",
openssl: "yes",
openssl_arg: "linux-generic32",
C: "yes",
C_arg: "",
C-Plus-Plus: "yes",
C-Plus-Plus_arg: "",
fmt: "yes",
fmt_arg: "",
cpython: "yes",
cpython_arg: "--host=mips-unknown-linux-gnu --target=mips-unknown-linux-gnu",
}
# Linux mips images # Linux mips images
- { - {
image: "linux-mips-lts", image: "linux-mips",
stockfish: "no", stockfish: "no",
stockfish_arg: "", stockfish_arg: "",
ninja: "yes", ninja: "yes",
@ -842,50 +814,39 @@ jobs:
cpython_arg: "", cpython_arg: "",
} }
steps: steps:
- name: checkout code - uses: actions/checkout@v3
uses: actions/checkout@v3
with:
submodules: "recursive"
fetch-depth: 1
- uses: actions/download-artifact@v3 - uses: actions/download-artifact@v3
with: with:
name: cache name: cache
path: ./cache path: ./cache
- name: load base - name: load base
run: xz -d -k < ./cache/base.tar.xz | docker load run: xz -d -k < ./cache/base.tar.xz | docker load
- name: build - name: build
run: make ${{ matrix.arch_name.image }} run: make ${{ matrix.arch_name.image }}
- name: basic test - name: basic test
run: make ${{ matrix.arch_name.image }}.test run: make ${{ matrix.arch_name.image }}.test
# Updated on 28/08/2021
# Updated on 19/05/2022
- name: stockfish build test - name: stockfish build test
if: ${{ matrix.arch_name.stockfish == 'yes' }} if: ${{ matrix.arch_name.stockfish == 'yes' }}
run: | run: |
git clone --depth 1 --branch sf_15 https://github.com/official-stockfish/Stockfish.git git clone --depth 1 --branch sf_14 https://github.com/official-stockfish/Stockfish.git
cd Stockfish/src cd Stockfish/src
./../../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} net ./../../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} net
./../../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} build ${{ matrix.arch_name.stockfish_arg }} -j2 ./../../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} build ${{ matrix.arch_name.stockfish_arg }} -j2
cd ../.. cd ../..
rm -rf Stockfish rm -rf Stockfish
# Updated on 19/05/2022 # Updated on 28/08/2021
- name: ninja build test - name: ninja build test
if: ${{ matrix.arch_name.ninja == 'yes' }} if: ${{ matrix.arch_name.ninja == 'yes' }}
run: | run: |
git clone --depth 1 --branch v1.11.0 https://github.com/ninja-build/ninja.git git clone --depth 1 --branch v1.10.2 https://github.com/ninja-build/ninja.git
cd ninja cd ninja
./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.ninja_arg }} ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.ninja_arg }}
# Updated on 28/08/2021
# Updated on 19/05/2022
- name: openssl build test - name: openssl build test
if: ${{ matrix.arch_name.openssl == 'yes' }} if: ${{ matrix.arch_name.openssl == 'yes' }}
run: | run: |
git clone --depth 1 --branch OpenSSL_1_1_1o https://github.com/openssl/openssl.git git clone --depth 1 --branch OpenSSL_1_1_1k https://github.com/openssl/openssl.git
cd openssl cd openssl
wget https://raw.githubusercontent.com/mavlink/MAVSDK/main/third_party/openssl/dockcross-android.patch wget https://raw.githubusercontent.com/mavlink/MAVSDK/main/third_party/openssl/dockcross-android.patch
patch -p 0 < dockcross-android.patch patch -p 0 < dockcross-android.patch
@ -893,52 +854,48 @@ jobs:
./../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} -j2 ./../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} -j2
cd .. cd ..
rm -rf openssl rm -rf openssl
# Updated on 28/08/2021
# Updated on 19/05/2022
- name: C build test - name: C build test
if: ${{ matrix.arch_name.C == 'yes' }} if: ${{ matrix.arch_name.C == 'yes' }}
run: | run: |
git clone https://github.com/TheAlgorithms/C.git git clone https://github.com/TheAlgorithms/C.git
cd C cd C
git checkout 2314a195862243e09c485a66194866517a6f8c31 git checkout cc241f58c253c533ac94e07151ef91a5ef7e5719
./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.C_arg }} ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.C_arg }}
cd .. cd ..
rm -rf C rm -rf C
# Updated on 28/08/2021
# Updated on 19/05/2022
- name: C-Plus-Plus build test - name: C-Plus-Plus build test
if: ${{ matrix.arch_name.C-Plus-Plus == 'yes' }} if: ${{ matrix.arch_name.C-Plus-Plus == 'yes' }}
run: | run: |
git clone https://github.com/TheAlgorithms/C-Plus-Plus.git git clone https://github.com/TheAlgorithms/C-Plus-Plus.git
cd C-Plus-Plus cd C-Plus-Plus
git checkout 37a29008e6b77921a97a89ca8b7fd9e700aeccd0 git checkout c3b07aed2240e5364e1a49d091a00b61f520e653
./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.C-Plus-Plus_arg }} ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.C-Plus-Plus_arg }}
cd .. cd ..
rm -rf C-Plus-Plus rm -rf C-Plus-Plus
# Updated on 28/08/2021
# Updated on 19/05/2022
- name: fmt build test - name: fmt build test
if: ${{ matrix.arch_name.fmt == 'yes' }} if: ${{ matrix.arch_name.fmt == 'yes' }}
run: | run: |
git clone --depth 1 --branch 8.1.1 https://github.com/fmtlib/fmt.git git clone --depth 1 --branch 8.0.1 https://github.com/fmtlib/fmt.git
cd fmt cd fmt
./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.fmt_arg }} -DFMT_DOC=OFF ./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.fmt_arg }} -DFMT_DOC=OFF
cd .. cd ..
rm -rf fmt rm -rf fmt
# Updated on 05/10/2021
# Updated on 19/05/2022
- name: cpython build test - name: cpython build test
if: ${{ matrix.arch_name.cpython == 'yes' }} if: ${{ matrix.arch_name.cpython == 'yes' }}
run: | run: |
git clone --depth 1 --branch v3.9.13 https://github.com/python/cpython.git git clone --depth 1 --branch v3.9.2 https://github.com/python/cpython.git
cd cpython cd cpython
./../tools/dockcross-command.sh ${{ matrix.arch_name.image }} ./configure ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no --disable-ipv6 ${{ matrix.arch_name.cpython_arg }} --build=x86_64-linux-gnu --enable-shared ./../tools/dockcross-command.sh ${{ matrix.arch_name.image }} ./configure ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no --disable-ipv6 ${{ matrix.arch_name.cpython_arg }} --build=x86_64-linux-gnu --enable-shared
./../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} -j2 ./../tools/dockcross-make-builder.sh ${{ matrix.arch_name.image }} -j2
cd .. cd ..
rm -rf cpython rm -rf cpython
- name: deploy - name: deploy
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'
run: | run: |
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }} docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_PASS }}
docker image push dockcross/${{ matrix.arch_name.image }} --all-tags docker image push dockcross/${{ matrix.arch_name.image }} --all-tags

View File

@ -1,287 +0,0 @@
# Contributing
## Getting started
## How to add a new image ? (With crosstool-ng)
In this part, we will see how to add a new image, we will take example with `linux-arm64` for a raspberry pi 4, with [crosstool-ng](https://github.com/crosstool-ng/crosstool-ng).
### Build and config crosstool-ng
To start, you need to download the source code of crosstool-ng:
```bash
git clone --recurse-submodules --remote-submodules https://github.com/crosstool-ng/crosstool-ng.git
```
Go to crosstool-ng folder:
```bash
cd crosstool-ng
```
Change git branch:
```bash
git checkout crosstool-ng-1.25.0
```
Once in the **crosstool-ng** folder, you must first run the **bootstrap** script:
```bash
./bootstrap
```
Then run the **configure** script:
*Note: ***--enable-local*** Do a portable install of crosstool-ng.*:
```bash
./configure --enable-local
```
Finally, launch the building of crosstool-ng:
```bash
make -j$(nproc)
```
Once the crosstool-ng build is complete, you can run this command to test crosstool-ng:
```bash
./ct-ng --version
```
Before starting the configuration of the toolchains, i recommend you to use one of the examples from crosstool-ng and then make your changes, the command to display the examples:
```bash
./ct-ng list-samples
```
We will take the example of **aarch64-rpi4-linux-gnu**, a **.config** file will be created:
```bash
./ct-ng aarch64-rpi4-linux-gnu
```
We will configure the toolchains according to our needs:
```bash
./ct-ng menuconfig
```
Once the modifications are made, we will display the name of the toolchains, it will be useful later:
```bash
./ct-ng show-tuple
```
### Configuring docker image
You must create a file with the **same** name of the docker image (**linux-arm64**).
Copy the **.config** of crosstool-ng to this file (**linux-arm64**) and rename it to **crosstool-ng.config**.
You need to create a file named **Toolchain.cmake** in **linux-arm64**.
Copy text to **Toolchain.cmake** file:
```cmake
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR ARM64)
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})
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm64)
```
Then ou must change these lines according to the targeted architecture, here **ARM64**:
```cmake
set(CMAKE_SYSTEM_PROCESSOR ARM64)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm64)
```
Then you must create a file named **Dockerfile.in** in the image folder (**linux-arm64**).
Copy text to **Dockerfile.in** file:
```docker
FROM dockcross/base:latest
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
# This is for 64-bit ARM Linux machine
# Crosstool-ng crosstool-ng-1.25.0 2022-05-13
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 "aarch64-unknown-linux-gnu" target.
ENV CROSS_TRIPLE aarch64-unknown-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
ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
# Linux kernel cross compilation variables
ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH arm64
#include "common.label-and-env"
```
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):
```docker
ENV CROSS_TRIPLE aarch64-unknown-linux-gnu
```
These lines also need to be changed:
```docker
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
ENV ARCH arm64
```
Once this part is finished, there must be 3 files in the **linux-arm64** folder:
- **crosstool-ng.config**, the configuration of the toolchain/crosstool-ng.
- **Dockerfile.in**, the docker file.
- **Toolchain.cmake**, the CMake file for the toolchains.
### Makefile
For this last part, we will see how to add the image to the [Makefile](Makefile) and to a github action.
You need to add the image/folder name (**linux-arm64**) to the **STANDARD_IMAGES** variable in the [Makefile](Makefile):
```make
# These images are built using the "build implicit rule"
STANDARD_IMAGES = android-arm android-arm64 android-x86 android-x86_64 \
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-armv6 linux-armv6-lts linux-armv6-musl linux-arm64-lts \
linux-armv7l-musl linux-armv7 linux-armv7a linux-armv7-lts linux-x86_64-full \
linux-mips linux-ppc64le linux-riscv64 linux-riscv32 linux-xtensa-uclibc \
web-wasi \
windows-static-x86 windows-static-x64 windows-static-x64-posix windows-armv7 \
windows-shared-x86 windows-shared-x64 windows-shared-x64-posix windows-arm64
```
You need to add the image/folder name (**linux-arm64**) to the **GEN_IMAGES** variable in the [Makefile](Makefile):
```make
# Generated Dockerfiles.
GEN_IMAGES = android-arm android-arm64 \
linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \
manylinux2014-x64 manylinux2014-x86 \
manylinux2014-aarch64 linux-arm64-lts \
web-wasm web-wasi linux-mips windows-arm64 windows-armv7 \
windows-static-x86 windows-static-x64 windows-static-x64-posix \
windows-shared-x86 windows-shared-x64 windows-shared-x64-posix \
linux-armv7 linux-armv7a linux-armv7l-musl linux-armv7-lts linux-x86_64-full \
linux-armv6 linux-armv6-lts linux-armv6-musl \
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
```
### Image building and testing
You can now start building the image:
```bash
make linux-arm64
```
When finished, you can test it:
```bash
make linux-arm64.test
```
If you want to go a little further in the tests:
```bash
docker run --rm linux-arm64 > ./linux-arm64
chmod +x ./linux-arm64
```
And then run the commands to build a project (you must be in the directory of your project to build):
```bash
./linux-arm64 make
```
With CMake + Ninja:
```bash
./linux-arm64 cmake -Bbuild -S. -GNinja
./linux-arm64 ninja -Cbuild
```
### CI (github action)
To finish, you have to add to [Github Action](.github/workflows/main.yml) the image/folder name:
```yml
# Linux arm64/armv8 images
- {
image: "linux-arm64",
stockfish: "yes",
stockfish_arg: "ARCH=armv8",
ninja: "yes",
ninja_arg: "",
openssl: "yes",
openssl_arg: "linux-aarch64",
C: "yes",
C_arg: "",
C-Plus-Plus: "yes",
C-Plus-Plus_arg: "",
fmt: "yes",
fmt_arg: "",
cpython: "yes",
cpython_arg: "--host=aarch64-unknown-linux-gnu --target=aarch64-unknown-linux-gnu",
}
```
You can disable and enable the build of certain tests which can cause problems with certain CPU architectures (eg. OpenSSL with Risc-V...).

View File

@ -1,4 +1,4 @@
Copyright (c) 2015, 2016, 2017, 2018, 2021 Steeve Morin, Rob Burns, Matthew McCormick, Jean-Christophe-Fillion-Robin, Bensuperpc Copyright (c) 2015, 2016, 2017, 2018 Steeve Morin, Rob Burns, Matthew McCormick, Jean-Christophe-Fillion-Robin
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -16,9 +16,9 @@ BIN = ./bin
STANDARD_IMAGES = android-arm android-arm64 android-x86 android-x86_64 \ STANDARD_IMAGES = android-arm android-arm64 android-x86 android-x86_64 \
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 \
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-armv7l-musl linux-armv7 linux-armv7a linux-armv7-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-lts linux-ppc64le linux-riscv64 linux-riscv32 linux-xtensa-uclibc \ linux-mips linux-ppc64le linux-riscv64 linux-riscv32 linux-xtensa-uclibc \
web-wasi \ web-wasi \
windows-static-x86 windows-static-x64 windows-static-x64-posix windows-armv7 \ windows-static-x86 windows-static-x64 windows-static-x64-posix windows-armv7 \
windows-shared-x86 windows-shared-x64 windows-shared-x64-posix windows-arm64 windows-shared-x86 windows-shared-x64 windows-shared-x64-posix windows-arm64
@ -28,11 +28,11 @@ GEN_IMAGES = android-arm android-arm64 \
linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \ linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \
manylinux2014-x64 manylinux2014-x86 \ manylinux2014-x64 manylinux2014-x86 \
manylinux2014-aarch64 linux-arm64-lts \ manylinux2014-aarch64 linux-arm64-lts \
web-wasm web-wasi linux-mips linux-mips-lts windows-arm64 windows-armv7 \ web-wasm web-wasi linux-mips 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-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-armv5 linux-armv5-musl linux-armv5-uclibc linux-ppc64le linux-s390x \ linux-armv5 linux-armv5-musl linux-armv5-uclibc linux-ppc64le linux-s390x \
linux-riscv64 linux-riscv32 linux-m68k-uclibc linux-x64-tinycc linux-xtensa-uclibc linux-riscv64 linux-riscv32 linux-m68k-uclibc linux-x64-tinycc linux-xtensa-uclibc

View File

@ -9,37 +9,32 @@ Cross compiling toolchains in Docker images.
## Features ## Features
- Pre-built and configured toolchains for cross compiling. - Pre-built and configured toolchains for cross compiling.
- 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.
- [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.
- 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.
- [crosstool-ng](https://github.com/crosstool-ng/crosstool-ng) and [buildroot](https://github.com/buildroot/buildroot) configuration files. - [crosstool-ng](https://github.com/crosstool-ng/crosstool-ng) and [buildroot](https://github.com/buildroot/buildroot) configuration files.
## Examples ## Examples
1. `dockcross make`: Build the *Makefile* in the current directory. 1. `dockcross make`: Build the *Makefile* in the current directory.
2. `dockcross cmake -Bbuild -S. -GNinja`: Run CMake with a build directory `./build` for a *CMakeLists.txt* file in the current directory and generate `ninja` build configuration files. 2. `dockcross cmake -Bbuild -H. -GNinja`: Run CMake with a build directory `./build` for a *CMakeLists.txt* file in the current directory and generate `ninja` build configuration files.
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.
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
```bash ```bash
bash -c "<command args>" bash -c "<command args>"
``` ```
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md).
## Installation ## Installation
This image does not need to be run manually. Instead, there is a helper script to execute build commands on source code existing on the local host filesystem. This script is bundled with the image. This image does not need to be run manually. Instead, there is a helper script to execute build commands on source code existing on the local host filesystem. This script is bundled with the image.
@ -100,8 +95,6 @@ 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-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-s390x | s390x | GCC | Linux | | dockcross/linux-s390x | s390x | GCC | Linux |
| dockcross/linux-ppc64le | ppc64le | GCC | Linux | | dockcross/linux-ppc64le | ppc64le | GCC | Linux |
| dockcross/linux-riscv32 | riscv32 | GCC | Linux | | dockcross/linux-riscv32 | riscv32 | GCC | Linux |
@ -274,19 +267,6 @@ Toolchain configured for ARMv7-L, using
Linux mips cross compiler toolchain for big endian 32-bit hard float Linux mips cross compiler toolchain for big endian 32-bit hard float
MIPS GNU systems. MIPS GNU systems.
### dockcross/linux-mips
![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 ....
### dockcross/linux-mipsel-lts
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/linux-mipsel-ltslatest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/linux-mipsel-lts)
Linux mips cross compiler toolchain for little endian 32-bit soft float
MIPS GNU systems.
### dockcross/linux-s390x ### dockcross/linux-s390x
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/linux-s390x/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/linux-s390x) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/dockcross/linux-s390x/latest) ![Docker Pulls](https://img.shields.io/docker/pulls/dockcross/linux-s390x)
@ -551,6 +531,5 @@ The key difference is that [dockbuild](https://github.com/dockbuild/dockbuild#re
\-\-- \-\--
Credits: Credits:
- [sdt/docker-raspberry-pi-cross-compiler](https://github.com/sdt/docker-raspberry-pi-cross-compiler), who invented the base of the **dockcross** script. - [sdt/docker-raspberry-pi-cross-compiler](https://github.com/sdt/docker-raspberry-pi-cross-compiler), who invented the base of the **dockcross** script.
- [https://github.com/steeve/cross-compiler](https://github.com/steeve/cross-compiler), - [https://github.com/steeve/cross-compiler](https://github.com/steeve/cross-compiler),

View File

@ -24,10 +24,10 @@ has() {
# If OCI_EXE is not already set, search for a container executor (OCI stands for "Open Container Initiative") # If OCI_EXE is not already set, search for a container executor (OCI stands for "Open Container Initiative")
if [ -z "$OCI_EXE" ]; then if [ -z "$OCI_EXE" ]; then
if which podman >/dev/null 2>/dev/null; then if which docker >/dev/null 2>/dev/null; then
OCI_EXE=podman
elif which docker >/dev/null 2>/dev/null; then
OCI_EXE=docker OCI_EXE=docker
elif which podman >/dev/null 2>/dev/null; then
OCI_EXE=podman
else else
die "Cannot find a container executor. Search for docker and podman." die "Cannot find a container executor. Search for docker and podman."
fi fi
@ -190,7 +190,7 @@ MSYS=$([ -e /proc/version ] && grep -l MINGW /proc/version || echo "")
# CYGWIN # CYGWIN
CYGWIN=$([ -e /proc/version ] && grep -l CYGWIN /proc/version || echo "") CYGWIN=$([ -e /proc/version ] && grep -l CYGWIN /proc/version || echo "")
if [ -z "$UBUNTU_ON_WINDOWS" -a -z "$MSYS" -a "$OCI_EXE" != "podman" ]; then if [ -z "$UBUNTU_ON_WINDOWS" -a -z "$MSYS" ]; then
USER_IDS=(-e BUILDER_UID="$( id -u )" -e BUILDER_GID="$( id -g )" -e BUILDER_USER="$( id -un )" -e BUILDER_GROUP="$( id -gn )") USER_IDS=(-e BUILDER_UID="$( id -u )" -e BUILDER_GID="$( id -g )" -e BUILDER_USER="$( id -un )" -e BUILDER_GROUP="$( id -gn )")
fi fi

View File

@ -2,12 +2,11 @@ FROM dockcross/base:latest
LABEL maintainer="Matt McCormick matt.mccormick@kitware.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 ARMv7a Linux
# Crosstool-ng version
# 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 master 2022-04-22 # crosstool-ng 1.25.0
ENV CT_VERSION dd4d19fce2296aaadd4443f8f8551f2f8e5aa7a4 ENV CT_VERSION crosstool-ng-1.25.0
#include "common.crosstool" #include "common.crosstool"
@ -18,8 +17,9 @@ RUN apt-get update \
qemu-user-static \ qemu-user-static \
&& apt-get clean --yes && apt-get clean --yes
# The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-gnu" target.
ENV CROSS_TRIPLE mips-unknown-linux-gnu # The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
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 \
@ -33,12 +33,16 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
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
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
# 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 arm
#include "common.label-and-env" #include "common.label-and-env"

View File

@ -0,0 +1,13 @@
dockcross image for ARMv7-A-LTS
===========================
Toolchain configured for ARMv7-A used in Beaglebone Black single board PC with TI SoC AM3358 on board, Cortex-A8. Code compiled with dockcross armv7 image crashes on Beaglebone, see https://github.com/dockcross/dockcross/issues/290
This is the LTS version, i.e. with glibc version 2.28.
Difference with dockcross armv7 toolchain: ARCH_CPU="cortex-a8", ARCH_FPU="neon".
Only NEON is enabled, though TI docs says it is possible to use both VFPv3 and NEON http://processors.wiki.ti.com/index.php/Using_NEON_and_VFPv3_on_Cortex-A8
I do not know how to configure CrossTool-NG for VFPv3+NEON. Feel you free to submit a fix)

View File

@ -1,6 +1,6 @@
set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR mipsel) set(CMAKE_SYSTEM_PROCESSOR arm)
set(cross_triple $ENV{CROSS_TRIPLE}) set(cross_triple $ENV{CROSS_TRIPLE})
set(cross_root $ENV{CROSS_ROOT}) set(cross_root $ENV{CROSS_ROOT})
@ -17,5 +17,5 @@ set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot) set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mipsel) set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)

View File

@ -1,13 +1,11 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.25.0_rc2 Configuration # crosstool-NG 1.25.0 Configuration
# #
CT_CONFIGURE_has_static_link=y CT_CONFIGURE_has_static_link=y
CT_CONFIGURE_has_cxx11=y CT_CONFIGURE_has_cxx11=y
CT_CONFIGURE_has_wget=y CT_CONFIGURE_has_wget=y
CT_CONFIGURE_has_curl=y CT_CONFIGURE_has_curl=y
CT_CONFIGURE_has_meson=y
CT_CONFIGURE_has_ninja=y
CT_CONFIGURE_has_rsync=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
@ -18,16 +16,14 @@ CT_CONFIGURE_has_autoreconf_2_65_or_newer=y
CT_CONFIGURE_has_automake_1_15_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_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_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.25.0_rc2" CT_VERSION="1.25.0"
CT_VCHECK="" CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4" CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4" CT_CONFIG_VERSION_CURRENT="4"
@ -130,10 +126,10 @@ CT_LOG_FILE_COMPRESS=y
# #
# CT_ARCH_ALPHA is not set # CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set # CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set CT_ARCH_ARM=y
# CT_ARCH_AVR is not set # CT_ARCH_AVR is not set
# CT_ARCH_M68K is not set # CT_ARCH_M68K is not set
CT_ARCH_MIPS=y # 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
@ -142,17 +138,22 @@ CT_ARCH_MIPS=y
# CT_ARCH_SPARC is not set # CT_ARCH_SPARC is not set
# CT_ARCH_X86 is not set # CT_ARCH_X86 is not set
# CT_ARCH_XTENSA is not set # CT_ARCH_XTENSA is not set
CT_ARCH="mips" CT_ARCH="arm"
CT_ARCH_CHOICE_KSYM="MIPS" CT_ARCH_CHOICE_KSYM="ARM"
CT_ARCH_TUNE="" CT_ARCH_CPU="cortex-a8"
CT_ARCH_MIPS_SHOW=y CT_ARCH_ARM_SHOW=y
# #
# Options for mips # Options for arm
# #
CT_ARCH_MIPS_PKG_KSYM="" CT_ARCH_ARM_PKG_KSYM=""
CT_ARCH_mips_o32=y CT_ARCH_ARM_MODE="arm"
CT_ARCH_mips_ABI="32" CT_ARCH_ARM_MODE_ARM=y
# CT_ARCH_ARM_MODE_THUMB is not set
# CT_ARCH_ARM_INTERWORKING is not set
CT_ARCH_ARM_EABI_FORCE=y
CT_ARCH_ARM_EABI=y
CT_ARCH_ARM_TUPLE_USE_EABIHF=y
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X 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
@ -162,12 +163,15 @@ CT_ARCH_SUFFIX=""
# #
# CT_MULTILIB is not set # CT_MULTILIB is not set
CT_DEMULTILIB=y CT_DEMULTILIB=y
CT_ARCH_SUPPORTS_BOTH_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_EITHER_ENDIAN=y CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
CT_ARCH_DEFAULT_BE=y CT_ARCH_DEFAULT_LE=y
CT_ARCH_BE=y # CT_ARCH_BE is not set
# CT_ARCH_LE is not set CT_ARCH_LE=y
CT_ARCH_ENDIAN="big" CT_ARCH_ENDIAN="little"
CT_ARCH_SUPPORTS_32=y CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y CT_ARCH_DEFAULT_32=y
@ -179,15 +183,20 @@ CT_ARCH_32=y
# Target optimisations # Target optimisations
# #
CT_ARCH_SUPPORTS_WITH_ARCH=y CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_CPU=y
CT_ARCH_SUPPORTS_WITH_TUNE=y CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_SUPPORTS_WITH_FLOAT=y CT_ARCH_SUPPORTS_WITH_FLOAT=y
CT_ARCH_ARCH="mips1" CT_ARCH_SUPPORTS_WITH_FPU=y
CT_ARCH_SUPPORTS_SOFTFP=y
CT_ARCH_EXCLUSIVE_WITH_CPU=y
CT_ARCH_FPU="neon"
# CT_ARCH_FLOAT_AUTO is not set # CT_ARCH_FLOAT_AUTO is not set
# CT_ARCH_FLOAT_HW is not set CT_ARCH_FLOAT_HW=y
CT_ARCH_FLOAT_SW=y # CT_ARCH_FLOAT_SOFTFP is not set
# CT_ARCH_FLOAT_SW is not set
CT_TARGET_CFLAGS="" CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS="" CT_TARGET_LDFLAGS=""
CT_ARCH_FLOAT="soft" CT_ARCH_FLOAT="hard"
# end of Target options # end of Target options
# #
@ -211,7 +220,7 @@ CT_TOOLCHAIN_BUGURL=""
# #
# Tuple completion and aliasing # Tuple completion and aliasing
# #
CT_TARGET_VENDOR="unknown" CT_TARGET_VENDOR="cortexa8_neon"
CT_TARGET_ALIAS_SED_EXPR="" CT_TARGET_ALIAS_SED_EXPR=""
CT_TARGET_ALIAS="" CT_TARGET_ALIAS=""
@ -257,7 +266,7 @@ 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_5_16 is not set CT_LINUX_V_5_16=y
# 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 is not set
# CT_LINUX_V_5_13 is not set # CT_LINUX_V_5_13 is not set
@ -267,7 +276,7 @@ CT_LINUX_PATCH_ORDER="global"
# CT_LINUX_V_5_9 is not set # CT_LINUX_V_5_9 is not set
# CT_LINUX_V_5_8 is not set # CT_LINUX_V_5_8 is not set
# CT_LINUX_V_5_7 is not set # CT_LINUX_V_5_7 is not set
CT_LINUX_V_5_4=y # CT_LINUX_V_5_4 is not set
# CT_LINUX_V_5_3 is not set # CT_LINUX_V_5_3 is not set
# CT_LINUX_V_5_2 is not set # CT_LINUX_V_5_2 is not set
# CT_LINUX_V_5_1 is not set # CT_LINUX_V_5_1 is not set
@ -292,14 +301,14 @@ CT_LINUX_V_5_4=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="5.4.179" CT_LINUX_VERSION="5.16.9"
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_5_12_or_older=y CT_LINUX_later_than_5_12=y
CT_LINUX_older_than_5_12=y CT_LINUX_5_12_or_later=y
CT_LINUX_later_than_5_3=y CT_LINUX_later_than_5_3=y
CT_LINUX_5_3_or_later=y CT_LINUX_5_3_or_later=y
CT_LINUX_later_than_4_8=y CT_LINUX_later_than_4_8=y
@ -344,9 +353,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_38=y # 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
@ -357,7 +366,7 @@ CT_BINUTILS_V_2_38=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.38" 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}"
@ -373,9 +382,16 @@ CT_BINUTILS_2_26_or_later=y
# #
# GNU binutils # GNU binutils
# #
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
CT_BINUTILS_GOLD_SUPPORT=y
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y # CT_BINUTILS_LINKER_LD is not set
CT_BINUTILS_LINKERS_LIST="ld" CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_INSTALLED=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LINKER_BOTH=y
CT_BINUTILS_LINKERS_LIST="ld,gold"
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_LINKER_DEFAULT="bfd" CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y CT_BINUTILS_PLUGINS=y
CT_BINUTILS_RELRO=m CT_BINUTILS_RELRO=m
@ -428,8 +444,12 @@ 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_34_or_older=y
CT_GLIBC_older_than_2_34=y
CT_GLIBC_2_32_or_older=y CT_GLIBC_2_32_or_older=y
CT_GLIBC_older_than_2_32=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_2_30_or_older=y
CT_GLIBC_older_than_2_30=y CT_GLIBC_older_than_2_30=y
CT_GLIBC_2_29_or_older=y CT_GLIBC_2_29_or_older=y
@ -473,14 +493,14 @@ CT_GLIBC_FORCE_UNWIND=y
# CT_GLIBC_KERNEL_VERSION_NONE is not set # CT_GLIBC_KERNEL_VERSION_NONE is not set
# CT_GLIBC_KERNEL_VERSION_AS_HEADERS is not set # CT_GLIBC_KERNEL_VERSION_AS_HEADERS is not set
CT_GLIBC_KERNEL_VERSION_CHOSEN=y CT_GLIBC_KERNEL_VERSION_CHOSEN=y
CT_GLIBC_MIN_KERNEL_VERSION="3.16.0" CT_GLIBC_MIN_KERNEL_VERSION="5.4.0"
CT_GLIBC_MIN_KERNEL="3.16.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 BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG" 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_ANY=y
@ -520,26 +540,26 @@ 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_11 is not set CT_GCC_V_11=y
# 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=y # 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_V_5 is not set # CT_GCC_V_5 is not set
# CT_GCC_V_4_9 is not set # CT_GCC_V_4_9 is not set
CT_GCC_VERSION="8.5.0" 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_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_11_or_older=y CT_GCC_later_than_11=y
CT_GCC_older_than_11=y CT_GCC_11_or_later=y
CT_GCC_10_or_older=y CT_GCC_later_than_10=y
CT_GCC_older_than_10=y CT_GCC_10_or_later=y
CT_GCC_9_or_older=y CT_GCC_later_than_9=y
CT_GCC_older_than_9=y CT_GCC_9_or_later=y
CT_GCC_later_than_8=y CT_GCC_later_than_8=y
CT_GCC_8_or_later=y CT_GCC_8_or_later=y
CT_GCC_later_than_7=y CT_GCC_later_than_7=y
@ -552,6 +572,7 @@ CT_GCC_later_than_4_9=y
CT_GCC_4_9_or_later=y CT_GCC_4_9_or_later=y
CT_GCC_REQUIRE_4_9_or_later=y CT_GCC_REQUIRE_4_9_or_later=y
CT_CC_GCC_ENABLE_PLUGINS=y CT_CC_GCC_ENABLE_PLUGINS=y
CT_CC_GCC_GOLD=y
CT_CC_GCC_HAS_LIBMPX=y CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS="" CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY="" CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
@ -565,6 +586,7 @@ CT_CC_GCC_CONFIG_TLS=m
# #
CT_CC_GCC_USE_GRAPHITE=y CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y CT_CC_GCC_USE_LTO=y
CT_CC_GCC_LTO_ZSTD=m
# #
# Settings for libraries running on target # Settings for libraries running on target
@ -574,16 +596,17 @@ 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 is not set CT_CC_GCC_LIBSANITIZER=y
# #
# Misc. obscure options. # Misc. obscure options.
# #
CT_CC_CXA_ATEXIT=y CT_CC_CXA_ATEXIT=y
CT_CC_GCC_TM_CLONE_REGISTRY=m
# CT_CC_GCC_DISABLE_PCH is not set # CT_CC_GCC_DISABLE_PCH is not set
CT_CC_GCC_SJLJ_EXCEPTIONS=m CT_CC_GCC_SJLJ_EXCEPTIONS=m
CT_CC_GCC_LDBL_128=m CT_CC_GCC_LDBL_128=m
# CT_CC_GCC_BUILD_ID is not set CT_CC_GCC_BUILD_ID=y
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set # 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_GNU is not set
@ -594,42 +617,19 @@ CT_CC_GCC_DEC_FLOATS_AUTO=y
# CT_CC_GCC_DEC_FLOATS_DPD 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_NO is not set
CT_CC_GCC_DEC_FLOATS="" CT_CC_GCC_DEC_FLOATS=""
CT_CC_GCC_HAS_ARCH_OPTIONS=y
#
# archictecture-specific options
#
CT_CC_GCC_mips_llsc=m
CT_CC_GCC_mips_synci=m
CT_CC_GCC_mips_plt=y
CT_ALL_CC_CHOICES="GCC" CT_ALL_CC_CHOICES="GCC"
# #
# Additional supported languages: # Additional supported languages:
# #
CT_CC_LANG_CXX=y CT_CC_LANG_CXX=y
# CT_CC_LANG_FORTRAN is not set CT_CC_LANG_FORTRAN=y
# end of C compiler # end of C compiler
# #
# Debug facilities # Debug facilities
# #
CT_DEBUG_DUMA=y # CT_DEBUG_DUMA is not set
CT_DEBUG_DUMA_PKG_KSYM="DUMA"
CT_DUMA_DIR_NAME="duma"
CT_DUMA_PKG_NAME="duma"
CT_DUMA_SRC_RELEASE=y
# CT_DUMA_SRC_DEVEL is not set
CT_DUMA_PATCH_ORDER="global"
CT_DUMA_V_2_5_15=y
CT_DUMA_VERSION="2_5_15"
CT_DUMA_MIRRORS="http://downloads.sourceforge.net/project/duma/duma/${CT_DUMA_VERSION//_/.}"
CT_DUMA_ARCHIVE_FILENAME="@{pkg_name}_@{version}"
CT_DUMA_ARCHIVE_DIRNAME="@{pkg_name}_@{version}"
CT_DUMA_ARCHIVE_FORMATS=".tar.gz .zip"
CT_DUMA_SIGNATURE_FORMAT=""
CT_DUMA_SO=y
CT_DUMA_CUSTOM_WRAPPER=y
CT_DEBUG_GDB=y CT_DEBUG_GDB=y
CT_DEBUG_GDB_PKG_KSYM="GDB" CT_DEBUG_GDB_PKG_KSYM="GDB"
CT_GDB_DIR_NAME="gdb" CT_GDB_DIR_NAME="gdb"
@ -637,19 +637,20 @@ 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_9=y CT_GDB_V_11=y
# CT_GDB_V_10 is not set
# CT_GDB_V_9 is not set
# CT_GDB_V_8_3 is not set # CT_GDB_V_8_3 is not set
CT_GDB_VERSION="9.2" CT_GDB_VERSION="11.2"
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)" CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}" CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}" CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz" CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
CT_GDB_SIGNATURE_FORMAT="" CT_GDB_SIGNATURE_FORMAT=""
CT_GDB_11_or_older=y CT_GDB_later_than_11=y
CT_GDB_older_than_11=y CT_GDB_11_or_later=y
CT_GDB_10_or_older=y CT_GDB_later_than_10=y
CT_GDB_older_than_10=y CT_GDB_10_or_later=y
CT_GDB_REQUIRE_older_than_10=y
CT_GDB_later_than_8_3=y CT_GDB_later_than_8_3=y
CT_GDB_8_3_or_later=y CT_GDB_8_3_or_later=y
CT_GDB_later_than_8_0=y CT_GDB_later_than_8_0=y
@ -661,28 +662,16 @@ CT_GDB_7_11_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 is not set CT_GDB_CROSS_PYTHON=y
CT_GDB_CROSS_PYTHON_BINARY=""
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY="" CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
CT_GDB_NATIVE=y # 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_DEP_NO_STD_FUTURE=y CT_GDB_GDBSERVER_TOPLEVEL=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_5_16=y
CT_STRACE_VERSION="5.16"
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
@ -690,7 +679,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"
@ -712,30 +714,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_21=y # 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.21" 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_0_21_or_later=y
CT_GETTEXT_0_21_or_older=y CT_GETTEXT_0_21_or_older=y
CT_GETTEXT_INCOMPATIBLE_WITH_UCLIBC_NG=y CT_GETTEXT_older_than_0_21=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"
@ -875,9 +864,7 @@ CT_MPFR_NEEDED=y
CT_ISL_NEEDED=y CT_ISL_NEEDED=y
CT_MPC_NEEDED=y CT_MPC_NEEDED=y
CT_EXPAT_NEEDED=y CT_EXPAT_NEEDED=y
CT_EXPAT_TARGET=y
CT_NCURSES_NEEDED=y CT_NCURSES_NEEDED=y
CT_NCURSES_TARGET=y
CT_ZLIB_NEEDED=y CT_ZLIB_NEEDED=y
CT_LIBICONV=y CT_LIBICONV=y
CT_GETTEXT=y CT_GETTEXT=y

View File

@ -1,18 +0,0 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR mips)
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})
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips)

View File

@ -1,45 +0,0 @@
FROM dockcross/base:latest
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
# Crosstool-ng version
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
# crosstool-ng master 2022-04-22
ENV CT_VERSION dd4d19fce2296aaadd4443f8f8551f2f8e5aa7a4
# This is for 32-bit or 64-bit mipsel Linux (multilib)
#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 "mipsel-unknown-linux-gnu" target.
ENV CROSS_TRIPLE mipsel-unknown-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
ENV PKG_CONFIG_PATH /usr/lib/mipsel-unknown-linux-gnu/
# Linux kernel cross compilation variables
ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH mipsel
#include "common.label-and-env"

View File

@ -1,849 +0,0 @@
#
# Automatically generated file; DO NOT EDIT.
# crosstool-NG 1.25.0_rc2 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_meson=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_dtc=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_rc2"
CT_VCHECK=""
CT_CONFIG_VERSION_ENV="4"
CT_CONFIG_VERSION_CURRENT="4"
CT_CONFIG_VERSION="4"
CT_MODULES=y
#
# Paths and misc options
#
#
# crosstool-NG behavior
#
# CT_OBSOLETE is not set
# CT_EXPERIMENTAL 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=y
CT_LOG_TO_FILE=y
CT_LOG_FILE_COMPRESS=y
# end of Paths and misc options
#
# Target options
#
# CT_ARCH_ALPHA is not set
# CT_ARCH_ARC is not set
# CT_ARCH_ARM is not set
# CT_ARCH_AVR is not set
# CT_ARCH_M68K is not set
CT_ARCH_MIPS=y
# 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 is not set
# CT_ARCH_XTENSA is not set
CT_ARCH="mips"
CT_ARCH_CHOICE_KSYM="MIPS"
CT_ARCH_TUNE=""
CT_ARCH_MIPS_SHOW=y
#
# Options for mips
#
CT_ARCH_MIPS_PKG_KSYM=""
CT_ARCH_mips_o32=y
CT_ARCH_mips_ABI="32"
CT_ALL_ARCH_CHOICES="ALPHA ARC ARM AVR C6X M68K MICROBLAZE MIPS MOXIE MSP430 NIOS2 POWERPC PRU RISCV S390 SH SPARC X86 XTENSA"
CT_ARCH_SUFFIX=""
# CT_OMIT_TARGET_VENDOR is not set
#
# Generic target options
#
# CT_MULTILIB is not set
CT_DEMULTILIB=y
CT_ARCH_USE_MMU=y
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
CT_ARCH_DEFAULT_BE=y
# CT_ARCH_BE is not set
CT_ARCH_LE=y
CT_ARCH_ENDIAN="little"
CT_ARCH_SUPPORTS_32=y
CT_ARCH_SUPPORTS_64=y
CT_ARCH_DEFAULT_32=y
CT_ARCH_BITNESS=32
CT_ARCH_32=y
# CT_ARCH_64 is not set
#
# Target optimisations
#
CT_ARCH_SUPPORTS_WITH_ARCH=y
CT_ARCH_SUPPORTS_WITH_TUNE=y
CT_ARCH_SUPPORTS_WITH_FLOAT=y
CT_ARCH_ARCH=""
# CT_ARCH_FLOAT_AUTO is not set
# CT_ARCH_FLOAT_HW is not set
CT_ARCH_FLOAT_SW=y
CT_TARGET_CFLAGS=""
CT_TARGET_LDFLAGS=""
CT_ARCH_FLOAT="soft"
# end of Target options
#
# Toolchain options
#
#
# General toolchain options
#
CT_FORCE_SYSROOT=y
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="unknown"
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_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=y
# 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 is not set
# CT_LINUX_V_4_1 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_VERSION="4.19.229"
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_later_than_4_8=y
CT_LINUX_4_8_or_later=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_LINUX_REQUIRE_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=y
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_FORCE_LD_BFD_DEFAULT=y
CT_BINUTILS_LINKER_LD=y
CT_BINUTILS_LINKERS_LIST="ld"
CT_BINUTILS_LINKER_DEFAULT="bfd"
CT_BINUTILS_PLUGINS=y
CT_BINUTILS_RELRO=m
CT_BINUTILS_DETERMINISTIC_ARCHIVES=y
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
# CT_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=y
# 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 is not set
# CT_GLIBC_V_2_19 is not set
# CT_GLIBC_V_2_17 is not set
CT_GLIBC_VERSION="2.28"
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_32_or_older=y
CT_GLIBC_older_than_2_32=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_later=y
CT_GLIBC_2_28_or_older=y
CT_GLIBC_later_than_2_27=y
CT_GLIBC_2_27_or_later=y
CT_GLIBC_later_than_2_26=y
CT_GLIBC_2_26_or_later=y
CT_GLIBC_later_than_2_25=y
CT_GLIBC_2_25_or_later=y
CT_GLIBC_later_than_2_24=y
CT_GLIBC_2_24_or_later=y
CT_GLIBC_later_than_2_23=y
CT_GLIBC_2_23_or_later=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_BUILD_SSP=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=""
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 is not set
CT_GLIBC_KERNEL_VERSION_CHOSEN=y
CT_GLIBC_MIN_KERNEL_VERSION="3.2.0"
CT_GLIBC_MIN_KERNEL="3.2.0"
CT_GLIBC_SSP_DEFAULT=y
# CT_GLIBC_SSP_NO is not set
# CT_GLIBC_SSP_YES is not set
# CT_GLIBC_SSP_ALL is not set
# CT_GLIBC_SSP_STRONG is not set
CT_GLIBC_ENABLE_WERROR=y
# CT_GLIBC_ENABLE_COMMON_FLAG is not set
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 is not set
# CT_GCC_V_10 is not set
# CT_GCC_V_9 is not set
CT_GCC_V_8=y
# 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="8.5.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_11_or_older=y
CT_GCC_older_than_11=y
CT_GCC_10_or_older=y
CT_GCC_older_than_10=y
CT_GCC_9_or_older=y
CT_GCC_older_than_9=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_GCC_REQUIRE_4_9_or_later=y
CT_CC_GCC_ENABLE_PLUGINS=y
CT_CC_GCC_HAS_LIBMPX=y
CT_CC_GCC_ENABLE_CXX_FLAGS=""
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
CT_CC_GCC_STATIC_LIBSTDCXX=y
# CT_CC_GCC_SYSTEM_ZLIB is not set
CT_CC_GCC_CONFIG_TLS=m
#
# Optimisation features
#
CT_CC_GCC_USE_GRAPHITE=y
CT_CC_GCC_USE_LTO=y
#
# Settings for libraries running on target
#
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
CT_CC_GCC_LIBMUDFLAP=y
CT_CC_GCC_LIBGOMP=y
CT_CC_GCC_LIBSSP=m
CT_CC_GCC_LIBQUADMATH=y
# CT_CC_GCC_LIBSANITIZER is not set
#
# Misc. obscure options.
#
CT_CC_CXA_ATEXIT=y
# 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_CC_GCC_HAS_ARCH_OPTIONS=y
#
# archictecture-specific options
#
CT_CC_GCC_mips_llsc=m
CT_CC_GCC_mips_synci=m
CT_CC_GCC_mips_plt=y
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=y
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_5_16=y
CT_STRACE_VERSION="5.16"
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"
# end of Debug facilities
#
# Companion libraries
#
# CT_COMPLIBS_CHECK is not set
# CT_COMP_LIBS_CLOOG is not set
CT_COMP_LIBS_EXPAT=y
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
CT_EXPAT_DIR_NAME="expat"
CT_EXPAT_PKG_NAME="expat"
CT_EXPAT_SRC_RELEASE=y
# CT_EXPAT_SRC_DEVEL is not set
CT_EXPAT_PATCH_ORDER="global"
CT_EXPAT_V_2_4=y
CT_EXPAT_VERSION="2.4.1"
CT_EXPAT_MIRRORS="http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION} https://github.com/libexpat/libexpat/releases/download/R_${CT_EXPAT_VERSION//./_}"
CT_EXPAT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
CT_EXPAT_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2 .tar.gz"
CT_EXPAT_SIGNATURE_FORMAT=""
CT_COMP_LIBS_GETTEXT=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/"
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