mirror of
https://github.com/bensuperpc/dockcross.git
synced 2025-06-18 00:49:25 +02:00
Compare commits
86 Commits
update_scr
...
dev-old
Author | SHA1 | Date | |
---|---|---|---|
60c9ba0b79 | |||
356a6e98a2 | |||
48261f6be1 | |||
2639b3e285 | |||
6fbebd3fdb | |||
f37f0a177a | |||
7a42d85251 | |||
f37486cc8a | |||
2979dfd782 | |||
19316b9788 | |||
afeb0243ee | |||
03e4389bf8 | |||
21292e9d48 | |||
c916b0e5ac | |||
708f3c7d3f | |||
3952f72dc8 | |||
2c6a5eca11 | |||
363ea4796e | |||
6a70cee0fe | |||
3dc4ff36fc | |||
9159152331 | |||
b4e1b0e87d | |||
3a302c2cde | |||
6b67601226 | |||
f6eb0cb349 | |||
c7fcae512e | |||
ceda522816 | |||
3c76727838 | |||
a4872af808 | |||
ae37cb5ded | |||
ef6ea08a78 | |||
52a958d7a4 | |||
a42f28be4c | |||
695ecfc899 | |||
5ed643c05c | |||
08f480baa9 | |||
ca09d54120 | |||
3491838625 | |||
7aa43297ec | |||
a005b538bc | |||
64bfc9200a | |||
f06e265503 | |||
d7bfc657f5 | |||
5906aae649 | |||
4119679f1c | |||
27a24d2be3 | |||
fd0f89884f | |||
82667b8cf8 | |||
adc1b0c684 | |||
3a29b8bc69 | |||
8c18e4a7f1 | |||
f9693294ff | |||
25c411eb28 | |||
85a579b3bb | |||
a9dac6fe6a | |||
ef6f540136 | |||
ddae14a07f | |||
d1c13a606c | |||
71af7f0127 | |||
11aace4382 | |||
abefcadab2 | |||
b0c187ca10 | |||
54309e4849 | |||
ec218274a6 | |||
03d49a985c | |||
05eeb24843 | |||
0101ef857a | |||
cfc2570697 | |||
80915d0012 | |||
403cbadbd9 | |||
61b97c22c6 | |||
26fe90e0cd | |||
ab590f3fdd | |||
1a690e94e3 | |||
c7c0430029 | |||
2cc0a157d7 | |||
b31b269fec | |||
e1b8820112 | |||
d788eb290e | |||
cf34339dc3 | |||
a06cfec38e | |||
56324f5c0f | |||
c752b0edad | |||
74d2b79f65 | |||
311f216402 | |||
fdbb1affe3 |
9
.github/dependabot.yml
vendored
9
.github/dependabot.yml
vendored
@ -1,9 +0,0 @@
|
||||
# Set update schedule for GitHub Actions
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
# Check for updates to GitHub Actions every weekday
|
||||
interval: "daily"
|
22
.github/workflows/expired.yml
vendored
22
.github/workflows/expired.yml
vendored
@ -1,22 +0,0 @@
|
||||
name: 'Close stale issues and PRs'
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 */8 * * *'
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v5
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
exempt-issue-milestones: 'future,alpha,beta,release,bugfix,improvement,enhancement,help wanted'
|
||||
exempt-pr-milestones: 'bugfix,improvement,enhancement,help wanted'
|
||||
exempt-all-pr-assignees: true
|
||||
stale-issue-message: 'This issue is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 30 days.'
|
||||
stale-pr-message: 'This PR is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 30 days.'
|
||||
close-issue-message: 'This issue was closed because it has been stalled for 30 days with no activity.'
|
||||
close-pr-message: 'This PR was closed because it has been stalled for 30 days with no activity.'
|
||||
days-before-issue-stale: 120
|
||||
days-before-pr-stale: 120
|
||||
days-before-issue-close: 30
|
||||
days-before-pr-close: 30
|
1006
.github/workflows/main.yml
vendored
1006
.github/workflows/main.yml
vendored
File diff suppressed because it is too large
Load Diff
28
.github/workflows/shellcheck.yml
vendored
28
.github/workflows/shellcheck.yml
vendored
@ -1,28 +0,0 @@
|
||||
name: Shellcheck CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '*'
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
shellcheck:
|
||||
name: Shellcheck
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Run ShellCheck
|
||||
uses: ludeeus/action-shellcheck@master
|
||||
with:
|
||||
severity: error
|
||||
format: gcc
|
||||
env:
|
||||
SHELLCHECK_OPTS: -s bash
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,8 +1,5 @@
|
||||
bin
|
||||
dockcross
|
||||
dockcross-*
|
||||
build
|
||||
build-*
|
||||
*/test/
|
||||
Dockerfile
|
||||
web-wasm/Dockerfile
|
||||
|
12
.gitmodules
vendored
Normal file
12
.gitmodules
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
[submodule "pvsneslib"]
|
||||
path = pvsneslib
|
||||
url = https://github.com/Bensuperpc/pvsneslib-docker.git
|
||||
[submodule "cc65"]
|
||||
path = cc65
|
||||
url = https://github.com/Bensuperpc/cc65-docker.git
|
||||
[submodule "psn00bsdk"]
|
||||
path = psn00bsdk
|
||||
url = https://github.com/Bensuperpc/psn00bsdk-docker.git
|
||||
[submodule "sgdk"]
|
||||
path = sgdk
|
||||
url = https://github.com/Stephane-D/SGDK.git
|
293
CONTRIBUTING.md
293
CONTRIBUTING.md
@ -1,293 +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` does 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
|
||||
```
|
||||
|
||||
*Alternatively*, we could copy an existing `crosstool-ng.config` from one of the target folders in the `dockcross` project to the local `.config`:
|
||||
|
||||
```bash
|
||||
cp path/to/dockcross/linux-arm64 .config
|
||||
```
|
||||
|
||||
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/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...).
|
@ -1,7 +1,5 @@
|
||||
ARG DOCKER_IMAGE=debian:bullseye-slim
|
||||
FROM $DOCKER_IMAGE
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
FROM debian:buster-slim
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
#include "common.debian"
|
||||
|
||||
|
2
LICENSE
2
LICENSE
@ -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
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
339
Makefile
339
Makefile
@ -7,53 +7,32 @@
|
||||
DOCKER = docker
|
||||
|
||||
# Docker organization to pull the images from
|
||||
ORG = dockcross
|
||||
ORG = bensuperpc
|
||||
|
||||
# Directory where to generate the dockcross script for each images (e.g bin/dockcross-manylinux2014-x64)
|
||||
BIN = ./bin
|
||||
|
||||
# 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-mipsel-lts \
|
||||
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 \
|
||||
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
|
||||
# EXTEND_STANDARD_IMAGES = linux-armv8-rpi4-all linux-armv8-rpi3-all
|
||||
|
||||
STANDARD_IMAGES = avr linux-s390x android-arm android-arm64 android-x86 android-x86_64 linux-x86 linux-x64 linux-x64-clang linux-armv8 linux-armv8-musl linux-armv8-rpi3 linux-armv8-rpi4 linux-armv5 linux-m68k linux-armv5-musl linux-armv6-rpi1 linux-armv6-musl linux-armv6-rpi-old linux-armv7 linux-armv7a linux-armv7-rpi2 linux-armv7l-musl linux-mips linux-mips64 linux-mips64el-n64 linux-mipsel linux-ppc32 linux-ppc64 linux-riscv64 windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix
|
||||
|
||||
# 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 linux-mips-lts 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-armv7a-lts linux-x86_64-full \
|
||||
linux-armv6 linux-armv6-lts linux-armv6-musl linux-mipsel-lts \
|
||||
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
|
||||
GEN_IMAGES = avr linux-s390x android-arm android-arm64 linux-x86 linux-x64 linux-x64-clang linux-mips linux-mips64 linux-mipsel manylinux2014-x64 manylinux2014-x86 manylinux2014-aarch64 linux-m68k web-wasm linux-armv8 linux-armv8-musl linux-armv8-rpi3 linux-armv8-rpi4 linux-ppc32 linux-ppc64 windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix linux-mips64el-n64 linux-armv7 linux-armv7a linux-armv7l-musl linux-armv6-rpi1 linux-armv6-musl linux-armv6-rpi-old linux-armv7-rpi2 linux-armv5 linux-armv5-musl linux-riscv64
|
||||
EXT_GEN_IMAGES = linux-armv8-rpi4.full linux-armv8-rpi3.full linux-armv7-rpi2.full linux-armv7.full linux-armv7a.full linux-armv6-rpi1.full linux-armv8.full
|
||||
|
||||
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
|
||||
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(EXT_GEN_IMAGES)) $(addsuffix /Dockerfile,$(GEN_IMAGES))
|
||||
|
||||
# These images are expected to have explicit rules for *both* build and testing
|
||||
NON_STANDARD_IMAGES = manylinux2014-x64 manylinux2014-x86 \
|
||||
manylinux2014-aarch64 web-wasm
|
||||
NON_STANDARD_IMAGES = web-wasm manylinux2014-x64 manylinux2014-x86 manylinux2014-aarch64 pvsneslib cc65 psn00bsdk sgdk
|
||||
|
||||
# Docker composite files
|
||||
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux common.buildroot \
|
||||
common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \
|
||||
common.label-and-env
|
||||
DOCKER_COMPOSITE_FOLDER_PATH = common/
|
||||
DOCKER_COMPOSITE_PATH = $(addprefix $(DOCKER_COMPOSITE_FOLDER_PATH),$(DOCKER_COMPOSITE_SOURCES))
|
||||
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux common.crosstool common.windows common-manylinux.crosstool common.dockcross common.lib common.label-and-env
|
||||
|
||||
# This list all available images
|
||||
IMAGES = $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES)
|
||||
IMAGES = $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES) $(EXTEND_IMAGES)
|
||||
|
||||
# Optional arguments for test runner (test/run.py) associated with "testing implicit rule"
|
||||
linux-x64-tinycc.test_ARGS = --languages C
|
||||
linux-ppc64.test_ARGS = --languages C
|
||||
windows-static-x86.test_ARGS = --exe-suffix ".exe"
|
||||
windows-static-x64.test_ARGS = --exe-suffix ".exe"
|
||||
windows-static-x64-posix.test_ARGS = --exe-suffix ".exe"
|
||||
@ -71,17 +50,13 @@ endif
|
||||
# Tag images with date and Git short hash in addition to revision
|
||||
TAG := $(shell date '+%Y%m%d')-$(shell git rev-parse --short HEAD)
|
||||
|
||||
# shellcheck executable
|
||||
SHELLCHECK := shellcheck
|
||||
|
||||
# Defines the level of verification (error, warning, info...)
|
||||
SHELLCHECK_SEVERITY_LEVEL := error
|
||||
|
||||
#
|
||||
# images: This target builds all IMAGES (because it is the first one, it is built by default)
|
||||
#
|
||||
images: base $(IMAGES)
|
||||
|
||||
all: base $(IMAGES)
|
||||
|
||||
#
|
||||
# test: This target ensures all IMAGES are built and run the associated tests
|
||||
#
|
||||
@ -91,20 +66,60 @@ test: base.test $(addsuffix .test,$(IMAGES))
|
||||
# Generic Targets (can specialize later).
|
||||
#
|
||||
|
||||
$(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOSITE_PATH)
|
||||
$(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOSITE_SOURCES)
|
||||
sed \
|
||||
-e '/common.docker/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.docker' \
|
||||
-e '/common.debian/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.debian' \
|
||||
-e '/common.manylinux/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux' \
|
||||
-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \
|
||||
-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \
|
||||
-e '/common-manylinux.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common-manylinux.crosstool' \
|
||||
-e '/common.webassembly/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.webassembly' \
|
||||
-e '/common.windows/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.windows' \
|
||||
-e '/common.dockcross/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.dockcross' \
|
||||
-e '/common.label-and-env/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.label-and-env' \
|
||||
-e '/common.docker/ r common.docker' \
|
||||
-e '/common.debian/ r common.debian' \
|
||||
-e '/common.manylinux/ r common.manylinux' \
|
||||
-e '/common.crosstool/ r common.crosstool' \
|
||||
-e '/common-manylinux.crosstool/ r common-manylinux.crosstool' \
|
||||
-e '/common.windows/ r common.windows' \
|
||||
-e '/common.dockcross/ r common.dockcross' \
|
||||
-e '/common.lib/ r common.lib' \
|
||||
-e '/common.label-and-env/ r common.label-and-env' \
|
||||
$< > $@
|
||||
|
||||
#
|
||||
# cc65
|
||||
#
|
||||
cc65: cc65/Dockerfile
|
||||
$(DOCKER) build -t $(ORG)/cc65:latest \
|
||||
cc65
|
||||
|
||||
cc65.test: cc65
|
||||
echo "Not working now"
|
||||
|
||||
#
|
||||
# pvsneslib
|
||||
#
|
||||
pvsneslib: pvsneslib/Dockerfile
|
||||
$(DOCKER) build -t $(ORG)/pvsneslib:latest \
|
||||
pvsneslib
|
||||
|
||||
pvsneslib.test: pvsneslib
|
||||
echo "Not working now"
|
||||
|
||||
#
|
||||
# psn00bsdk
|
||||
#
|
||||
psn00bsdk: psn00bsdk/Dockerfile
|
||||
$(DOCKER) build -t $(ORG)/psn00bsdk:latest \
|
||||
psn00bsdk
|
||||
|
||||
psn00bsdk.test: psn00bsdk
|
||||
echo "Not working now"
|
||||
|
||||
#
|
||||
# sgdk
|
||||
#
|
||||
sgdk: sgdk/Dockerfile
|
||||
$(DOCKER) build -t $(ORG)/sgdk:latest \
|
||||
sgdk
|
||||
|
||||
sgdk.test: sgdk
|
||||
echo "Not working now"
|
||||
# docker run --rm -v $(PWD)/sgdk/sample/sonic:/src $(ORG)/sgdk
|
||||
|
||||
#
|
||||
# web-wasm
|
||||
#
|
||||
@ -112,12 +127,18 @@ web-wasm: web-wasm/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
cp -r test web-wasm/
|
||||
$(DOCKER) build -t $(ORG)/web-wasm:latest \
|
||||
-t $(ORG)/web-wasm:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/web-wasm \
|
||||
--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-wasm
|
||||
$(DOCKER) build -t $(ORG)/web-wasm:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/web-wasm \
|
||||
--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"` \
|
||||
web-wasm
|
||||
rm -rf web-wasm/test
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
@ -131,25 +152,24 @@ web-wasm.test: web-wasm
|
||||
# manylinux2014-aarch64
|
||||
#
|
||||
manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile
|
||||
@# Register qemu
|
||||
docker run --rm --privileged hypriot/qemu-register
|
||||
@# 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"
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux2014-aarch64:latest \
|
||||
-t $(ORG)/manylinux2014-aarch64:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2014-aarch64 \
|
||||
--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 manylinux2014-aarch64/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux2014-aarch64:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2014-aarch64 \
|
||||
--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 manylinux2014-aarch64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
@# libstdc++ is coppied into image, now remove it
|
||||
docker run -v `pwd`:/host --rm quay.io/pypa/manylinux2014_aarch64 bash -c "rm -rf /host/$@/xc_script/usr"
|
||||
|
||||
manylinux2014-aarch64.test: manylinux2014-aarch64
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64 > $(BIN)/dockcross-manylinux2014-aarch64 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux2014-aarch64
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64 > $(BIN)/dockcross-manylinux2014-aarch64 && chmod +x $(BIN)/dockcross-manylinux2014-aarch64
|
||||
$(BIN)/dockcross-manylinux2014-aarch64 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
@ -158,17 +178,22 @@ manylinux2014-aarch64.test: manylinux2014-aarch64
|
||||
manylinux2014-x64: manylinux2014-x64/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux2014-x64:latest \
|
||||
-t $(ORG)/manylinux2014-x64:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2014-x64 \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux2014-x64/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux2014-x64:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2014-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 manylinux2014-x64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2014-x64.test: manylinux2014-x64
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-x64 > $(BIN)/dockcross-manylinux2014-x64 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux2014-x64
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-x64 > $(BIN)/dockcross-manylinux2014-x64 && chmod +x $(BIN)/dockcross-manylinux2014-x64
|
||||
$(BIN)/dockcross-manylinux2014-x64 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
@ -177,29 +202,146 @@ manylinux2014-x64.test: manylinux2014-x64
|
||||
manylinux2014-x86: manylinux2014-x86/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux2014-x86:latest \
|
||||
-t $(ORG)/manylinux2014-x86:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2014-x86 \
|
||||
--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 manylinux2014-x86/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux2014-x86:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2014-x86 \
|
||||
--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 manylinux2014-x86/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2014-x86.test: manylinux2014-x86
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-x86 > $(BIN)/dockcross-manylinux2014-x86 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux2014-x86
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2014-x86 > $(BIN)/dockcross-manylinux2014-x86 && chmod +x $(BIN)/dockcross-manylinux2014-x86
|
||||
$(BIN)/dockcross-manylinux2014-x86 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
# manylinux2010-x64
|
||||
#
|
||||
|
||||
manylinux2010-x64: manylinux2010-x64/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux2010-x64:latest \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2010-x64 \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux2010-x64/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux2010-x64:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2010-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 manylinux2010-x64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2010-x64.test: manylinux2010-x64
|
||||
$(DOCKER) run $(RM) dockcross/manylinux2010-x64 > $(BIN)/dockcross-manylinux2010-x64 && chmod +x $(BIN)/dockcross-manylinux2010-x64
|
||||
$(BIN)/dockcross-manylinux2010-x64 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux2010-x86
|
||||
#
|
||||
|
||||
manylinux2010-x86: manylinux2010-x86/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux2010-x86:latest \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2010-x86 \
|
||||
--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 manylinux2010-x86/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux2010-x86:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux2010-x86 \
|
||||
--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 manylinux2010-x86/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux2010-x86.test: manylinux2010-x86
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux2010-x86 > $(BIN)/dockcross-manylinux2010-x86 && chmod +x $(BIN)/dockcross-manylinux2010-x86
|
||||
$(BIN)/dockcross-manylinux2010-x86 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux1-x64
|
||||
#
|
||||
|
||||
manylinux1-x64: manylinux1-x64/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux1-x64:latest \
|
||||
--build-arg IMAGE=$(ORG)/manylinux1-x64 \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux1-x64/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux1-x64:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux1-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 manylinux1-x64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux1-x64.test: manylinux1-x64
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux1-x64 > $(BIN)/dockcross-manylinux1-x64 && chmod +x $(BIN)/dockcross-manylinux1-x64
|
||||
$(BIN)/dockcross-manylinux1-x64 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux1-x86
|
||||
#
|
||||
|
||||
manylinux1-x86: manylinux1-x86/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux1-x86:latest \
|
||||
--build-arg IMAGE=$(ORG)/manylinux1-x86 \
|
||||
--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 manylinux1-x86/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux1-x86:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/manylinux1-x86 \
|
||||
--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 manylinux1-x86/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux1-x86.test: manylinux1-x86
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux1-x86 > $(BIN)/dockcross-manylinux1-x86 && chmod +x $(BIN)/dockcross-manylinux1-x86
|
||||
$(BIN)/dockcross-manylinux1-x86 /opt/python/cp38-cp38/bin/python test/run.py
|
||||
|
||||
#
|
||||
>>>>>>> 9adf96c16b00759a9f7f69be3e61b5e16cdd6ac4
|
||||
# base
|
||||
#
|
||||
|
||||
base: Dockerfile imagefiles/
|
||||
$(DOCKER) build -t $(ORG)/base:latest \
|
||||
-t $(ORG)/base:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/base \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
.
|
||||
$(DOCKER) build -t $(ORG)/base:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/base \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
.
|
||||
|
||||
base.test: base
|
||||
$(DOCKER) run $(RM) $(ORG)/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
|
||||
|
||||
#
|
||||
# display
|
||||
#
|
||||
display_images:
|
||||
@ -210,12 +352,19 @@ $(VERBOSE).SILENT: display_images
|
||||
#
|
||||
# build implicit rule
|
||||
#
|
||||
|
||||
$(STANDARD_IMAGES): %: %/Dockerfile base
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/$@:latest \
|
||||
-t $(ORG)/$@:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/$@ \
|
||||
--build-arg DOCKER_IMAGE=$(ORG)/base:latest \
|
||||
--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"` \
|
||||
$@
|
||||
$(DOCKER) build -t $(ORG)/$@:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/$@ \
|
||||
--build-arg DOCKER_IMAGE=$(ORG)/base:latest \
|
||||
--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"` \
|
||||
@ -223,31 +372,42 @@ $(STANDARD_IMAGES): %: %/Dockerfile base
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
clean:
|
||||
for d in $(IMAGES) ; do rm -rf $$d/imagefiles ; done
|
||||
for d in $(IMAGES) ; do rm -rf $(BIN)/dockcross-$$d ; done
|
||||
for d in $(GEN_IMAGE_DOCKERFILES) ; do rm -f $$d ; done
|
||||
for d in $(STANDARD_IMAGES) ; do rm -rf $$d/imagefiles ; done
|
||||
for d in $(GEN_IMAGE_DOCKERFILES) ; do rm -f $$d/Dockerfile ; done
|
||||
rm -f Dockerfile
|
||||
|
||||
purge: clean
|
||||
# Remove all untagged images
|
||||
$(DOCKER) container ls -aq | xargs -r $(DOCKER) container rm -f
|
||||
# Remove all images with organization (ex dockcross/*)
|
||||
$(DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f
|
||||
|
||||
# Check bash syntax
|
||||
bash-check:
|
||||
find . -type f \( -name "*.sh" -o -name "*.bash" \) -print0 | xargs -0 -P"$(shell nproc)" -I{} \
|
||||
$(SHELLCHECK) --check-sourced --color=auto --format=gcc --severity=warning --shell=bash --enable=all "{}"
|
||||
|
||||
#
|
||||
# testing implicit rule
|
||||
#
|
||||
.SECONDEXPANSION:
|
||||
$(addsuffix .test,$(STANDARD_IMAGES)): $$(basename $$@)
|
||||
$(DOCKER) run $(RM) $(ORG)/$(basename $@) > $(BIN)/dockcross-$(basename $@) \
|
||||
&& chmod +x $(BIN)/dockcross-$(basename $@)
|
||||
$(DOCKER) run $(RM) $(ORG)/$(basename $@) > $(BIN)/dockcross-$(basename $@) && chmod +x $(BIN)/dockcross-$(basename $@)
|
||||
<<<<<<< HEAD
|
||||
$(BIN)/dockcross-$(basename $@) python3 test/run.py $($@_ARGS)
|
||||
|
||||
.SECONDEXPANSION:
|
||||
$(addsuffix .full,$(STANDARD_IMAGES)): %: %/Dockerfile $$(basename $$@)
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/$@:latest \
|
||||
--build-arg IMAGE=$(ORG)/$@ \
|
||||
--build-arg DOCKER_IMAGE=$(ORG)/$(patsubst %.full,%,$@):latest \
|
||||
--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"` \
|
||||
$@
|
||||
$(DOCKER) build -t $(ORG)/$@:$(TAG) \
|
||||
--build-arg IMAGE=$(ORG)/$@ \
|
||||
--build-arg DOCKER_IMAGE=$(ORG)/$(patsubst %.full,%,$@):latest \
|
||||
--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
|
||||
=======
|
||||
$(BIN)/dockcross-$(basename $@) python test/run.py $($@_ARGS)
|
||||
>>>>>>> 9adf96c16b00759a9f7f69be3e61b5e16cdd6ac4
|
||||
|
||||
#
|
||||
# testing prerequisites implicit rule
|
||||
#
|
||||
@ -256,4 +416,13 @@ test.prerequisites:
|
||||
|
||||
$(addsuffix .test,base $(IMAGES)): test.prerequisites
|
||||
|
||||
.PHONY: base images $(IMAGES) test %.test clean purge bash-check display_images
|
||||
<<<<<<< HEAD
|
||||
clean:
|
||||
for d in $(STANDARD_IMAGES) ; do rm -rf $$d/imagefiles ; done
|
||||
for d in $(GEN_IMAGE_DOCKERFILES) ; do rm -rf $$d/Dockerfile ; done
|
||||
rm -f Dockerfile
|
||||
|
||||
.PHONY: base images $(IMAGES) test %.test %.full clean
|
||||
=======
|
||||
.PHONY: base images $(IMAGES) test %.test clean
|
||||
>>>>>>> 9adf96c16b00759a9f7f69be3e61b5e16cdd6ac4
|
||||
|
556
README.md
556
README.md
@ -1,556 +0,0 @@
|
||||
|
||||
# dockcross
|
||||
|
||||
Cross compiling toolchains in Docker images.
|
||||
|
||||
[](https://github.com/dockcross/dockcross/actions?query=branch%3Amaster) [](https://github.com/dockcross/dockcross/actions/workflows/shellcheck.yml)
|
||||
|
||||
 
|
||||
|
||||
## Features
|
||||
|
||||
- Pre-built and configured toolchains for cross compiling.
|
||||
- Most images also contain an emulator for the target system.
|
||||
- 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).
|
||||
- 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.
|
||||
- [Conan.io](https://www.conan.io) can be used as a package manager.
|
||||
- Toolchain files configured for CMake.
|
||||
- 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/).
|
||||
- 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.
|
||||
|
||||
## Examples
|
||||
|
||||
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.
|
||||
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.
|
||||
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
|
||||
|
||||
```bash
|
||||
bash -c "<command args>"
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
See [CONTRIBUTING.md](CONTRIBUTING.md).
|
||||
|
||||
## 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.
|
||||
|
||||
To install the helper script, run one of the images with no arguments, and redirect the output to a file:
|
||||
|
||||
```bash
|
||||
docker run --rm CROSS_COMPILER_IMAGE_NAME > ./dockcross
|
||||
chmod +x ./dockcross
|
||||
mv ./dockcross ~/bin/
|
||||
```
|
||||
|
||||
Where **CROSS_COMPILER_IMAGE_NAME** is the name of the cross-compiler toolchain Docker instance, e.g: **dockcross/linux-armv7**.
|
||||
|
||||
Only 64-bit x86_64 images are provided, a 64-bit x86_64 host system is required.
|
||||
|
||||
## Usage
|
||||
|
||||
For the impatient, here\'s how to compile a hello world for armv7:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/dockcross/dockcross.git
|
||||
cd dockcross
|
||||
docker run --rm dockcross/linux-armv7 > ./dockcross-linux-armv7
|
||||
chmod +x ./dockcross-linux-armv7
|
||||
./dockcross-linux-armv7 bash -c '$CC test/C/hello.c -o hello_arm'
|
||||
```
|
||||
|
||||
Note how invoking any toolchain command (make, gcc, etc.) is just a matter of prepending the **dockcross** script on the commandline:
|
||||
|
||||
```bash
|
||||
./dockcross-linux-armv7 [command] [args...]
|
||||
```
|
||||
|
||||
The dockcross script will execute the given command-line inside the container, along with all arguments passed after the command. Commands that evaluate environmental variables in the image, like **$CC** or **$CXX** above, should be executed in [bash -c]. The present working directory is mounted within the image, which can be used to make source code available in the Docker container.
|
||||
|
||||
## Summary cross compilers
|
||||
|
||||
| Image name | Target arch | Compiler | Target OS |
|
||||
|:-------:|:--------:|:------:|:-----:|
|
||||
| dockcross/base | - | - | - |
|
||||
| dockcross/android-arm | ARMv7 | Clang | Android |
|
||||
| dockcross/android-arm64 | ARMv8 | Clang | Android |
|
||||
| dockcross/android-x86 | x86 | Clang | Android |
|
||||
| dockcross/android-x86_64 | x86_64 | Clang | Android |
|
||||
| dockcross/linux-arm64 | ARMv8 | GCC | Linux |
|
||||
| dockcross/linux-arm64-lts | ARMv8 | GCC 8.5.0 + Glibc 2.27 | Linux |
|
||||
| dockcross/linux-arm64-full | ARMv8 | GCC + libs | Linux |
|
||||
| dockcross/linux-arm64-musl | ARMv8 | GCC + musl | Linux |
|
||||
| dockcross/linux-armv5 | ARMv5 | GCC | Linux |
|
||||
| dockcross/linux-armv5-musl | ARMv5 | GCC + musl | Linux |
|
||||
| dockcross/linux-armv5-uclibc | ARMv5 | GCC + uclibc | Linux |
|
||||
| dockcross/linux-armv6 | ARMv6 | GCC | Linux |
|
||||
| dockcross/linux-armv6-lts | ARMv6 | GCC 8.5.0 + Glibc 2.28 | Linux |
|
||||
| dockcross/linux-armv6-musl | ARMv6 | GCC + musl | Linux |
|
||||
| dockcross/linux-armv7 | ARMv7 | GCC | Linux |
|
||||
| dockcross/linux-armv7-lts | ARMv7 | GCC 8.5.0 + Glibc 2.28 | Linux |
|
||||
| dockcross/linux-armv7a | ARMv7a | GCC | Linux |
|
||||
| dockcross/linux-armv7l-musl | ARMv7l | GCC + musl | 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-ppc64le | ppc64le | GCC | Linux |
|
||||
| dockcross/linux-riscv32 | riscv32 | GCC | Linux |
|
||||
| dockcross/linux-riscv64 | riscv64 | GCC | Linux |
|
||||
| dockcross/linux-m68k-uclibc | m68k | GCC + uclibc | Linux |
|
||||
| dockcross/linux-xtensa-uclibc | xtensa | GCC + uclibc | Linux |
|
||||
| dockcross/manylinux2014-x86 | x86 | GCC | Linux |
|
||||
| dockcross/manylinux2014-x64 | x86_64 | GCC | Linux |
|
||||
| dockcross/linux-x86 | x86 | GCC | Linux |
|
||||
| dockcross/linux-x64 | x86_64 | GCC | Linux |
|
||||
| dockcross/linux-x86_64-full | x86_64 | GCC + libs | Linux |
|
||||
| dockcross/linux-x64-clang | x86_64 | Clang | Linux |
|
||||
| dockcross/linux-x64-tinycc | x86_64 | tinycc + GCC | Linux |
|
||||
| dockcross/web-wasm | Wasm | LLVM | Web (JS) |
|
||||
| dockcross/web-wasi | Wasm | LLVM | Web (Universal) |
|
||||
| dockcross/windows-shared-x86 | x86 | GCC | Windows |
|
||||
| dockcross/windows-shared-x64 | x86_64 | GCC | Windows |
|
||||
| dockcross/windows-shared-x64-posix | x86_64 | GCC | Windows |
|
||||
| dockcross/windows-static-x86 | x86 | GCC | Windows |
|
||||
| dockcross/windows-static-x64 | x86_64 | GCC | Windows |
|
||||
| dockcross/windows-static-x64-posix | x86_64 | GCC | Windows |
|
||||
| dockcross/windows-armv7 | ARMv7 | Clang | Windows |
|
||||
| dockcross/windows-arm64 | ARMv8 | Clang | Windows |
|
||||
|
||||
The list of docker images that are **no longer maintained**.
|
||||
|
||||
| Image name | Target arch | Compiler | Target OS | End of life (EOL) |
|
||||
|:-------:|:--------:|:------:|:-----:|:-----:|
|
||||
| dockcross/manylinux-x86 | x86 | GCC | manylinux | [2019-05-22](1e0e89814) |
|
||||
| dockcross/manylinux-x64 | x86 | GCC | manylinux | [2019-05-22](1e0e89814) |
|
||||
| dockcross/linux-mipsel | mipsel | GCC 4.9 | Debian 8 | [2021-06-27](a30e76d5c) |
|
||||
| dockcross/manylinux1-x86 | x86 | GCC | manylinux | [2021-08-05](54f73cbb6) |
|
||||
| dockcross/manylinux1-x64 | x86_64 | GCC| manylinux | [2021-08-05](54f73cbb6) |
|
||||
| dockcross/manylinux2010-x86 | x86 | GCC | manylinux | [2021-08-05](54f73cbb6) |
|
||||
| dockcross/manylinux2010-x64 | x86_64 | GCC | manylinux | [2021-08-05](54f73cbb6) |
|
||||
|
||||
[1e0e89814]: https://github.com/dockcross/dockcross/commit/1e0e89814
|
||||
[a30e76d5c]: https://github.com/dockcross/dockcross/commit/a30e76d5c
|
||||
[54f73cbb6]: https://github.com/dockcross/dockcross/commit/54f73cbb6
|
||||
|
||||
## Cross compilers
|
||||
|
||||
### dockcross/base
|
||||
|
||||
  
|
||||
|
||||
Base image for other toolchain images. From Debian Jessie with GCC, make, autotools, CMake, Ninja, Git, and Python.
|
||||
|
||||
### dockcross/android-arm
|
||||
|
||||
 
|
||||
|
||||
The Android NDK standalone toolchain for the arm architecture.
|
||||
|
||||
### dockcross/android-arm64
|
||||
|
||||
 
|
||||
|
||||
The Android NDK standalone toolchain for the arm64 architecture.
|
||||
|
||||
### dockcross/android-x86
|
||||
|
||||
 
|
||||
|
||||
The Android NDK standalone toolchain for the x86 architecture.
|
||||
|
||||
### dockcross/android-x86_64
|
||||
|
||||
 
|
||||
|
||||
The Android NDK standalone toolchain for the x86_64 architecture.
|
||||
|
||||
### dockcross/linux-arm64
|
||||
|
||||
 
|
||||
|
||||
Cross compiler for the 64-bit ARM platform on Linux, also known as AArch64.
|
||||
|
||||
### dockcross/linux-arm64-lts
|
||||
|
||||
 
|
||||
|
||||
Cross compiler for the 64-bit ARM platform on Linux, also known as AArch64, with Long-term support (For Ubuntu 18.04 or Debian Buster).
|
||||
With GCC 8.5.0 and GLibc 2.27.
|
||||
|
||||
### dockcross/linux-arm64-full
|
||||
|
||||
 
|
||||
|
||||
Cross compiler for the 64-bit ARM platform on Linux, with cross-libs: SDL2, OpenSSL, Boost, OpenCV and Qt5 (minimal).
|
||||
|
||||
### dockcross/linux-arm64-musl
|
||||
|
||||
 
|
||||
|
||||
Cross compiler for the 64-bit ARM platform on Linux (also known as
|
||||
AArch64), using [musl](https://www.musl-libc.org/) as base \"libc\".
|
||||
|
||||
### dockcross/linux-armv5
|
||||
|
||||
 
|
||||
|
||||
Linux armv5 cross compiler toolchain for legacy devices like the
|
||||
Parrot AR Drone.
|
||||
|
||||
### dockcross/linux-armv5-musl
|
||||
|
||||
 
|
||||
|
||||
Linux armv5 cross compiler toolchain using
|
||||
[musl](https://www.musl-libc.org/) as base \"libc\".
|
||||
|
||||
### dockcross/linux-armv5-uclibc
|
||||
|
||||
 
|
||||
|
||||
Linux armv5 cross compiler toolchain for legacy devices like wrt routers
|
||||
Linux kernel 2.6
|
||||
[uclibc](https://www.uclibc.org/) as base \"libc\".
|
||||
|
||||
### dockcross/linux-armv6
|
||||
|
||||
 
|
||||
|
||||
Linux ARMv6 cross compiler toolchain for the Raspberry Pi
|
||||
|
||||
### dockcross/linux-armv6-lts
|
||||
|
||||
 
|
||||
|
||||
Linux ARMv6 cross compiler toolchain for the Raspberry Pi (Debian buster...)
|
||||
|
||||
### dockcross/linux-armv6-musl
|
||||
|
||||
 
|
||||
|
||||
Linux ARMv6 cross compiler toolchain for the Raspberry Pi, etc,
|
||||
using [musl](https://www.musl-libc.org/) as base \"libc\".
|
||||
|
||||
### dockcross/linux-armv7
|
||||
|
||||
 
|
||||
|
||||
Generic Linux armv7 cross compiler toolchain.
|
||||
|
||||
### dockcross/linux-armv7-lts
|
||||
|
||||
 
|
||||
|
||||
Linux ARMv7 cross compiler toolchain for the Raspberry Pi (Debian buster...)
|
||||
|
||||
### dockcross/linux-armv7a
|
||||
|
||||
 
|
||||
|
||||
Toolchain configured for ARMv7-A used in Beaglebone Black single
|
||||
board PC with TI SoC AM3358 on board, Cortex-A8.
|
||||
|
||||
### dockcross/linux-armv7l-musl
|
||||
|
||||
 
|
||||
|
||||
Toolchain configured for ARMv7-L, using
|
||||
[musl](https://www.musl-libc.org/) as base \"libc\".
|
||||
|
||||
### dockcross/linux-mips
|
||||
|
||||
 
|
||||
|
||||
Linux mips cross compiler toolchain for big endian 32-bit hard float
|
||||
MIPS GNU systems.
|
||||
|
||||
### dockcross/linux-mips
|
||||
|
||||
 
|
||||
|
||||
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
|
||||
|
||||
 
|
||||
|
||||
Linux mips cross compiler toolchain for little endian 32-bit soft float
|
||||
MIPS GNU systems.
|
||||
|
||||
### dockcross/linux-s390x
|
||||
|
||||
 
|
||||
|
||||
Linux s390x cross compiler toolchain for S390X GNU systems.
|
||||
|
||||
### dockcross/linux-riscv64
|
||||
|
||||
 
|
||||
|
||||
Linux risc-v 64bit cross compiler toolchain for risc-v 64bit GNU systems.
|
||||
|
||||
### dockcross/linux-riscv32
|
||||
|
||||
 
|
||||
|
||||
Linux risc-v 32bit cross compiler toolchain for risc-v 32bit GNU systems.
|
||||
|
||||
### dockcross/linux-m68k-uclibc
|
||||
|
||||
 
|
||||
|
||||
Linux m68k cross compiler toolchain for m68k GNU systems (http://www.mac.linux-m68k.org/ and http://www.linux-m68k.org/).
|
||||
|
||||
### dockcross/linux-ppc64le
|
||||
|
||||
 
|
||||
|
||||
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-x64
|
||||
|
||||
 
|
||||
|
||||
Linux x86_64/amd64 compiler. Since the Docker image is natively x86_64, this is not actually a cross compiler.
|
||||
|
||||
### dockcross/linux-x86_64-full
|
||||
|
||||
 
|
||||
|
||||
Linux x86_64/amd64 compiler with libs: SDL2, OpenSSL, Boost, OpenCV and Qt5 (minimal).
|
||||
|
||||
### dockcross/linux-x64-clang
|
||||
|
||||
 
|
||||
|
||||
Linux clang x86_64/amd64 compiler. Since the Docker image is natively x86_64, this is not actually a cross compiler.
|
||||
|
||||
### dockcross/linux-x86
|
||||
|
||||
 
|
||||
|
||||
Linux i686 cross compiler.
|
||||
|
||||
### dockcross/linux-x64-tinycc
|
||||
|
||||
 
|
||||
|
||||
Linux tcc compiler for C compiler, and GCC for C++ compiler, for linux x86_64/amd64 arch.
|
||||
|
||||
### dockcross/manylinux2014-x64
|
||||
|
||||
 
|
||||
|
||||
Docker [manylinux2014](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.5, 3.6, 3.7, 3.8, and 3.9. 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 **MANYLINUX2014** to \"TRUE\" in the toolchain.
|
||||
|
||||
### dockcross/manylinux2014-x86
|
||||
|
||||
 
|
||||
|
||||
Docker [manylinux2014](https://github.com/pypa/manylinux) image for building Linux i686 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.5, 3.6, 3.7, 3.8, and 3.9. 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 **MANYLINUX2014** to \"TRUE\" in the toolchain.
|
||||
|
||||
### dockcross/manylinux2014-aarch64
|
||||
|
||||
 
|
||||
|
||||
Docker [manylinux2014](https://github.com/pypa/manylinux) image for building Linux aarch64 / arm64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.5, 3.6, 3.7, 3.8, and 3.9. 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 **MANYLINUX2014** to \"TRUE\" in the toolchain.
|
||||
|
||||
### dockcross/web-wasm
|
||||
|
||||
 
|
||||
|
||||
The [Emscripten](https://emscripten.org/) [WebAssembly](https://webassembly.org/)/JavaScript cross compiler.
|
||||
|
||||
### dockcross/web-wasi
|
||||
|
||||
 
|
||||
|
||||
The [WebAssembly System Interface (WASI)](https://wasi.dev/) SDK LLVM/Clang/WASI Sysroot cross compiler.
|
||||
|
||||
### dockcross/windows-static-x64
|
||||
|
||||
 
|
||||
|
||||
64-bit Windows cross-compiler based on [MXE/MinGW-w64](https://mxe.cc/) with win32 threads and static
|
||||
linking.
|
||||
|
||||
### dockcross/windows-static-x64-posix
|
||||
|
||||
 
|
||||
|
||||
64-bit Windows cross-compiler based on [MXE/MinGW-w64](https://mxe.cc/) with posix threads and static
|
||||
linking.
|
||||
|
||||
### dockcross/windows-static-x86
|
||||
|
||||
 
|
||||
|
||||
32-bit Windows cross-compiler based on [MXE/MinGW-w64](https://mxe.cc/) with win32 threads and static linking.
|
||||
|
||||
### dockcross/windows-shared-x64
|
||||
|
||||
 
|
||||
|
||||
64-bit Windows cross-compiler based on [MXE/MinGW-w64](https://mxe.cc/) with win32 threads and dynamic linking.
|
||||
|
||||
### dockcross/windows-shared-x64-posix
|
||||
|
||||
 
|
||||
|
||||
64-bit Windows cross-compiler based on [MXE/MinGW-w64](https://mxe.cc/) with posix threads and dynamic linking.
|
||||
|
||||
### dockcross/windows-shared-x86
|
||||
|
||||
 
|
||||
|
||||
32-bit Windows cross-compiler based on [MXE/MinGW-w64](https://mxe.cc/) with win32 threads and dynamic linking.
|
||||
|
||||
### dockcross/windows-armv7
|
||||
|
||||
 
|
||||
|
||||
ARMv7 32-bit Windows cross-compiler based on [LLVM/MinGW-w64](https://github.com/mstorsjo/llvm-mingw)
|
||||
|
||||
### dockcross/windows-arm64
|
||||
|
||||
 
|
||||
|
||||
ARMv8 64-bit Windows cross-compiler based on [llvm-mingw](https://github.com/mstorsjo/llvm-mingw)
|
||||
|
||||
## Articles
|
||||
|
||||
- [dockcross: C++ Write Once, Run
|
||||
Anywhere](https://nbviewer.jupyter.org/format/slides/github/dockcross/cxx-write-once-run-anywhere/blob/master/dockcross_CXX_Write_Once_Run_Anywhere.ipynb#/)
|
||||
- [Cross-compiling binaries for multiple architectures with
|
||||
Docker](https://web.archive.org/web/20170912153531/http://blogs.nopcode.org/brainstorm/2016/07/26/cross-compiling-with-docker)
|
||||
|
||||
## Built-in update commands
|
||||
|
||||
A special update command can be executed that will update the source
|
||||
cross-compiler Docker image or the dockcross script itself.
|
||||
|
||||
- `dockcross [--] command [args...]`: Forces a command to run inside
|
||||
the container (in case of a name clash with a built-in command), use
|
||||
`--` before the command.
|
||||
- `dockcross update-image`: Fetch the latest version of the docker
|
||||
image.
|
||||
- `dockcross update-script`: Update the installed dockcross script
|
||||
with the one bundled in the image.
|
||||
- `dockcross update`: Update both the docker image, and the dockcross
|
||||
script.
|
||||
|
||||
## Download all images
|
||||
|
||||
To easily download all images, the convenience target `display_images`
|
||||
could be used:
|
||||
```bash
|
||||
curl https://raw.githubusercontent.com/dockcross/dockcross/master/Makefile -o dockcross-Makefile
|
||||
for image in $(make -f dockcross-Makefile display_images); do
|
||||
echo "Pulling dockcross/$image"
|
||||
docker pull dockcross/$image
|
||||
done
|
||||
```
|
||||
|
||||
## Install all dockcross scripts
|
||||
|
||||
To automatically install in `~/bin` the dockcross scripts for each
|
||||
images already downloaded, the convenience target `display_images` could
|
||||
be used:
|
||||
|
||||
```bash
|
||||
curl https://raw.githubusercontent.com/dockcross/dockcross/master/Makefile -o dockcross-Makefile
|
||||
for image in $(make -f dockcross-Makefile display_images); do
|
||||
if [[ $(docker images -q dockcross/$image) == "" ]]; then
|
||||
echo "~/bin/dockcross-$image skipping: image not found locally"
|
||||
continue
|
||||
fi
|
||||
echo "~/bin/dockcross-$image ok"
|
||||
docker run dockcross/$image > ~/bin/dockcross-$image && \
|
||||
chmod u+x ~/bin/dockcross-$image
|
||||
done
|
||||
```
|
||||
|
||||
## Dockcross configuration
|
||||
|
||||
The following environmental variables and command-line options are used.
|
||||
In all cases, the command-line option overrides the environment
|
||||
variable.
|
||||
|
||||
### DOCKCROSS_CONFIG / \--config\|-c \<path-to-config-file>
|
||||
|
||||
This file is sourced, if it exists, before executing the rest of the
|
||||
dockcross script.
|
||||
|
||||
Default: `~/.dockcross`
|
||||
|
||||
### DOCKCROSS_IMAGE / \--image\|-i \<docker-image-name>
|
||||
|
||||
The Docker cross-compiler image to run.
|
||||
|
||||
Default: Image with which the script was created.
|
||||
|
||||
### DOCKCROSS_ARGS / \--args\|-a \<docker-run-args>
|
||||
|
||||
Extra arguments to pass to the `docker run` command. Quote the entire set of args if they contain spaces.
|
||||
|
||||
## Per-project dockcross configuration
|
||||
|
||||
If a shell script named `.dockcross` is found in the current directory where the dockcross script is started, it is executed before the dockcross script `command` argument. The shell script is expected to have a shebang like `#!/usr/bin/env bash`.
|
||||
|
||||
For example, commands like
|
||||
`git config --global advice.detachedHead false` can be added to this
|
||||
script.
|
||||
|
||||
## How to extend Dockcross images
|
||||
|
||||
In order to extend Dockcross images with your own commands, one must:
|
||||
|
||||
1. Use `FROM dockcross/<name_of_image>`.
|
||||
2. Set `DEFAULT_DOCKCROSS_IMAGE` to a name of the tag you\'re planning
|
||||
to use for the image. This tag must then be used during the build
|
||||
phase, unless you mean to pass the resulting helper script the
|
||||
`DOCKCROSS_IMAGE` argument.
|
||||
|
||||
An example Dockerfile would be:
|
||||
|
||||
```
|
||||
FROM dockcross/linux-armv7
|
||||
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE my_cool_image
|
||||
RUN apt-get install nano
|
||||
```
|
||||
|
||||
And then in the shell:
|
||||
|
||||
```
|
||||
docker build -t my_cool_image . ## Builds the dockcross image.
|
||||
docker run my_cool_image > linux-armv7 ## Creates a helper script named linux-armv7.
|
||||
chmod +x linux-armv7 ## Gives the script execution permission.
|
||||
./linux-armv7 bash ## Runs the helper script with the argument "bash", which starts an interactive container using your extended image.
|
||||
```
|
||||
|
||||
## What is the difference between **dockcross** and **dockbuild** ?
|
||||
|
||||
The key difference is that [dockbuild](https://github.com/dockbuild/dockbuild#readme) images do **NOT** provide a [toolchain file](https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html) but they use the same method to conveniently isolate the build environment as [dockcross](https://github.com/dockcross/dockcross#readme).
|
||||
|
||||
**dockbuild** is used to build binaries for Linux x86_64/amd64 that will work across most Linux distributions.
|
||||
**dockbuild** performs a native Linux build 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 is Linux x86_x64/ amd64.
|
||||
|
||||
**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.
|
||||
|
||||
\-\--
|
||||
|
||||
Credits:
|
||||
|
||||
- [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),
|
461
README.rst
Normal file
461
README.rst
Normal file
@ -0,0 +1,461 @@
|
||||
dockcross
|
||||
=========
|
||||
|
||||
Cross compiling toolchains in Docker images.
|
||||
|
||||
.. image:: https://github.com/dockcross/dockcross/workflows/Dockcross%20CI/badge.svg
|
||||
:target: https://github.com/dockcross/dockcross/actions?query=branch%3Amaster
|
||||
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
* Pre-built and configured toolchains for cross compiling.
|
||||
* Most images also contain an emulator for the target system.
|
||||
* 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).
|
||||
* Make variables (`CC`, `LD` etc) are set to point to the appropriate tools in the container.
|
||||
* Recent `CMake <https://cmake.org>`_ and ninja are precompiled.
|
||||
* `Conan.io <https://www.conan.io>`_ can be used as a package manager.
|
||||
* Toolchain files configured for CMake.
|
||||
* 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/>`_.
|
||||
* Support using alternative container executor by setting `OCI_EXE` environment variable. By default, it searches for `docker` and [`podman`](https://podman.io/) executable.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
1. ``dockcross make``: Build the *Makefile* in the current directory.
|
||||
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.
|
||||
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.
|
||||
|
||||
Note that commands are executed verbatim. If any shell processing for
|
||||
environment variable expansion or redirection is required, please use
|
||||
`bash -c 'command args...'`.
|
||||
|
||||
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.
|
||||
|
||||
To install the helper script, run one of the images with no arguments, and
|
||||
redirect the output to a file::
|
||||
|
||||
docker run --rm CROSS_COMPILER_IMAGE_NAME > ./dockcross
|
||||
chmod +x ./dockcross
|
||||
mv ./dockcross ~/bin/
|
||||
|
||||
Where `CROSS_COMPILER_IMAGE_NAME` is the name of the cross-compiler toolchain
|
||||
Docker instance, e.g. `dockcross/linux-armv7`.
|
||||
|
||||
Only 64-bit x86_64 images are provided; a 64-bit x86_64 host system is required.
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
For the impatient, here's how to compile a hello world for armv7::
|
||||
|
||||
cd ~/src/dockcross
|
||||
docker run --rm dockcross/linux-armv7 > ./dockcross-linux-armv7
|
||||
chmod +x ./dockcross-linux-armv7
|
||||
./dockcross-linux-armv7 bash -c '$CC test/C/hello.c -o hello_arm'
|
||||
|
||||
Note how invoking any toolchain command (make, gcc, etc.) is just a matter of prepending the **dockcross** script on the commandline::
|
||||
|
||||
./dockcross-linux-armv7 [command] [args...]
|
||||
|
||||
The dockcross script will execute the given command-line inside the container,
|
||||
along with all arguments passed after the command. Commands that evaluate
|
||||
environmental variables in the image, like `$CC` above, should be executed in
|
||||
`bash -c`. The present working directory is mounted within the image, which
|
||||
can be used to make source code available in the Docker container.
|
||||
|
||||
Cross compilers
|
||||
---------------
|
||||
|
||||
.. |base-images| image:: https://images.microbadger.com/badges/image/dockcross/base.svg
|
||||
:target: https://microbadger.com/images/dockcross/base
|
||||
|
||||
dockcross/base
|
||||
|base-images| Base image for other toolchain images. From Debian Jessie with GCC,
|
||||
make, autotools, CMake, Ninja, Git, and Python.
|
||||
|
||||
|
||||
.. |android-arm-images| image:: https://images.microbadger.com/badges/image/dockcross/android-arm.svg
|
||||
:target: https://microbadger.com/images/dockcross/android-arm
|
||||
|
||||
dockcross/android-arm
|
||||
|android-arm-images| The Android NDK standalone toolchain for the arm
|
||||
architecture.
|
||||
|
||||
|
||||
.. |android-arm64-images| image:: https://images.microbadger.com/badges/image/dockcross/android-arm64.svg
|
||||
:target: https://microbadger.com/images/dockcross/android-arm64
|
||||
|
||||
dockcross/android-arm64
|
||||
|android-arm64-images| The Android NDK standalone toolchain for the arm64
|
||||
architecture.
|
||||
|
||||
|
||||
.. |android-x86-images| image:: https://images.microbadger.com/badges/image/dockcross/android-x86.svg
|
||||
:target: https://microbadger.com/images/dockcross/android-x86
|
||||
|
||||
dockcross/android-x86
|
||||
|android-x86-images| The Android NDK standalone toolchain for the x86
|
||||
architecture.
|
||||
|
||||
|
||||
.. |android-x86_64-images| image:: https://images.microbadger.com/badges/image/dockcross/android-x86_64.svg
|
||||
:target: https://microbadger.com/images/dockcross/android-x86_64
|
||||
|
||||
dockcross/android-x86_64
|
||||
|android-x86_64-images| The Android NDK standalone toolchain for the x86_64
|
||||
architecture.
|
||||
|
||||
|
||||
.. |linux-armv8-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-armv8.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-armv8
|
||||
|
||||
dockcross/linux-armv8
|
||||
|linux-armv8-images| Cross compiler for the 64-bit ARM platform on Linux,
|
||||
also known as AArch64.
|
||||
|
||||
|
||||
.. |linux-armv8-musl-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-armv8-musl.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-armv8-musl
|
||||
|
||||
dockcross/linux-armv8-musl
|
||||
|linux-armv8-musl-images| Cross compiler for the 64-bit ARM platform on Linux (also known as AArch64), using `musl <https://www.musl-libc.org/>`_ as base "libc".
|
||||
|
||||
|
||||
.. |linux-armv5-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-armv5.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-armv5
|
||||
|
||||
dockcross/linux-armv5
|
||||
|linux-armv5-images| Linux armv5 cross compiler toolchain for legacy devices
|
||||
like the Parrot AR Drone.
|
||||
|
||||
|
||||
.. |linux-armv5-musl-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-armv5-musl.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-armv5-musl
|
||||
|
||||
dockcross/linux-armv5-musl
|
||||
|linux-armv5-musl-images| Linux armv5 cross compiler toolchain using `musl <https://www.musl-libc.org/>`_ as base "libc".
|
||||
|
||||
|
||||
.. |linux-armv6-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-armv6.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-armv6
|
||||
|
||||
dockcross/linux-armv6
|
||||
|linux-armv6-images| Linux ARMv6 cross compiler toolchain for the Raspberry
|
||||
Pi, etc.
|
||||
|
||||
|
||||
.. |linux-armv6-musl-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-armv6-musl.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-armv6-musl
|
||||
|
||||
dockcross/linux-armv6-musl
|
||||
|linux-armv6-musl-images| Linux ARMv6 cross compiler toolchain for the Raspberry Pi, etc, using `musl <https://www.musl-libc.org/>`_ as base "libc".
|
||||
|
||||
|
||||
.. |linux-armv7-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-armv7.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-armv7
|
||||
|
||||
dockcross/linux-armv7
|
||||
|linux-armv7-images| Generic Linux armv7 cross compiler toolchain.
|
||||
|
||||
|
||||
.. |linux-armv7a-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-armv7a.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-armv7a
|
||||
|
||||
dockcross/linux-armv7a
|
||||
|linux-armv7a-images| Toolchain configured for ARMv7-A used in Beaglebone Black single board PC with TI SoC AM3358 on board, Cortex-A8.
|
||||
|
||||
|
||||
.. |linux-armv7l-musl-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-armv7l-musl.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-armv7l-musl
|
||||
|
||||
dockcross/linux-armv7l-musl
|
||||
|linux-armv7l-musl-images| Toolchain configured for ARMv7-L, using `musl <https://www.musl-libc.org/>`_ as base "libc".
|
||||
|
||||
|
||||
.. |linux-mipsel-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-mipsel.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-mipsel
|
||||
|
||||
dockcross/linux-mipsel
|
||||
|linux-mipsel-images| Linux mipsel cross compiler toolchain for little endian MIPS GNU systems.
|
||||
|
||||
|
||||
.. |linux-mips-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-mips.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-mips
|
||||
|
||||
dockcross/linux-mips
|
||||
|linux-mips-images| Linux mips cross compiler toolchain for big endian 32-bit hard float MIPS GNU systems.
|
||||
|
||||
|
||||
.. |linux-s390x-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-s390x.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-s390x
|
||||
|
||||
dockcross/linux-s390x
|
||||
|linux-s390x-images| Linux s390x cross compiler toolchain for S390X GNU systems.
|
||||
|
||||
|
||||
.. |linux-ppc64le-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-ppc64le.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-ppc64le
|
||||
|
||||
dockcross/linux-ppc64le
|
||||
|linux-ppc64le-images| 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.
|
||||
|
||||
|
||||
.. |linux-x64-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-x64.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-x64
|
||||
|
||||
dockcross/linux-x64
|
||||
|linux-x64-images| Linux x86_64 / amd64 compiler. Since the Docker image is
|
||||
natively x86_64, this is not actually a cross compiler.
|
||||
|
||||
|
||||
.. |linux-x86-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-x86.svg
|
||||
:target: https://microbadger.com/images/dockcross/linux-x86
|
||||
|
||||
dockcross/linux-x86
|
||||
|linux-x86-images| Linux i686 cross compiler.
|
||||
|
||||
|
||||
.. |manylinux2014-x64-images| image:: https://images.microbadger.com/badges/image/dockcross/manylinux2014-x64.svg
|
||||
:target: https://microbadger.com/images/dockcross/manylinux2014-x64
|
||||
|
||||
dockcross/manylinux2014-x64
|
||||
|manylinux2014-x64-images| Docker `manylinux2014 <https://github.com/pypa/manylinux>`_ image for building Linux x86_64 / amd64 `Python wheel packages <http://pythonwheels.com/>`_. It includes Python 3.5, 3.6, 3.7, 3.8, and 3.9.
|
||||
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 `MANYLINUX2014` to "TRUE" in the toolchain.
|
||||
|
||||
|
||||
.. |manylinux2014-x86-images| image:: https://images.microbadger.com/badges/image/dockcross/manylinux2014-x86.svg
|
||||
:target: https://microbadger.com/images/dockcross/manylinux2014-x86
|
||||
|
||||
dockcross/manylinux2014-x86
|
||||
|manylinux2014-x86-images| Docker `manylinux2014 <https://github.com/pypa/manylinux>`_ image for building Linux i686 `Python wheel packages <http://pythonwheels.com/>`_. It includes Python 3.5, 3.6, 3.7, 3.8, and 3.9.
|
||||
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 `MANYLINUX2014` to "TRUE" in the toolchain.
|
||||
|
||||
|
||||
.. |manylinux2014-aarch64-images| image:: https://images.microbadger.com/badges/image/dockcross/manylinux2014-aarch64.svg
|
||||
:target: https://microbadger.com/images/dockcross/manylinux2014-aarch64
|
||||
|
||||
dockcross/manylinux2014-aarch64
|
||||
|manylinux2014-aarch64-images| Docker `manylinux2014 <https://github.com/pypa/manylinux>`_ image for building Linux aarch64 / arm64 `Python wheel packages <http://pythonwheels.com/>`_. It includes Python 3.5, 3.6, 3.7, 3.8, and 3.9.
|
||||
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 `MANYLINUX2014` to "TRUE" in the toolchain.
|
||||
|
||||
.. |manylinux1-x64-images| image:: https://images.microbadger.com/badges/image/dockcross/manylinux1-x64.svg
|
||||
:target: https://microbadger.com/images/dockcross/manylinux1-x64
|
||||
|
||||
dockcross/manylinux1-x64
|
||||
|manylinux1-x64-images| Docker `manylinux1 <https://github.com/pypa/manylinux/tree/manylinux1>`_ image for building Linux x86_64 / amd64 `Python wheel packages <http://pythonwheels.com/>`_. It includes Python 2.7, 3.4, 3.5, 3.6, 3.7 and 3.8.
|
||||
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 `MANYLINUX1` to "TRUE" in the toolchain.
|
||||
|
||||
|
||||
.. |manylinux1-x86-images| image:: https://images.microbadger.com/badges/image/dockcross/manylinux1-x86.svg
|
||||
:target: https://microbadger.com/images/dockcross/manylinux1-x86
|
||||
|
||||
dockcross/manylinux1-x86
|
||||
|manylinux1-x86-images| Docker `manylinux1 <https://github.com/pypa/manylinux/tree/manylinux1>`_ image for building Linux i686 `Python wheel packages <http://pythonwheels.com/>`_. It includes Python 2.7, 3.4, 3.5, 3.6, 3.7 and 3.8.
|
||||
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 `MANYLINUX1` to "TRUE" in the toolchain.
|
||||
|
||||
|
||||
.. |web-wasm-images| image:: https://images.microbadger.com/badges/image/dockcross/web-wasm.svg
|
||||
:target: https://microbadger.com/images/dockcross/web-wasm
|
||||
|
||||
dockcross/web-wasm
|
||||
|web-wasm-images| The Emscripten WebAssembly/asm.js/JavaScript cross compiler.
|
||||
|
||||
|
||||
.. |windows-static-x64-images| image:: https://images.microbadger.com/badges/image/dockcross/windows-static-x64.svg
|
||||
:target: https://microbadger.com/images/dockcross/windows-static-x64
|
||||
|
||||
dockcross/windows-static-x64
|
||||
|windows-static-x64-images| 64-bit Windows cross-compiler based on `MXE/MinGW-w64`_ with win32 threads and static linking.
|
||||
|
||||
|
||||
.. |windows-static-x64-posix-images| image:: https://images.microbadger.com/badges/image/dockcross/windows-static-x64-posix.svg
|
||||
:target: https://microbadger.com/images/dockcross/windows-static-x64-posix
|
||||
|
||||
dockcross/windows-static-x64-posix
|
||||
|windows-static-x64-posix-images| 64-bit Windows cross-compiler based on `MXE/MinGW-w64`_ with posix threads and static linking.
|
||||
|
||||
|
||||
.. |windows-static-x86-images| image:: https://images.microbadger.com/badges/image/dockcross/windows-static-x86.svg
|
||||
:target: https://microbadger.com/images/dockcross/windows-static-x86
|
||||
|
||||
dockcross/windows-static-x86
|
||||
|windows-static-x86-images| 32-bit Windows cross-compiler based on `MXE/MinGW-w64`_ with win32 threads and static linking.
|
||||
|
||||
.. |windows-shared-x64-images| image:: https://images.microbadger.com/badges/image/dockcross/windows-shared-x64.svg
|
||||
:target: https://microbadger.com/images/dockcross/windows-shared-x64
|
||||
|
||||
dockcross/windows-shared-x64
|
||||
|windows-shared-x64-images| 64-bit Windows cross-compiler based on `MXE/MinGW-w64`_ with win32 threads and dynamic linking.
|
||||
|
||||
|
||||
.. |windows-shared-x64-posix-images| image:: https://images.microbadger.com/badges/image/dockcross/windows-shared-x64-posix.svg
|
||||
:target: https://microbadger.com/images/dockcross/windows-shared-x64-posix
|
||||
|
||||
dockcross/windows-shared-x64-posix
|
||||
|windows-shared-x64-posix-images| 64-bit Windows cross-compiler based on `MXE/MinGW-w64`_ with posix threads and dynamic linking.
|
||||
|
||||
|
||||
.. |windows-shared-x86-images| image:: https://images.microbadger.com/badges/image/dockcross/windows-shared-x86.svg
|
||||
:target: https://microbadger.com/images/dockcross/windows-shared-x86
|
||||
|
||||
dockcross/windows-shared-x86
|
||||
|windows-shared-x86-images| 32-bit Windows cross-compiler based on `MXE/MinGW-w64`_ with win32 threads and dynamic linking.
|
||||
|
||||
|
||||
Articles
|
||||
--------
|
||||
|
||||
- `dockcross: C++ Write Once, Run Anywhere
|
||||
<https://nbviewer.jupyter.org/format/slides/github/dockcross/cxx-write-once-run-anywhere/blob/master/dockcross_CXX_Write_Once_Run_Anywhere.ipynb#/>`_
|
||||
- `Cross-compiling binaries for multiple architectures with Docker
|
||||
<https://web.archive.org/web/20170912153531/http://blogs.nopcode.org/brainstorm/2016/07/26/cross-compiling-with-docker>`_
|
||||
|
||||
|
||||
Built-in update commands
|
||||
------------------------
|
||||
|
||||
A special update command can be executed that will update the
|
||||
source cross-compiler Docker image or the dockcross script itself.
|
||||
|
||||
- ``dockcross [--] command [args...]``: Forces a command to run inside the container (in case of a name clash with a built-in command), use ``--`` before the command.
|
||||
- ``dockcross update-image``: Fetch the latest version of the docker image.
|
||||
- ``dockcross update-script``: Update the installed dockcross script with the one bundled in the image.
|
||||
- ``dockcross update``: Update both the docker image, and the dockcross script.
|
||||
|
||||
|
||||
Download all images
|
||||
-------------------
|
||||
|
||||
To easily download all images, the convenience target ``display_images`` could be used::
|
||||
|
||||
curl https://raw.githubusercontent.com/dockcross/dockcross/master/Makefile -o dockcross-Makefile
|
||||
for image in $(make -f dockcross-Makefile display_images); do
|
||||
echo "Pulling dockcross/$image"
|
||||
docker pull dockcross/$image
|
||||
done
|
||||
|
||||
Install all dockcross scripts
|
||||
-----------------------------
|
||||
|
||||
To automatically install in ``~/bin`` the dockcross scripts for each images already downloaded, the
|
||||
convenience target ``display_images`` could be used::
|
||||
|
||||
curl https://raw.githubusercontent.com/dockcross/dockcross/master/Makefile -o dockcross-Makefile
|
||||
for image in $(make -f dockcross-Makefile display_images); do
|
||||
if [[ $(docker images -q dockcross/$image) == "" ]]; then
|
||||
echo "~/bin/dockcross-$image skipping: image not found locally"
|
||||
continue
|
||||
fi
|
||||
echo "~/bin/dockcross-$image ok"
|
||||
docker run dockcross/$image > ~/bin/dockcross-$image && \
|
||||
chmod u+x ~/bin/dockcross-$image
|
||||
done
|
||||
|
||||
|
||||
Dockcross configuration
|
||||
-----------------------
|
||||
|
||||
The following environmental variables and command-line options are used. In
|
||||
all cases, the command-line option overrides the environment variable.
|
||||
|
||||
DOCKCROSS_CONFIG / --config|-c <path-to-config-file>
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This file is sourced, if it exists, before executing the rest of the dockcross
|
||||
script.
|
||||
|
||||
Default: ``~/.dockcross``
|
||||
|
||||
DOCKCROSS_IMAGE / --image|-i <docker-image-name>
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The Docker cross-compiler image to run.
|
||||
|
||||
Default: Image with which the script was created.
|
||||
|
||||
DOCKCROSS_ARGS / --args|-a <docker-run-args>
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Extra arguments to pass to the ``docker run`` command. Quote the entire set of
|
||||
args if they contain spaces.
|
||||
|
||||
|
||||
Per-project dockcross configuration
|
||||
-----------------------------------
|
||||
|
||||
If a shell script named ``.dockcross`` is found in the current directory where
|
||||
the dockcross script is started, it is executed before the dockcross script
|
||||
``command`` argument. The shell script is expected to have a shebang like
|
||||
``#!/usr/bin/env bash``.
|
||||
|
||||
For example, commands like ``git config --global advice.detachedHead false`` can
|
||||
be added to this script.
|
||||
|
||||
|
||||
How to extend Dockcross images
|
||||
------------------------------
|
||||
In order to extend Dockcross images with your own commands, one must:
|
||||
|
||||
1. Use ``FROM dockcross/<name_of_image>``.
|
||||
2. Set ``DEFAULT_DOCKCROSS_IMAGE`` to a name of the tag you're planning to use for the image. This tag must then be used during the build phase, unless you mean to pass the resulting helper script the ``DOCKCROSS_IMAGE`` argument.
|
||||
|
||||
An example Dockerfile would be::
|
||||
|
||||
FROM dockcross/linux-armv7
|
||||
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE my_cool_image
|
||||
RUN apt-get install nano
|
||||
|
||||
And then in the shell::
|
||||
|
||||
docker build -t my_cool_image . # Builds the dockcross image.
|
||||
docker run my_cool_image > linux-armv7 # Creates a helper script named linux-armv7.
|
||||
chmod +x linux-armv7 # Gives the script execution permission.
|
||||
./linux-armv7 bash # Runs the helper script with the argument "bash", which starts an interactive container using your extended image.
|
||||
|
||||
|
||||
What is the difference between `dockcross` and `dockbuild` ?
|
||||
------------------------------------------------------------
|
||||
|
||||
The key difference is that `dockbuild
|
||||
<https://github.com/dockbuild/dockbuild#readme>`_ images do **NOT** provide
|
||||
a `toolchain file
|
||||
<https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html>`_
|
||||
but they use the same method
|
||||
to conveniently isolate the build environment as `dockcross
|
||||
<https://github.com/dockcross/dockcross#readme>`_.
|
||||
|
||||
`dockbuild` is used to build binaries for Linux x86_64 / amd64 that will work
|
||||
across most Linux distributions. `dockbuild` performs a native Linux build
|
||||
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 is Linux x86_x64 / amd64.
|
||||
|
||||
`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.
|
||||
|
||||
|
||||
---
|
||||
|
||||
Credits go to `sdt/docker-raspberry-pi-cross-compiler <https://github.com/sdt/docker-raspberry-pi-cross-compiler>`_, who invented the base of the **dockcross** script.
|
||||
|
||||
.. _MXE/MinGW-w64: https://mxe.cc/
|
@ -1,5 +1,6 @@
|
||||
FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# The cross-compiling emulator
|
||||
RUN apt-get update && apt-get install -y \
|
||||
@ -9,20 +10,20 @@ RUN apt-get update && apt-get install -y \
|
||||
|
||||
ENV CROSS_TRIPLE=arm-linux-androideabi
|
||||
ENV CROSS_ROOT=/usr/${CROSS_TRIPLE}
|
||||
ENV ANDROID_NDK=${CROSS_ROOT}
|
||||
ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
||||
AR=${CROSS_ROOT}/bin/llvm-ar \
|
||||
CC=${CROSS_ROOT}/bin/clang \
|
||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||
LD=${CROSS_ROOT}/bin/ld
|
||||
|
||||
ENV ANDROID_NDK_REVISION 23
|
||||
ENV ANDROID_NDK_API 23
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-clang \
|
||||
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-clang++ \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV ANDROID_NDK_REVISION 22b
|
||||
ENV ANDROID_NDK_API 22
|
||||
RUN mkdir -p /build && \
|
||||
cd /build && \
|
||||
curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux.zip && \
|
||||
unzip ./android-ndk-r${ANDROID_NDK_REVISION}-linux.zip && \
|
||||
curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip && \
|
||||
unzip ./android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip && \
|
||||
cd android-ndk-r${ANDROID_NDK_REVISION} && \
|
||||
./build/tools/make_standalone_toolchain.py \
|
||||
--arch arm \
|
||||
|
@ -3,7 +3,7 @@ set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR armv7-a)
|
||||
set(CMAKE_ANDROID_ARCH_ABI armeabi-v7a)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_triple arm-linux-androideabi)
|
||||
set(CMAKE_ANDROID_STANDALONE_TOOLCHAIN $ENV{CROSS_ROOT})
|
||||
set(CMAKE_ANDROID_ARM_MODE ON)
|
||||
set(CMAKE_ANDROID_ARM_NEON ON)
|
||||
|
@ -1,5 +1,6 @@
|
||||
FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
RUN \
|
||||
sed -i '/debian-security/d' /etc/apt/sources.list && \
|
||||
dpkg --add-architecture arm64 && \
|
||||
@ -13,20 +14,20 @@ RUN apt-get update && apt-get install -y \
|
||||
|
||||
ENV CROSS_TRIPLE=aarch64-linux-android
|
||||
ENV CROSS_ROOT=/usr/${CROSS_TRIPLE}
|
||||
ENV ANDROID_NDK=${CROSS_ROOT}
|
||||
ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
||||
AR=${CROSS_ROOT}/bin/llvm-ar \
|
||||
CC=${CROSS_ROOT}/bin/clang \
|
||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||
LD=${CROSS_ROOT}/bin/ld
|
||||
|
||||
ENV ANDROID_NDK_REVISION 23
|
||||
ENV ANDROID_NDK_API 23
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-clang \
|
||||
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-clang++ \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV ANDROID_NDK_REVISION 22b
|
||||
ENV ANDROID_NDK_API 22
|
||||
RUN mkdir -p /build && \
|
||||
cd /build && \
|
||||
curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux.zip && \
|
||||
unzip ./android-ndk-r${ANDROID_NDK_REVISION}-linux.zip && \
|
||||
curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip && \
|
||||
unzip ./android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip && \
|
||||
cd android-ndk-r${ANDROID_NDK_REVISION} && \
|
||||
./build/tools/make_standalone_toolchain.py \
|
||||
--arch arm64 \
|
||||
|
@ -3,7 +3,7 @@ set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR aarch64)
|
||||
set(CMAKE_ANDROID_ARCH_ABI arm64-v8a)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_triple aarch64-linux-android)
|
||||
set(CMAKE_ANDROID_STANDALONE_TOOLCHAIN $ENV{CROSS_ROOT})
|
||||
set(CMAKE_ANDROID_ARM_MODE ON)
|
||||
set(CMAKE_ANDROID_ARM_NEON ON)
|
||||
|
@ -1,23 +1,25 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
RUN apt-get update && apt-get install -y unzip
|
||||
|
||||
ENV CROSS_TRIPLE=i686-linux-android
|
||||
ENV CROSS_ROOT=/usr/${CROSS_TRIPLE}
|
||||
ENV ANDROID_NDK=${CROSS_ROOT}
|
||||
ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
||||
AR=${CROSS_ROOT}/bin/llvm-ar \
|
||||
CC=${CROSS_ROOT}/bin/clang \
|
||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||
LD=${CROSS_ROOT}/bin/ld
|
||||
|
||||
ENV ANDROID_NDK_REVISION 23
|
||||
ENV ANDROID_NDK_API 23
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-clang \
|
||||
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-clang++ \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV ANDROID_NDK_REVISION 22b
|
||||
ENV ANDROID_NDK_API 22
|
||||
RUN mkdir -p /build && \
|
||||
cd /build && \
|
||||
curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux.zip && \
|
||||
unzip ./android-ndk-r${ANDROID_NDK_REVISION}-linux.zip && \
|
||||
curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip && \
|
||||
unzip ./android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip && \
|
||||
cd android-ndk-r${ANDROID_NDK_REVISION} && \
|
||||
./build/tools/make_standalone_toolchain.py \
|
||||
--arch x86 \
|
||||
|
@ -3,7 +3,7 @@ set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR i686)
|
||||
set(CMAKE_ANDROID_ARCH_ABI x86)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_triple i686-linux-android)
|
||||
set(CMAKE_ANDROID_STANDALONE_TOOLCHAIN $ENV{CROSS_ROOT})
|
||||
set(CMAKE_ANDROID_ARM_MODE ON)
|
||||
set(CMAKE_ANDROID_ARM_NEON ON)
|
||||
|
@ -1,23 +1,25 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
RUN apt-get update && apt-get install -y unzip
|
||||
|
||||
ENV CROSS_TRIPLE=x86_64-linux-android
|
||||
ENV CROSS_ROOT=/usr/${CROSS_TRIPLE}
|
||||
ENV ANDROID_NDK=${CROSS_ROOT}
|
||||
ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
||||
AR=${CROSS_ROOT}/bin/llvm-ar \
|
||||
CC=${CROSS_ROOT}/bin/clang \
|
||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||
LD=${CROSS_ROOT}/bin/ld
|
||||
|
||||
ENV ANDROID_NDK_REVISION 23
|
||||
ENV ANDROID_NDK_API 23
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-clang \
|
||||
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-clang++ \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV ANDROID_NDK_REVISION 22b
|
||||
ENV ANDROID_NDK_API 22
|
||||
RUN mkdir -p /build && \
|
||||
cd /build && \
|
||||
curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux.zip && \
|
||||
unzip ./android-ndk-r${ANDROID_NDK_REVISION}-linux.zip && \
|
||||
curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip && \
|
||||
unzip ./android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip && \
|
||||
cd android-ndk-r${ANDROID_NDK_REVISION} && \
|
||||
./build/tools/make_standalone_toolchain.py \
|
||||
--arch x86_64 \
|
||||
|
@ -3,7 +3,7 @@ set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||
set(CMAKE_ANDROID_ARCH_ABI x86_64)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_triple x86_64-linux-android)
|
||||
set(CMAKE_ANDROID_STANDALONE_TOOLCHAIN $ENV{CROSS_ROOT})
|
||||
set(CMAKE_ANDROID_ARM_MODE ON)
|
||||
set(CMAKE_ANDROID_ARM_NEON ON)
|
||||
|
40
avr/Dockerfile.in
Normal file
40
avr/Dockerfile.in
Normal file
@ -0,0 +1,40 @@
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# This is for avr
|
||||
#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 "avr" target.
|
||||
ENV CROSS_TRIPLE avr
|
||||
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/avr/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH avr
|
||||
|
||||
#include "common.label-and-env"
|
20
avr/Toolchain.cmake
Normal file
20
avr/Toolchain.cmake
Normal file
@ -0,0 +1,20 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR avr)
|
||||
set(cross_triple "avr")
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
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-avr)
|
||||
|
@ -1,14 +1,14 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# crosstool-NG 1.25.0.26_db6f703 Configuration
|
||||
# crosstool-NG UNKNOWN Configuration
|
||||
#
|
||||
CT_CONFIGURE_has_static_link=y
|
||||
CT_CONFIGURE_has_cxx11=y
|
||||
CT_CONFIGURE_has_lzip=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
|
||||
@ -20,18 +20,17 @@ 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.26_db6f703"
|
||||
CT_VERSION="UNKNOWN"
|
||||
CT_VCHECK=""
|
||||
CT_CONFIG_VERSION_ENV="4"
|
||||
CT_CONFIG_VERSION_CURRENT="4"
|
||||
CT_CONFIG_VERSION="4"
|
||||
CT_CONFIG_VERSION_ENV="3"
|
||||
CT_CONFIG_VERSION_CURRENT="3"
|
||||
CT_CONFIG_VERSION="3"
|
||||
CT_MODULES=y
|
||||
|
||||
#
|
||||
@ -99,7 +98,6 @@ 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=""
|
||||
@ -131,7 +129,7 @@ CT_LOG_FILE_COMPRESS=y
|
||||
# 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_AVR=y
|
||||
# CT_ARCH_M68K is not set
|
||||
# CT_ARCH_MIPS is not set
|
||||
# CT_ARCH_NIOS2 is not set
|
||||
@ -141,43 +139,34 @@ CT_LOG_FILE_COMPRESS=y
|
||||
# CT_ARCH_SH is not set
|
||||
# CT_ARCH_SPARC is not set
|
||||
# CT_ARCH_X86 is not set
|
||||
CT_ARCH_XTENSA=y
|
||||
CT_ARCH="xtensa"
|
||||
CT_ARCH_CHOICE_KSYM="XTENSA"
|
||||
CT_ARCH_XTENSA_SHOW=y
|
||||
# CT_ARCH_XTENSA is not set
|
||||
CT_ARCH="avr"
|
||||
CT_ARCH_CHOICE_KSYM="AVR"
|
||||
CT_ARCH_AVR_SHOW=y
|
||||
|
||||
#
|
||||
# Options for xtensa
|
||||
# Options for avr
|
||||
#
|
||||
CT_ARCH_XTENSA_PKG_KSYM=""
|
||||
# CT_XTENSA_CUSTOM is not set
|
||||
CT_ARCH_xtensa_fsf=y
|
||||
CT_ARCH_AVR_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 is not set
|
||||
CT_OMIT_TARGET_VENDOR=y
|
||||
CT_TARGET_SKIP_CONFIG_SUB=y
|
||||
|
||||
#
|
||||
# Generic target options
|
||||
#
|
||||
# CT_MULTILIB is not set
|
||||
CT_DEMULTILIB=y
|
||||
CT_ARCH_SUPPORTS_BOTH_MMU=y
|
||||
CT_ARCH_DEFAULT_HAS_MMU=y
|
||||
CT_ARCH_USE_MMU=y
|
||||
CT_ARCH_SUPPORTS_FLAT_FORMAT=y
|
||||
CT_ARCH_SUPPORTS_EITHER_ENDIAN=y
|
||||
CT_ARCH_DEFAULT_LE=y
|
||||
CT_ARCH_BE=y
|
||||
# CT_ARCH_LE is not set
|
||||
CT_ARCH_ENDIAN="big"
|
||||
CT_ARCH_SUPPORTS_32=y
|
||||
CT_ARCH_BITNESS=32
|
||||
CT_ARCH_32=y
|
||||
CT_ARCH_REQUIRES_MULTILIB=y
|
||||
CT_MULTILIB=y
|
||||
CT_ARCH_SUPPORTS_8=y
|
||||
CT_ARCH_DEFAULT_8=y
|
||||
CT_ARCH_BITNESS=8
|
||||
CT_ARCH_8=y
|
||||
|
||||
#
|
||||
# Target optimisations
|
||||
#
|
||||
CT_TARGET_CFLAGS="-mlongcalls -mtext-section-literals"
|
||||
CT_TARGET_CFLAGS=""
|
||||
CT_TARGET_LDFLAGS=""
|
||||
# end of Target options
|
||||
|
||||
@ -188,10 +177,6 @@ CT_TARGET_LDFLAGS=""
|
||||
#
|
||||
# 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
|
||||
@ -202,7 +187,6 @@ CT_TOOLCHAIN_BUGURL=""
|
||||
#
|
||||
# Tuple completion and aliasing
|
||||
#
|
||||
CT_TARGET_VENDOR="fsf"
|
||||
CT_TARGET_ALIAS_SED_EXPR=""
|
||||
CT_TARGET_ALIAS=""
|
||||
|
||||
@ -229,97 +213,28 @@ CT_BUILD_SUFFIX=""
|
||||
#
|
||||
# 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
|
||||
CT_BARE_METAL=y
|
||||
CT_KERNEL_BARE_METAL=y
|
||||
CT_KERNEL="bare-metal"
|
||||
CT_KERNEL_CHOICE_KSYM="BARE_METAL"
|
||||
CT_KERNEL_BARE_METAL_SHOW=y
|
||||
|
||||
#
|
||||
# Options for linux
|
||||
# Options for bare-metal
|
||||
#
|
||||
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_17 is not set
|
||||
# CT_LINUX_V_5_16 is not set
|
||||
# CT_LINUX_V_5_15 is not set
|
||||
CT_LINUX_V_5_14=y
|
||||
# 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 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 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_V_2_6_32 is not set
|
||||
CT_LINUX_VERSION="5.14.18"
|
||||
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_later_than_5_12=y
|
||||
CT_LINUX_5_12_or_later=y
|
||||
CT_LINUX_later_than_5_5=y
|
||||
CT_LINUX_5_5_or_later=y
|
||||
CT_LINUX_later_than_5_3=y
|
||||
CT_LINUX_5_3_or_later=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_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_BARE_METAL_PKG_KSYM=""
|
||||
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_ARCH_BINFMT_FDPIC is not set
|
||||
CT_BINUTILS_BINUTILS=y
|
||||
CT_BINUTILS="binutils"
|
||||
CT_BINUTILS_CHOICE_KSYM="BINUTILS"
|
||||
@ -337,9 +252,7 @@ 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 is not set
|
||||
CT_BINUTILS_V_2_37=y
|
||||
# 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_34 is not set
|
||||
# CT_BINUTILS_V_2_33 is not set
|
||||
@ -350,7 +263,7 @@ CT_BINUTILS_V_2_37=y
|
||||
# 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.37"
|
||||
CT_BINUTILS_VERSION="2.36.1"
|
||||
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}"
|
||||
@ -360,12 +273,18 @@ 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
|
||||
CT_BINUTILS_later_than_2_25=y
|
||||
CT_BINUTILS_2_25_or_later=y
|
||||
CT_BINUTILS_later_than_2_23=y
|
||||
CT_BINUTILS_2_23_or_later=y
|
||||
|
||||
#
|
||||
# GNU binutils
|
||||
#
|
||||
CT_BINUTILS_HAS_HASH_STYLE=y
|
||||
CT_BINUTILS_HAS_GOLD=y
|
||||
CT_BINUTILS_HAS_PLUGINS=y
|
||||
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
|
||||
CT_BINUTILS_LINKER_LD=y
|
||||
CT_BINUTILS_LINKERS_LIST="ld"
|
||||
CT_BINUTILS_LINKER_DEFAULT="bfd"
|
||||
@ -373,84 +292,50 @@ CT_BINUTILS_LINKER_DEFAULT="bfd"
|
||||
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 is not set
|
||||
CT_LIBC_UCLIBC_NG=y
|
||||
CT_LIBC="uClibc-ng"
|
||||
CT_LIBC_CHOICE_KSYM="UCLIBC_NG"
|
||||
CT_THREADS="nptl"
|
||||
CT_LIBC_UCLIBC_NG_SHOW=y
|
||||
CT_LIBC_AVR_LIBC=y
|
||||
# CT_LIBC_NEWLIB is not set
|
||||
# CT_LIBC_NONE is not set
|
||||
CT_LIBC="avr-libc"
|
||||
CT_LIBC_CHOICE_KSYM="AVR_LIBC"
|
||||
CT_LIBC_AVR_LIBC_SHOW=y
|
||||
|
||||
#
|
||||
# Options for uClibc-ng
|
||||
# Options for avr-libc
|
||||
#
|
||||
CT_LIBC_UCLIBC_NG_PKG_KSYM="UCLIBC_NG"
|
||||
CT_UCLIBC_NG_DIR_NAME="uClibc-ng"
|
||||
CT_UCLIBC_NG_PKG_NAME="uClibc-ng"
|
||||
CT_UCLIBC_NG_SRC_RELEASE=y
|
||||
# CT_UCLIBC_NG_SRC_DEVEL is not set
|
||||
CT_UCLIBC_NG_PATCH_ORDER="global"
|
||||
# CT_UCLIBC_NG_V_1_0_39 is not set
|
||||
CT_UCLIBC_NG_V_1_0_38=y
|
||||
# CT_UCLIBC_NG_V_1_0_36 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_33 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_32 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_31 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_30 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_29 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_28 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_27 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_26 is not set
|
||||
# CT_UCLIBC_NG_V_1_0_25 is not set
|
||||
CT_UCLIBC_NG_VERSION="1.0.38"
|
||||
CT_UCLIBC_NG_MIRRORS="http://downloads.uclibc-ng.org/releases/${CT_UCLIBC_NG_VERSION}"
|
||||
CT_UCLIBC_NG_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_UCLIBC_NG_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_UCLIBC_NG_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2 .tar.gz"
|
||||
CT_UCLIBC_NG_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_LIBC_UCLIBC_VERBOSITY_0=y
|
||||
# CT_LIBC_UCLIBC_VERBOSITY_1 is not set
|
||||
# CT_LIBC_UCLIBC_VERBOSITY_2 is not set
|
||||
CT_LIBC_UCLIBC_VERBOSITY=""
|
||||
CT_LIBC_UCLIBC_DEBUG_LEVEL_0=y
|
||||
# CT_LIBC_UCLIBC_DEBUG_LEVEL_1 is not set
|
||||
# CT_LIBC_UCLIBC_DEBUG_LEVEL_2 is not set
|
||||
# CT_LIBC_UCLIBC_DEBUG_LEVEL_3 is not set
|
||||
CT_LIBC_UCLIBC_DEBUG_LEVEL=0
|
||||
CT_LIBC_UCLIBC_CONFIG_FILE=""
|
||||
# CT_LIBC_UCLIBC_LOCALES is not set
|
||||
# CT_LIBC_UCLIBC_LIBICONV is not set
|
||||
CT_LIBC_UCLIBC_IPV6=y
|
||||
CT_LIBC_UCLIBC_WCHAR=y
|
||||
# CT_LIBC_UCLIBC_FENV is not set
|
||||
CT_LIBC_UCLIBC_HAS_SSP=y
|
||||
# CT_LIBC_UCLIBC_BUILD_SSP is not set
|
||||
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_NATIVE=y
|
||||
CT_LIBC_SUPPORT_THREADS_LT=y
|
||||
CT_LIBC_AVR_LIBC_PKG_KSYM="AVR_LIBC"
|
||||
CT_AVR_LIBC_DIR_NAME="avr-libc"
|
||||
CT_AVR_LIBC_PKG_NAME="avr-libc"
|
||||
CT_AVR_LIBC_SRC_RELEASE=y
|
||||
# CT_AVR_LIBC_SRC_DEVEL is not set
|
||||
CT_AVR_LIBC_PATCH_ORDER="global"
|
||||
CT_AVR_LIBC_V_2_0_0=y
|
||||
# CT_AVR_LIBC_V_1_8_1 is not set
|
||||
CT_AVR_LIBC_VERSION="2.0.0"
|
||||
CT_AVR_LIBC_MIRRORS="http://download.savannah.gnu.org/releases/avr-libc"
|
||||
CT_AVR_LIBC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_AVR_LIBC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_AVR_LIBC_ARCHIVE_FORMATS=".tar.bz2"
|
||||
CT_AVR_LIBC_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_LIBC_AVR_LIBC_EXTRA_CONFIG_ARRAY=""
|
||||
CT_THREADS="none"
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
|
||||
CT_LIBC_SUPPORT_THREADS_NONE=y
|
||||
|
||||
#
|
||||
# Common C library options
|
||||
#
|
||||
CT_THREADS_NATIVE=y
|
||||
# CT_THREADS_LT is not set
|
||||
# CT_THREADS_NONE is not set
|
||||
# CT_CREATE_LDSO_CONF is not set
|
||||
CT_LIBC_XLDD=y
|
||||
CT_THREADS_NONE=y
|
||||
# end of C-library
|
||||
|
||||
#
|
||||
# C compiler
|
||||
#
|
||||
CT_CC_CORE_NEEDED=y
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
@ -468,12 +353,12 @@ CT_CC_GCC_SHOW=y
|
||||
CT_CC_GCC_PKG_KSYM="GCC"
|
||||
CT_GCC_DIR_NAME="gcc"
|
||||
CT_GCC_USE_GNU=y
|
||||
# CT_GCC_USE_ORACLE is not set
|
||||
CT_GCC_USE="GCC"
|
||||
CT_GCC_PKG_NAME="gcc"
|
||||
CT_GCC_SRC_RELEASE=y
|
||||
# CT_GCC_SRC_DEVEL is not set
|
||||
CT_GCC_PATCH_ORDER="global"
|
||||
# CT_GCC_V_12 is not set
|
||||
CT_GCC_V_11=y
|
||||
# CT_GCC_V_10 is not set
|
||||
# CT_GCC_V_9 is not set
|
||||
@ -482,20 +367,14 @@ CT_GCC_V_11=y
|
||||
# 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.3.0"
|
||||
CT_GCC_VERSION="11.1.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_12_or_older=y
|
||||
CT_GCC_older_than_12=y
|
||||
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
|
||||
@ -506,10 +385,12 @@ 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_later_than_4_8=y
|
||||
CT_GCC_4_8_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_MULTILIB_LIST=""
|
||||
CT_CC_GCC_STATIC_LIBSTDCXX=y
|
||||
# CT_CC_GCC_SYSTEM_ZLIB is not set
|
||||
CT_CC_GCC_CONFIG_TLS=m
|
||||
@ -519,26 +400,21 @@ CT_CC_GCC_CONFIG_TLS=m
|
||||
#
|
||||
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=y
|
||||
CT_CC_GCC_LIBGOMP=y
|
||||
CT_CC_GCC_LIBSSP=m
|
||||
# CT_CC_GCC_LIBMUDFLAP is not set
|
||||
# CT_CC_GCC_LIBSSP is not set
|
||||
CT_CC_GCC_LIBQUADMATH=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=y
|
||||
# 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
|
||||
@ -555,49 +431,61 @@ CT_ALL_CC_CHOICES="GCC"
|
||||
# Additional supported languages:
|
||||
#
|
||||
CT_CC_LANG_CXX=y
|
||||
CT_CC_LANG_FORTRAN=y
|
||||
# CT_CC_LANG_FORTRAN is not set
|
||||
# end of C compiler
|
||||
|
||||
#
|
||||
# Debug facilities
|
||||
#
|
||||
# CT_DEBUG_DUMA is not set
|
||||
CT_DEBUG_GDB=y
|
||||
CT_DEBUG_GDB_PKG_KSYM="GDB"
|
||||
CT_GDB_DIR_NAME="gdb"
|
||||
CT_GDB_USE_GNU=y
|
||||
CT_GDB_USE="GDB"
|
||||
CT_GDB_PKG_NAME="gdb"
|
||||
CT_GDB_SRC_RELEASE=y
|
||||
# CT_GDB_SRC_DEVEL is not set
|
||||
CT_GDB_PATCH_ORDER="global"
|
||||
CT_GDB_V_12=y
|
||||
# CT_GDB_V_11 is not set
|
||||
# CT_GDB_V_10 is not set
|
||||
# CT_GDB_V_9 is not set
|
||||
CT_GDB_V_9_2=y
|
||||
# CT_GDB_V_8_3 is not set
|
||||
CT_GDB_VERSION="12.1"
|
||||
# CT_GDB_V_8_2 is not set
|
||||
# CT_GDB_V_8_1 is not set
|
||||
# CT_GDB_V_8_0 is not set
|
||||
# CT_GDB_V_7_12 is not set
|
||||
# CT_GDB_V_7_11 is not set
|
||||
CT_GDB_VERSION="9.2"
|
||||
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
|
||||
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GDB_SIGNATURE_FORMAT=""
|
||||
CT_GDB_later_than_12=y
|
||||
CT_GDB_12_or_later=y
|
||||
CT_GDB_later_than_11=y
|
||||
CT_GDB_11_or_later=y
|
||||
CT_GDB_later_than_10=y
|
||||
CT_GDB_10_or_later=y
|
||||
CT_GDB_later_than_8_3=y
|
||||
CT_GDB_8_3_or_later=y
|
||||
CT_GDB_later_than_8_0=y
|
||||
CT_GDB_8_0_or_later=y
|
||||
CT_GDB_later_than_7_12=y
|
||||
CT_GDB_7_12_or_later=y
|
||||
CT_GDB_later_than_7_2=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_later_than_7_0=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_CROSS=y
|
||||
# CT_GDB_CROSS_STATIC is not set
|
||||
# CT_GDB_CROSS_SIM is not set
|
||||
CT_GDB_CROSS_PYTHON=y
|
||||
CT_GDB_CROSS_PYTHON_BINARY=""
|
||||
# CT_GDB_CROSS_PYTHON is not set
|
||||
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||
# CT_GDB_NATIVE is not set
|
||||
CT_GDB_GDBSERVER=y
|
||||
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
|
||||
CT_GDB_GDBSERVER_TOPLEVEL=y
|
||||
|
||||
#
|
||||
# In bare-metal, you'll need to
|
||||
#
|
||||
|
||||
#
|
||||
# provide your own gdbserver stub.
|
||||
#
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
# CT_GDB_HAS_PYTHON is not set
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
CT_GDB_HAS_IPA_LIB=y
|
||||
# CT_DEBUG_LTRACE is not set
|
||||
# CT_DEBUG_STRACE is not set
|
||||
CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
|
||||
@ -615,8 +503,8 @@ 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_V_2_3=y
|
||||
CT_EXPAT_VERSION="2.3.0"
|
||||
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}"
|
||||
@ -638,6 +526,11 @@ 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_GMP_later_than_5_1_0=y
|
||||
CT_GMP_5_1_0_or_later=y
|
||||
CT_GMP_later_than_5_0_0=y
|
||||
CT_GMP_5_0_0_or_later=y
|
||||
CT_GMP_REQUIRE_5_0_0_or_later=y
|
||||
CT_COMP_LIBS_ISL=y
|
||||
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
|
||||
CT_ISL_DIR_NAME="isl"
|
||||
@ -645,9 +538,7 @@ 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_22=y
|
||||
# CT_ISL_V_0_21 is not set
|
||||
# CT_ISL_V_0_20 is not set
|
||||
# CT_ISL_V_0_19 is not set
|
||||
@ -655,8 +546,8 @@ CT_ISL_V_0_24=y
|
||||
# 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_VERSION="0.22"
|
||||
CT_ISL_MIRRORS="http://isl.gforge.inria.fr"
|
||||
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
@ -665,6 +556,15 @@ 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_ISL_REQUIRE_0_15_or_later=y
|
||||
CT_ISL_later_than_0_14=y
|
||||
CT_ISL_0_14_or_later=y
|
||||
CT_ISL_REQUIRE_0_14_or_later=y
|
||||
CT_ISL_later_than_0_13=y
|
||||
CT_ISL_0_13_or_later=y
|
||||
CT_ISL_later_than_0_12=y
|
||||
CT_ISL_0_12_or_later=y
|
||||
CT_ISL_REQUIRE_0_12_or_later=y
|
||||
# CT_COMP_LIBS_LIBELF is not set
|
||||
# CT_COMP_LIBS_LIBICONV is not set
|
||||
CT_COMP_LIBS_MPC=y
|
||||
@ -677,7 +577,7 @@ 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_VERSION="1.2.0"
|
||||
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}"
|
||||
@ -703,6 +603,9 @@ 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_MPFR_later_than_3_0_0=y
|
||||
CT_MPFR_3_0_0_or_later=y
|
||||
CT_MPFR_REQUIRE_3_0_0_or_later=y
|
||||
CT_COMP_LIBS_NCURSES=y
|
||||
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
|
||||
CT_NCURSES_DIR_NAME="ncurses"
|
||||
@ -719,13 +622,14 @@ CT_NCURSES_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_NCURSES_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_NCURSES_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_NCURSES_NEW_ABI=y
|
||||
CT_NCURSES_HOST_CONFIG_ARGS=""
|
||||
CT_NCURSES_HOST_DISABLE_DB=y
|
||||
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
|
||||
CT_NCURSES_TARGET_CONFIG_ARGS=""
|
||||
# CT_NCURSES_TARGET_DISABLE_DB is not set
|
||||
CT_NCURSES_TARGET_FALLBACKS=""
|
||||
# CT_COMP_LIBS_NEWLIB_NANO is not set
|
||||
# CT_COMP_LIBS_PICOLIBC is not set
|
||||
CT_COMP_LIBS_ZLIB=y
|
||||
CT_COMP_LIBS_ZLIB_PKG_KSYM="ZLIB"
|
||||
CT_ZLIB_DIR_NAME="zlib"
|
||||
@ -733,8 +637,8 @@ 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_V_1_2_11=y
|
||||
CT_ZLIB_VERSION="1.2.11"
|
||||
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}"
|
1
cc65
Submodule
1
cc65
Submodule
Submodule cc65 added at b6911a5136
@ -16,9 +16,9 @@
|
||||
|
||||
ENV MANYLINUX_DEPS="glibc-devel glibc-devel.i686 libstdc++-devel glib2-devel libX11-devel libXext-devel libXrender-devel mesa-libGL-devel libICE-devel libSM-devel"
|
||||
|
||||
ENV PYTHON_COMPILE_DEPS="python-devel zlib-devel bzip2-devel expat-devel ncurses-devel readline-devel tk-devel gdbm-devel libdb-devel libpcap-devel xz-devel openssl-devel keyutils-libs-devel krb5-devel libcom_err-devel libidn-devel curl-devel perl-devel"
|
||||
ENV PYTHON_COMPILE_DEPS="python3-devel zlib-devel bzip2-devel expat-devel ncurses-devel readline-devel tk-devel gdbm-devel libdb-devel libpcap-devel xz-devel openssl-devel keyutils-libs-devel krb5-devel libcom_err-devel libidn-devel curl-devel perl-devel"
|
||||
|
||||
ENV TOOLCHAIN_DEPS="devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-gcc-gfortran"
|
||||
ENV TOOLCHAIN_DEPS="devtoolset-9-binutils devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-gcc-gfortran"
|
||||
|
||||
# Install dependent packages required for `ct-ng`.
|
||||
RUN \
|
||||
@ -47,8 +47,6 @@ ENV XCC_PREFIX=/usr/xcc
|
||||
# for users.
|
||||
COPY \
|
||||
imagefiles/install-crosstool-ng-toolchain.sh \
|
||||
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 \
|
||||
/dockcross/
|
||||
|
||||
@ -62,7 +60,7 @@ RUN \
|
||||
rm -rf /dockcross/crosstool /dockcross/install-crosstool-ng-toolchain.sh && \
|
||||
# Remove sudo provided by devtoolset since it doesn't work with
|
||||
# our sudo wrapper calling gosu.
|
||||
rm -f /opt/rh/devtoolset-10/root/usr/bin/sudo
|
||||
rm -f /opt/rh/devtoolset-9/root/usr/bin/sudo
|
||||
|
||||
# Restore our default workdir (from "dockcross/base").
|
||||
WORKDIR /work
|
@ -16,18 +16,12 @@
|
||||
|
||||
# Install Debian packages required for `ct-ng`.
|
||||
RUN apt-get update --yes && apt-get install --no-install-recommends --yes \
|
||||
gawk \
|
||||
gperf \
|
||||
help2man \
|
||||
python3-dev \
|
||||
texinfo \
|
||||
# Packages needed for crosstool-ng 1.24 or higher
|
||||
unzip \
|
||||
libtool \
|
||||
libtool-bin \
|
||||
&& apt-get clean autoclean --yes \
|
||||
&& apt-get autoremove --yes \
|
||||
&& rm -rf /var/lib/{apt,dpkg,cache,log}/
|
||||
gawk \
|
||||
gperf \
|
||||
help2man \
|
||||
python-dev \
|
||||
texinfo \
|
||||
&& apt-get clean --yes
|
||||
|
||||
ENV XCC_PREFIX=/usr/xcc
|
||||
|
||||
@ -38,8 +32,6 @@ ENV XCC_PREFIX=/usr/xcc
|
||||
# for users.
|
||||
COPY \
|
||||
imagefiles/install-crosstool-ng-toolchain.sh \
|
||||
imagefiles/patch/crosstool-ng/crosstool-ng-expat.patch \
|
||||
imagefiles/patch/crosstool-ng/Fix-error-with-bash-5-and-up.patch \
|
||||
crosstool-ng.config \
|
||||
/dockcross/
|
||||
|
||||
@ -48,8 +40,7 @@ RUN mkdir /dockcross/crosstool \
|
||||
&& cd /dockcross/crosstool \
|
||||
&& /dockcross/install-crosstool-ng-toolchain.sh \
|
||||
-p "${XCC_PREFIX}" \
|
||||
-c "/dockcross/crosstool-ng.config" \
|
||||
-v "${CT_VERSION}" \
|
||||
-c /dockcross/crosstool-ng.config \
|
||||
&& rm -rf /dockcross/crosstool /dockcross/install-crosstool-ng-toolchain.sh
|
||||
|
||||
# Restore our default workdir (from "dockcross/base").
|
75
common.debian
Normal file
75
common.debian
Normal file
@ -0,0 +1,75 @@
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
ARG REPO=http://cdn-fastly.deb.debian.org
|
||||
|
||||
RUN \
|
||||
apt-get update --yes && \
|
||||
apt-get install --no-install-recommends --yes \
|
||||
autogen \
|
||||
automake \
|
||||
bash \
|
||||
bc \
|
||||
bison \
|
||||
build-essential \
|
||||
bzip2 \
|
||||
ca-certificates \
|
||||
curl \
|
||||
dirmngr \
|
||||
file \
|
||||
flex \
|
||||
gettext \
|
||||
gzip \
|
||||
gnupg \
|
||||
initramfs-tools \
|
||||
libncurses5 \
|
||||
libtool \
|
||||
make \
|
||||
ncurses-dev \
|
||||
pkg-config \
|
||||
pax \
|
||||
<<<<<<< HEAD
|
||||
python3 \
|
||||
python3-pip \
|
||||
=======
|
||||
# python3 \
|
||||
# python3-pip \
|
||||
>>>>>>> 9adf96c16b00759a9f7f69be3e61b5e16cdd6ac4
|
||||
rsync \
|
||||
sed \
|
||||
ssh \
|
||||
tar \
|
||||
vim \
|
||||
wget \
|
||||
xz-utils \
|
||||
zip \
|
||||
zlib1g-dev \
|
||||
<<<<<<< HEAD
|
||||
unzip \
|
||||
libtool-bin \
|
||||
libtool-doc \
|
||||
lzip \
|
||||
&& \
|
||||
apt-get clean --yes
|
||||
# Add symlink for compatibility
|
||||
RUN ln -s /usr/bin/python3 /usr/bin/python
|
||||
=======
|
||||
# python build
|
||||
libncurses5-dev \
|
||||
libgdbm-dev \
|
||||
libnss3-dev \
|
||||
libssl-dev \
|
||||
libsqlite3-dev \
|
||||
libreadline-dev \
|
||||
libffi-dev \
|
||||
libbz2-dev\
|
||||
&& \
|
||||
apt-get clean --yes
|
||||
|
||||
# build and install python
|
||||
COPY \
|
||||
imagefiles/build-and-install-python.sh \
|
||||
/buildscripts/
|
||||
RUN \
|
||||
set -x && \
|
||||
/buildscripts/build-and-install-python.sh && \
|
||||
rm -rf /buildscripts
|
||||
>>>>>>> 9adf96c16b00759a9f7f69be3e61b5e16cdd6ac4
|
@ -13,4 +13,4 @@ RUN \
|
||||
rm -rf /buildscripts
|
||||
|
||||
# Runtime scripts
|
||||
COPY imagefiles/entrypoint.sh imagefiles/dockcross.sh /dockcross/
|
||||
COPY imagefiles/entrypoint.sh imagefiles/dockcross /dockcross/
|
@ -1,26 +1,13 @@
|
||||
WORKDIR /usr/src
|
||||
|
||||
ARG GIT_VERSION=2.36.1
|
||||
|
||||
ARG CMAKE_VERSION=3.23.1
|
||||
|
||||
ARG NINJA_VERSION=1.11.0
|
||||
ARG FLATCC_VERSION=0.6.1
|
||||
|
||||
ARG OPENSSL_VERSION=openssl-1.1.1o
|
||||
ARG OPENSSL_HASH=9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f
|
||||
|
||||
ARG CURL_VERSION=curl-7.76.0
|
||||
ARG CURL_HASH=3b4378156ba09e224008e81dcce854b7ce4d182b1f9cfb97fe5ed9e9c18c6bd3
|
||||
|
||||
ARG PERL_VERSION=perl-5.32.1
|
||||
ARG PERL_HASH=03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c
|
||||
ARG GIT_VERSION=2.31.1
|
||||
ARG CMAKE_VERSION=3.20.2
|
||||
# Version from official repos
|
||||
|
||||
# Image build scripts
|
||||
COPY \
|
||||
imagefiles/build-and-install-cmake.sh \
|
||||
imagefiles/build-and-install-curl.sh \
|
||||
imagefiles/build-and-install-flatcc.sh \
|
||||
imagefiles/build-and-install-git.sh \
|
||||
imagefiles/build-and-install-ninja.sh \
|
||||
imagefiles/build-and-install-openssl.sh \
|
||||
@ -32,17 +19,16 @@ COPY \
|
||||
/buildscripts/
|
||||
|
||||
RUN \
|
||||
X86_FLAG=$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2014-x86" ] && echo "-32" || echo "") && \
|
||||
X86_FLAG=$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux1-x86" -o "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2010-x86" -o "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2014-x86" ] && echo "-32" || echo "") && \
|
||||
/buildscripts/build-and-install-openssl.sh $X86_FLAG && \
|
||||
/buildscripts/build-and-install-openssh.sh && \
|
||||
/buildscripts/build-and-install-curl.sh && \
|
||||
/buildscripts/build-and-install-git.sh && \
|
||||
/buildscripts/build-and-install-cmake.sh $X86_FLAG && \
|
||||
/buildscripts/install-cmake-binary.sh $X86_FLAG && \
|
||||
/buildscripts/install-liquidprompt-binary.sh && \
|
||||
PYTHON=$([ -e /opt/python/cp38-cp38/bin/python ] && echo "/opt/python/cp38-cp38/bin/python" || echo "python3") && \
|
||||
PYTHON=$([ -e /opt/python/cp38-cp38/bin/python ] && echo "/opt/python/cp38-cp38/bin/python" || echo "python") && \
|
||||
/buildscripts/install-python-packages.sh -python ${PYTHON} && \
|
||||
/buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \
|
||||
/buildscripts/build-and-install-flatcc.sh && \
|
||||
rm -rf /buildscripts
|
||||
|
||||
RUN echo "root:root" | chpasswd
|
51
common.lib
Normal file
51
common.lib
Normal file
@ -0,0 +1,51 @@
|
||||
# Libraries scripts
|
||||
|
||||
# Boost lib
|
||||
RUN cd /tmp/ && git clone https://github.com/boostorg/boost.git && cd boost && git checkout boost-1.76.0 && git submodule update --init && \
|
||||
cd /tmp/boost/ && ./bootstrap.sh --without-libraries=mpi,python,regex,iostreams && \
|
||||
cd /tmp/boost/ && echo "using gcc : 8.4 : ${CXX} ; " >> tools/build/src/user-config.jam && \
|
||||
cd /tmp/boost/ && ./b2 install --toolset=gcc-8.4 --prefix=/usr/${CROSS_TRIPLE}/boost/ threading=multi link=static && \
|
||||
export PATH="/usr/${CROSS_TRIPLE}/boost/bin:$PATH" && \
|
||||
rm -rf /tmp/boost/
|
||||
|
||||
# OpenCV lib
|
||||
RUN cd /tmp/ && git clone https://github.com/opencv/opencv.git && git clone https://github.com/opencv/opencv_contrib.git && \
|
||||
cd /tmp/ && git -C opencv checkout 4.5.2 && git -C opencv_contrib checkout 4.5.2 && \
|
||||
cd /tmp/opencv/ && mkdir -p build && cmake -Bbuild -H. \
|
||||
-G Ninja \
|
||||
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
|
||||
-D CMAKE_BUILD_TYPE=RELEASE \
|
||||
-D OPENCV_ENABLE_NONFREE=ON \
|
||||
-D WITH_V4L=OFF \
|
||||
-D WITH_QT=OFF \
|
||||
-D WITH_OPENGL=OFF \
|
||||
-D WITH_FFMPEG=OFF \
|
||||
-D BUILD_EXAMPLES=ON \
|
||||
-D BUILD_DOCS=ON \
|
||||
-D BUILD_PERF_TESTS=OFF \
|
||||
-D BUILD_TESTS=ON \
|
||||
-D BUILD_SHARED_LIBS=OFF \
|
||||
-D BUILD_NEW_PYTHON_SUPPORT=OFF \
|
||||
-D BUILD_opencv_python3=OFF \
|
||||
-D HAVE_opencv_python3=OFF \
|
||||
-D PYTHON_DEFAULT_EXECUTABLE="" \
|
||||
-D CMAKE_PREFIX_PATH="/usr/${CROSS_TRIPLE}/opencv" &&\
|
||||
cd /tmp/opencv && ninja -Cbuild && \
|
||||
cd /tmp/opencv/build && \
|
||||
ninja install && \
|
||||
export PATH="/usr/${CROSS_TRIPLE}/opencv/bin:$PATH" && \
|
||||
rm -rf /tmp/opencv/ && rm -rf /tmp/opencv_contrib
|
||||
|
||||
# OpenSSL lib
|
||||
ENV OPENSSL_VERSION="1.1.1k"
|
||||
RUN set -x \
|
||||
&& wget --no-check-certificate -O /tmp/openssl-${OPENSSL_VERSION}.tar.gz "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" \
|
||||
&& tar -xvf /tmp/openssl-${OPENSSL_VERSION}.tar.gz -C /tmp/ \
|
||||
&& rm -rf /tmp/openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& cd /tmp/openssl-${OPENSSL_VERSION} \
|
||||
&& ./Configure -static -fPIC ${OPENSSL_ARCH} -march=${OPENSSL_TARGET} no-asm --cross-compile-prefix="" --prefix=/usr/${CROSS_TRIPLE}/ssl --openssldir=/usr/${CROSS_TRIPLE}/ssl \
|
||||
&& make -j$(nproc) \
|
||||
&& make install \
|
||||
&& export PATH="/usr/${CROSS_TRIPLE}/ssl/bin:$PATH" \
|
||||
&& cd .. \
|
||||
&& rm -rf openssl-${OPENSSL_VERSION}
|
@ -6,9 +6,8 @@ COPY \
|
||||
RUN \
|
||||
set -x && \
|
||||
yum -y install \
|
||||
$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2014-x86" ] && echo "" || echo "epel-release") \
|
||||
$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2014-x86" ] && echo "" || echo "https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm") \
|
||||
gpg \
|
||||
python3-devel \
|
||||
zlib-devel \
|
||||
gettext \
|
||||
openssh-clients \
|
||||
@ -23,7 +22,6 @@ RUN \
|
||||
rm -f /opt/rh/devtoolset-7/root/usr/bin/sudo && \
|
||||
rm -f /opt/rh/devtoolset-8/root/usr/bin/sudo && \
|
||||
rm -f /opt/rh/devtoolset-9/root/usr/bin/sudo && \
|
||||
rm -f /opt/rh/devtoolset-10/root/usr/bin/sudo && \
|
||||
/buildscripts/install-python-packages.sh && \
|
||||
rm -rf /buildscripts
|
||||
|
@ -15,8 +15,8 @@
|
||||
# ARG MXE_TARGET_LINK=shared
|
||||
#
|
||||
|
||||
# mxe master 2021-10-18
|
||||
ARG MXE_GIT_TAG=8838ac3938cd8e47424a4cb5d3676d1ae9a4d670
|
||||
# mxe master 2021-05-10
|
||||
ARG MXE_GIT_TAG=9cae21c297a836aea6e80037238fbdb097ba4e74
|
||||
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/src/mxe/usr/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}/share/cmake/mxe-conf.cmake
|
||||
|
||||
@ -54,9 +54,7 @@ RUN \
|
||||
libc6-dev-i386 \
|
||||
lzip \
|
||||
make \
|
||||
nsis \
|
||||
openssl \
|
||||
osslsigncode \
|
||||
p7zip-full \
|
||||
patch \
|
||||
perl \
|
||||
@ -90,7 +88,7 @@ RUN \
|
||||
cd /usr/src/mxe && \
|
||||
echo "MXE_TARGETS := ${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}" > settings.mk && \
|
||||
echo "MXE_USE_CCACHE :=" >> settings.mk && \
|
||||
echo "MXE_PLUGIN_DIRS := plugins/gcc11" >> settings.mk && \
|
||||
echo "MXE_PLUGIN_DIRS := plugins/gcc10" >> settings.mk && \
|
||||
echo "LOCAL_PKG_LIST := cc cmake" >> settings.mk && \
|
||||
echo ".DEFAULT local-pkg-list:" >> settings.mk && \
|
||||
echo "local-pkg-list: \$(LOCAL_PKG_LIST)" >> settings.mk && \
|
||||
@ -109,20 +107,12 @@ RUN \
|
||||
#
|
||||
echo 'set(CMAKE_CROSSCOMPILING_EMULATOR "/usr/bin/wine")' >> ${CMAKE_TOOLCHAIN_FILE} && \
|
||||
#
|
||||
# Add a sysmbolic link for makensis
|
||||
#
|
||||
ln -s /usr/bin/makensis /usr/bin/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}-makensis && \
|
||||
#
|
||||
# Replace cmake and cpack binaries
|
||||
#
|
||||
cd /usr/bin && \
|
||||
rm cmake cpack && \
|
||||
ln -s /usr/src/mxe/usr/bin/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}-cmake cmake && \
|
||||
ln -s /usr/src/mxe/usr/bin/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}-cpack cpack && \
|
||||
#
|
||||
# clean up temporary wine files
|
||||
#
|
||||
rm -rf /tmp/wine-*
|
||||
ln -s /usr/src/mxe/usr/bin/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}-cpack cpack
|
||||
|
||||
ENV PATH ${PATH}:/usr/src/mxe/usr/bin
|
||||
ENV CROSS_TRIPLE ${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}
|
@ -1,30 +0,0 @@
|
||||
|
||||
# Install Debian packages required for `buildroot`.
|
||||
RUN apt-get update --yes && apt-get install --no-install-recommends --yes \
|
||||
gawk \
|
||||
gperf \
|
||||
help2man \
|
||||
python3-dev \
|
||||
texinfo \
|
||||
unzip \
|
||||
libtool \
|
||||
libtool-bin \
|
||||
&& apt-get clean autoclean --yes \
|
||||
&& apt-get autoremove --yes \
|
||||
&& rm -rf /var/lib/{apt,dpkg,cache,log}/
|
||||
|
||||
COPY \
|
||||
imagefiles/install-buildroot-toolchain.sh \
|
||||
buildroot.config \
|
||||
/dockcross/
|
||||
|
||||
# Build and install the toolchain, cleaning up artifacts afterwards.
|
||||
RUN mkdir /dockcross/buildroot \
|
||||
&& cd /dockcross/buildroot \
|
||||
&& /dockcross/install-buildroot-toolchain.sh \
|
||||
-c "/dockcross/buildroot.config" \
|
||||
-v "${BR_VERSION}" \
|
||||
&& rm -rf /dockcross/buildroot /dockcross/install-buildroot-toolchain.sh
|
||||
|
||||
# Restore our default workdir (from "dockcross/base").
|
||||
WORKDIR /work
|
@ -1,43 +0,0 @@
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN \
|
||||
apt-get update --yes && \
|
||||
apt-get install --no-install-recommends --yes \
|
||||
autogen \
|
||||
automake \
|
||||
bash \
|
||||
bc \
|
||||
bison \
|
||||
build-essential \
|
||||
bzip2 \
|
||||
ca-certificates \
|
||||
curl \
|
||||
dirmngr \
|
||||
file \
|
||||
flex \
|
||||
gettext \
|
||||
gzip \
|
||||
gnupg \
|
||||
osslsigncode \
|
||||
initramfs-tools \
|
||||
libncurses5 \
|
||||
libtool \
|
||||
make \
|
||||
ncurses-dev \
|
||||
pkg-config \
|
||||
pax \
|
||||
python3-dev \
|
||||
python3-pip \
|
||||
rsync \
|
||||
sed \
|
||||
ssh \
|
||||
tar \
|
||||
vim \
|
||||
wget \
|
||||
xz-utils \
|
||||
zip \
|
||||
zlib1g-dev \
|
||||
python-is-python3 \
|
||||
&& apt-get clean autoclean --yes \
|
||||
&& apt-get autoremove --yes \
|
||||
&& rm -rf /var/lib/{apt,dpkg,cache,log}/
|
@ -1,74 +0,0 @@
|
||||
# common.webassembly
|
||||
#
|
||||
# Common WebAssembly tools.
|
||||
|
||||
# main 2021-12-31
|
||||
ENV BINARYEN_GIT_TAG 6137b338c7fb37ba98b63c31225ec9cfda8cfa59
|
||||
RUN git clone https://github.com/WebAssembly/binaryen.git && \
|
||||
cd binaryen && \
|
||||
git checkout ${BINARYEN_GIT_TAG} && \
|
||||
cd ../ && \
|
||||
mkdir binaryen-build && \
|
||||
cd binaryen-build && \
|
||||
/usr/bin/cmake \
|
||||
-DCMAKE_C_COMPILER=/usr/bin/cc \
|
||||
-DCMAKE_CXX_COMPILER=/usr/bin/c++ \
|
||||
-G Ninja \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||
-DCMAKE_TOOLCHAIN_FILE="" \
|
||||
../binaryen && \
|
||||
ninja && \
|
||||
ninja install && \
|
||||
cd ../ && \
|
||||
rm -rf binaryen*
|
||||
|
||||
# main 2021-12-31
|
||||
ENV WABT_GIT_TAG a4366956e877c404d328358b2c00320b476763c0
|
||||
RUN git clone --recurse-submodules https://github.com/WebAssembly/wabt.git && \
|
||||
cd wabt && \
|
||||
git checkout ${WABT_GIT_TAG} && \
|
||||
cd ../ && \
|
||||
mkdir wabt-build && \
|
||||
cd wabt-build && \
|
||||
/usr/bin/cmake \
|
||||
-DCMAKE_C_COMPILER=/usr/bin/cc \
|
||||
-DCMAKE_CXX_COMPILER=/usr/bin/c++ \
|
||||
-G Ninja \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||
-DCMAKE_TOOLCHAIN_FILE="" \
|
||||
../wabt && \
|
||||
ninja && \
|
||||
ninja install && \
|
||||
cd ../ && \
|
||||
rm -rf wabt*
|
||||
|
||||
RUN mkdir /wasi-runtimes
|
||||
|
||||
ENV WASMTIME_HOME /wasi-runtimes/wasmtime
|
||||
RUN mkdir ${WASMTIME_HOME} && curl https://wasmtime.dev/install.sh -sSf | bash
|
||||
COPY imagefiles/wasmtime-pwd.sh ${WASMTIME_HOME}/bin/
|
||||
ENV PATH "$WASMTIME_HOME/bin:$PATH"
|
||||
|
||||
# For wasmer
|
||||
RUN \
|
||||
apt-get update --yes && \
|
||||
apt-get install --no-install-recommends --yes \
|
||||
libxkbcommon0
|
||||
|
||||
ENV WASMER_DIR /wasi-runtimes/wasmer
|
||||
RUN curl https://get.wasmer.io -sSfL | sh
|
||||
COPY imagefiles/wasmer-pwd.sh ${WASMER_DIR}/bin/
|
||||
ENV PATH "$WASMER_DIR/bin:$PATH"
|
||||
|
||||
ENV WASM3_VERSION 0.5.0
|
||||
RUN mkdir -p /wasi-runtimes/wasm3/bin && \
|
||||
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 && \
|
||||
chmod +x /wasi-runtimes/wasm3/bin/wasm3
|
||||
ENV PATH "/wasi-runtimes/wasm3/bin:$PATH"
|
||||
|
||||
ENV WAVM_VERSION 2021-12-15
|
||||
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 && \
|
||||
tar -xv -C /wasi-runtimes/wavm/ -f wavm-0.0.0-prerelease-linux.tar.gz
|
||||
ENV PATH "/wasi-runtimes/wavm/bin:$PATH"
|
@ -4,9 +4,6 @@ set -ex
|
||||
|
||||
WRAPPER=""
|
||||
|
||||
CMAKE_URL="https://gitlab.kitware.com/cmake/cmake.git"
|
||||
CMAKE_MIRROR_URL="https://github.com/Kitware/CMake.git"
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
-32)
|
||||
@ -25,25 +22,21 @@ if ! command -v git &> /dev/null; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${CMAKE_VERSION}" ]]; then
|
||||
if [[ "${CMAKE_VERSION}" == "" ]]; then
|
||||
echo >&2 'error: CMAKE_VERSION env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd /usr/src
|
||||
|
||||
# If the first link doesn't work, it will use the mirror on github
|
||||
git clone "$CMAKE_URL" CMake -b "v$CMAKE_VERSION" --depth 1 \
|
||||
|| git clone "$CMAKE_MIRROR_URL" CMake -b "v$CMAKE_VERSION" --depth 1
|
||||
git clone https://gitlab.kitware.com/cmake/cmake.git CMake -b v$CMAKE_VERSION --depth 1
|
||||
|
||||
mkdir /usr/src/CMake-build
|
||||
cd /usr/src/CMake-build
|
||||
|
||||
${WRAPPER} /usr/src/CMake/bootstrap \
|
||||
--parallel="$(nproc)" \
|
||||
-- -DCMAKE_USE_OPENSSL=OFF
|
||||
${WRAPPER} make -j"$(nproc)"
|
||||
|
||||
--parallel=$(grep -c processor /proc/cpuinfo)
|
||||
${WRAPPER} make -j$(grep -c processor /proc/cpuinfo)
|
||||
|
||||
mkdir /usr/src/CMake-ssl-build
|
||||
cd /usr/src/CMake-ssl-build
|
||||
@ -55,7 +48,7 @@ ${WRAPPER} /usr/src/CMake-build/bin/cmake \
|
||||
-DCMAKE_USE_OPENSSL:BOOL=ON \
|
||||
-DOPENSSL_ROOT_DIR:PATH=/usr/local/ssl \
|
||||
../CMake
|
||||
${WRAPPER} make -j"$(nproc)" install
|
||||
${WRAPPER} make -j$(grep -c processor /proc/cpuinfo) install
|
||||
|
||||
# Cleanup install tree
|
||||
cd /usr/src/cmake-$CMAKE_VERSION
|
||||
|
@ -10,23 +10,15 @@ source $MY_DIR/utils.sh
|
||||
# copied from https://github.com/pypa/manylinux/tree/master/docker/build_scripts
|
||||
#
|
||||
|
||||
if [[ -z "${CURL_VERSION}" ]]; then
|
||||
echo >&2 'error: CURL_VERSION env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${CURL_HASH}" ]]; then
|
||||
echo >&2 'error: CURL_HASH env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CURL_ROOT=curl-7.76.0
|
||||
CURL_HASH=3b4378156ba09e224008e81dcce854b7ce4d182b1f9cfb97fe5ed9e9c18c6bd3
|
||||
CURL_DOWNLOAD_URL=https://curl.haxx.se/download
|
||||
|
||||
function do_curl_build {
|
||||
# We do this shared to avoid obnoxious linker issues where git couldn't
|
||||
# link properly. If anyone wants to make this build statically go for it.
|
||||
LIBS=-ldl CFLAGS=-Wl,--exclude-libs,ALL ./configure --with-ssl --disable-static > /dev/null
|
||||
make -j"$(nproc)" > /dev/null
|
||||
make > /dev/null
|
||||
make install > /dev/null
|
||||
}
|
||||
|
||||
@ -37,13 +29,7 @@ function build_curl {
|
||||
local curl_sha256=$2
|
||||
check_var ${curl_sha256}
|
||||
check_var ${CURL_DOWNLOAD_URL}
|
||||
curl --connect-timeout 30 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 30 \
|
||||
-fsSLO ${CURL_DOWNLOAD_URL}/${curl_fname}.tar.gz
|
||||
|
||||
curl -fsSLO ${CURL_DOWNLOAD_URL}/${curl_fname}.tar.gz
|
||||
check_sha256sum ${curl_fname}.tar.gz ${curl_sha256}
|
||||
tar -zxf ${curl_fname}.tar.gz
|
||||
(cd curl-*/ && do_curl_build)
|
||||
@ -51,7 +37,7 @@ function build_curl {
|
||||
}
|
||||
|
||||
cd /usr/src
|
||||
build_curl "${CURL_VERSION}" "${CURL_HASH}"
|
||||
build_curl $CURL_ROOT $CURL_HASH
|
||||
|
||||
(cat /etc/ld.so.conf.d/usr-local.conf 2> /dev/null | grep -q "^/usr/local/lib$") ||
|
||||
echo '/usr/local/lib' >> /etc/ld.so.conf.d/usr-local.conf
|
||||
|
@ -1,23 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
if ! command -v git &> /dev/null; then
|
||||
echo >&2 'error: "git" not found!'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "${FLATCC_VERSION}" == "" ]]; then
|
||||
echo >&2 'error: FLATCC_VERSION env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd /usr/src
|
||||
|
||||
git clone https://github.com/dvidelabs/flatcc.git -b v$FLATCC_VERSION
|
||||
|
||||
cd flatcc
|
||||
|
||||
cmake -DFLATCC_INSTALL=on && make install > /dev/null
|
||||
|
||||
./scripts/cleanall.sh
|
@ -12,7 +12,7 @@ if ! command -v tar &> /dev/null; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${GIT_VERSION}" ]]; then
|
||||
if [[ "${GIT_VERSION}" == "" ]]; then
|
||||
echo >&2 'error: GIT_VERSION env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
@ -25,25 +25,20 @@ cd /usr/src
|
||||
|
||||
url="https://mirrors.edge.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz"
|
||||
echo "Downloading $url"
|
||||
curl --connect-timeout 20 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 40 \
|
||||
-# -LO $url
|
||||
curl -# -LO $url
|
||||
|
||||
tar xvzf "git-${GIT_VERSION}.tar.gz" --no-same-owner
|
||||
rm -f "git-${GIT_VERSION}.tar.gz"
|
||||
tar xvzf git-${GIT_VERSION}.tar.gz --no-same-owner
|
||||
rm -f git-${GIT_VERSION}.tar.gz
|
||||
|
||||
pushd "git-${GIT_VERSION}"
|
||||
pushd git-${GIT_VERSION}
|
||||
./configure --prefix=/usr/local --with-curl
|
||||
make -j"$(nproc)"
|
||||
make
|
||||
make install
|
||||
popd
|
||||
|
||||
ldconfig
|
||||
|
||||
rm -rf "git-${GIT_VERSION}"
|
||||
rm -rf git-${GIT_VERSION}
|
||||
|
||||
# turn the detached message off
|
||||
git config --global advice.detachedHead false
|
||||
|
@ -25,21 +25,9 @@ while [ $# -gt 0 ]; do
|
||||
shift
|
||||
done
|
||||
|
||||
if [[ -z "${NINJA_VERSION}" ]]; then
|
||||
echo >&2 'error: NINJA_VERSION env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Download
|
||||
url="https://github.com/ninja-build/ninja/archive/v${NINJA_VERSION}.tar.gz"
|
||||
|
||||
curl --connect-timeout 30 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 30 \
|
||||
-# -o ninja.tar.gz -LO "$url"
|
||||
|
||||
REV=v1.10.2
|
||||
curl -# -o ninja.tar.gz -LO https://github.com/ninja-build/ninja/archive/$REV.tar.gz
|
||||
mkdir ninja
|
||||
tar -xzvf ./ninja.tar.gz --strip-components=1 -C ./ninja
|
||||
|
||||
|
@ -2,16 +2,10 @@
|
||||
|
||||
set -ex
|
||||
|
||||
OPENSSH_ROOT=V_8_7_P1
|
||||
OPENSSH_ROOT=V_8_5_P1
|
||||
|
||||
cd /usr/src
|
||||
curl --connect-timeout 20 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 40 \
|
||||
-LO https://github.com/openssh/openssh-portable/archive/${OPENSSH_ROOT}.tar.gz
|
||||
|
||||
curl -LO https://github.com/openssh/openssh-portable/archive/${OPENSSH_ROOT}.tar.gz
|
||||
tar -xvf ${OPENSSH_ROOT}.tar.gz
|
||||
rm -f ${OPENSSH_ROOT}.tar.gz
|
||||
|
||||
|
@ -47,34 +47,19 @@ source $MY_DIR/utils.sh
|
||||
# copied from https://github.com/pypa/manylinux/tree/master/docker/build_scripts
|
||||
#
|
||||
|
||||
if [[ -z "${OPENSSL_VERSION}" ]]; then
|
||||
echo >&2 'error: OPENSSL_VERSION env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${OPENSSL_HASH}" ]]; then
|
||||
echo >&2 'error: OPENSSL_HASH env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${PERL_VERSION}" ]]; then
|
||||
echo >&2 'error: PERL_VERSION env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${PERL_HASH}" ]]; then
|
||||
echo >&2 'error: PERL_HASH env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Hash from https://www.openssl.org/source/openssl-1.1.1l.tar.gz.sha256
|
||||
OPENSSL_ROOT=openssl-1.1.1k
|
||||
# Hash from https://www.openssl.org/source/openssl-1.1.1k.tar.gz.sha256
|
||||
OPENSSL_HASH=892a0875b9872acd04a9fde79b1f943075d5ea162415de3047c327df33fbaee5
|
||||
OPENSSL_DOWNLOAD_URL=http://www.openssl.org/source/
|
||||
|
||||
# a recent enough perl is needed to build openssl
|
||||
PERL_ROOT=perl-5.32.1
|
||||
PERL_HASH=03b693901cd8ae807231b1787798cf1f2e0b8a56218d07b7da44f784a7caeb2c
|
||||
PERL_DOWNLOAD_URL=https://www.cpan.org/src/5.0
|
||||
|
||||
function do_perl_build {
|
||||
${WRAPPER} sh Configure -des -Dprefix=/opt/perl > /dev/null
|
||||
${WRAPPER} make -j"$(nproc)" > /dev/null
|
||||
${WRAPPER} make > /dev/null
|
||||
${WRAPPER} make install > /dev/null
|
||||
}
|
||||
|
||||
@ -84,13 +69,7 @@ function build_perl {
|
||||
local perl_sha256=$2
|
||||
check_var ${perl_sha256}
|
||||
check_var ${PERL_DOWNLOAD_URL}
|
||||
curl --connect-timeout 30 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 30 \
|
||||
-fsSLO ${PERL_DOWNLOAD_URL}/${perl_fname}.tar.gz
|
||||
|
||||
curl -fsSLO ${PERL_DOWNLOAD_URL}/${perl_fname}.tar.gz
|
||||
check_sha256sum ${perl_fname}.tar.gz ${perl_sha256}
|
||||
tar -xzf ${perl_fname}.tar.gz
|
||||
(cd ${perl_fname} && do_perl_build)
|
||||
@ -99,7 +78,7 @@ function build_perl {
|
||||
|
||||
function do_openssl_build {
|
||||
${WRAPPER} ./config no-shared -fPIC $CONFIG_FLAG --prefix=/usr/local/ssl --openssldir=/usr/local/ssl > /dev/null
|
||||
${WRAPPER} make -j"$(nproc)" > /dev/null
|
||||
${WRAPPER} make > /dev/null
|
||||
${WRAPPER} make install_sw > /dev/null
|
||||
}
|
||||
|
||||
@ -109,13 +88,7 @@ function build_openssl {
|
||||
local openssl_sha256=$2
|
||||
check_var ${openssl_sha256}
|
||||
check_var ${OPENSSL_DOWNLOAD_URL}
|
||||
curl --connect-timeout 30 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 30 \
|
||||
-fsSLO ${OPENSSL_DOWNLOAD_URL}/${openssl_fname}.tar.gz
|
||||
|
||||
curl -fsSLO ${OPENSSL_DOWNLOAD_URL}/${openssl_fname}.tar.gz
|
||||
check_sha256sum ${openssl_fname}.tar.gz ${openssl_sha256}
|
||||
tar -xzf ${openssl_fname}.tar.gz
|
||||
(cd ${openssl_fname} && PATH=/opt/perl/bin:${PATH} do_openssl_build)
|
||||
@ -125,8 +98,8 @@ function build_openssl {
|
||||
}
|
||||
|
||||
cd /usr/src
|
||||
build_perl "${PERL_VERSION}" "${PERL_HASH}"
|
||||
build_openssl "${OPENSSL_VERSION}" "${OPENSSL_HASH}"
|
||||
build_perl $PERL_ROOT $PERL_HASH
|
||||
build_openssl $OPENSSL_ROOT $OPENSSL_HASH
|
||||
|
||||
# Delete PERL
|
||||
rm -rf /opt/perl
|
||||
|
@ -1,42 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#
|
||||
# Configure, build and install python
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# build-and-install-python.sh [-version 3.9.5]
|
||||
# needed packages : libncurses5-dev libgdbm-dev libnss3-dev
|
||||
# libssl-dev libsqlite3-dev libreadline-dev libffi-dev libbz2-dev
|
||||
|
||||
PYTHON_VERSION=3.9.5
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
-version|-v)
|
||||
PYTHON_VERSION=$2
|
||||
shift
|
||||
;;&
|
||||
*)
|
||||
echo "Usage: Usage: ${0##*/} [-version 3.9.5]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Download
|
||||
wget "https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz"
|
||||
tar xvf "Python-${PYTHON_VERSION}.tgz"
|
||||
# Configure, build and install
|
||||
cd "Python-${PYTHON_VERSION}" || exit 1
|
||||
# Disable --enable-shared --enable-optimizations --prefix=/usr/local/python-${PYTHON_VERSION}
|
||||
./configure --with-ensurepip=install
|
||||
make -j"$(nproc) "
|
||||
make install #altinstall
|
||||
|
||||
ln -s /usr/local/bin/python3 /usr/local/bin/python
|
||||
ln -s /usr/local/bin/pip3 /usr/local/bin/pip
|
||||
|
||||
# Clean
|
||||
cd ..
|
||||
rm -rf "Python-${PYTHON_VERSION}"
|
@ -6,11 +6,11 @@ DEFAULT_DOCKCROSS_IMAGE=dockcross/base # DO NOT MOVE THIS LINE (see entrypoint.
|
||||
# Helpers
|
||||
#
|
||||
err() {
|
||||
echo -e >&2 "ERROR: $*\n"
|
||||
echo -e >&2 ERROR: $@\\n
|
||||
}
|
||||
|
||||
die() {
|
||||
err "$*"
|
||||
err $@
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -24,10 +24,10 @@ has() {
|
||||
|
||||
# If OCI_EXE is not already set, search for a container executor (OCI stands for "Open Container Initiative")
|
||||
if [ -z "$OCI_EXE" ]; then
|
||||
if which podman >/dev/null 2>/dev/null; then
|
||||
OCI_EXE=podman
|
||||
elif which docker >/dev/null 2>/dev/null; then
|
||||
if which docker >/dev/null 2>/dev/null; then
|
||||
OCI_EXE=docker
|
||||
elif which podman >/dev/null 2>/dev/null; then
|
||||
OCI_EXE=podman
|
||||
else
|
||||
die "Cannot find a container executor. Search for docker and podman."
|
||||
fi
|
||||
@ -41,20 +41,20 @@ command:update-image() {
|
||||
}
|
||||
|
||||
help:update-image() {
|
||||
echo "Pull the latest $FINAL_IMAGE ."
|
||||
echo Pull the latest $FINAL_IMAGE .
|
||||
}
|
||||
|
||||
command:update-script() {
|
||||
if cmp -s <( $OCI_EXE run --rm $FINAL_IMAGE ) $0; then
|
||||
echo "$0 is up to date"
|
||||
echo $0 is up to date
|
||||
else
|
||||
echo -n "Updating $0 ... "
|
||||
echo -n Updating $0 '... '
|
||||
$OCI_EXE run --rm $FINAL_IMAGE > $0 && echo ok
|
||||
fi
|
||||
}
|
||||
|
||||
help:update-script() {
|
||||
echo "Update $0 from $FINAL_IMAGE ."
|
||||
help:update-image() {
|
||||
echo Update $0 from $FINAL_IMAGE .
|
||||
}
|
||||
|
||||
command:update() {
|
||||
@ -63,7 +63,7 @@ command:update() {
|
||||
}
|
||||
|
||||
help:update() {
|
||||
echo "Pull the latest $FINAL_IMAGE, and then update $0 from that."
|
||||
echo Pull the latest $FINAL_IMAGE, and then update $0 from that.
|
||||
}
|
||||
|
||||
command:help() {
|
||||
@ -187,10 +187,8 @@ FINAL_ARGS=${ARG_ARGS-${DOCKCROSS_ARGS}}
|
||||
UBUNTU_ON_WINDOWS=$([ -e /proc/version ] && grep -l Microsoft /proc/version || echo "")
|
||||
# MSYS, Git Bash, etc.
|
||||
MSYS=$([ -e /proc/version ] && grep -l MINGW /proc/version || echo "")
|
||||
# CYGWIN
|
||||
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 )")
|
||||
fi
|
||||
|
||||
@ -211,11 +209,6 @@ elif [ -n "$MSYS" ]; then
|
||||
HOST_PWD=$PWD
|
||||
HOST_PWD=${HOST_PWD/\//}
|
||||
HOST_PWD=${HOST_PWD/\//:\/}
|
||||
elif [ -n "$CYGWIN" ]; then
|
||||
for f in pwd readlink cygpath ; do
|
||||
test -n "$(type "${f}" )" || { echo >&2 "Missing functionality (${f}) (in cygwin)." ; exit 1 ; } ;
|
||||
done ;
|
||||
HOST_PWD="$( cygpath -w "$( readlink -f "$( pwd ;)" ; )" ; )" ;
|
||||
else
|
||||
HOST_PWD=$PWD
|
||||
[ -L $HOST_PWD ] && HOST_PWD=$(readlink $HOST_PWD)
|
||||
@ -228,11 +221,7 @@ fi
|
||||
|
||||
HOST_VOLUMES=
|
||||
if [ -e "$SSH_DIR" -a -z "$MSYS" ]; then
|
||||
if test -n "${CYGWIN}" ; then
|
||||
HOST_VOLUMES+="-v $(cygpath -w ${SSH_DIR} ; ):/home/$(id -un)/.ssh" ;
|
||||
else
|
||||
HOST_VOLUMES+="-v $SSH_DIR:/home/$(id -un)/.ssh" ;
|
||||
fi ;
|
||||
HOST_VOLUMES+="-v $SSH_DIR:/home/$(id -un)/.ssh"
|
||||
fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
@ -7,13 +7,13 @@ if [[ $# == 0 ]]; then
|
||||
# Presumably the image has been run directly, so help the user get
|
||||
# started by outputting the dockcross script
|
||||
if [[ -n $DEFAULT_DOCKCROSS_IMAGE ]]; then
|
||||
head -n 2 /dockcross/dockcross.sh
|
||||
head -n 2 /dockcross/dockcross
|
||||
echo "DEFAULT_DOCKCROSS_IMAGE=$DEFAULT_DOCKCROSS_IMAGE"
|
||||
tail -n +4 /dockcross/dockcross.sh |
|
||||
tail -n +4 /dockcross/dockcross |
|
||||
sed -e "s@dockcross\/linux\-armv7@${DEFAULT_DOCKCROSS_IMAGE}@g" |
|
||||
sed -e "s@dockcross\-linux\-armv7@${DEFAULT_DOCKCROSS_IMAGE//[\/:]/-}@g"
|
||||
else
|
||||
cat /dockcross/dockcross.sh
|
||||
cat /dockcross/dockcross
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
@ -24,8 +24,8 @@ fi
|
||||
# The dockcross script sets the BUILDER_UID and BUILDER_GID vars.
|
||||
if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then
|
||||
|
||||
groupadd -o -g "$BUILDER_GID" "$BUILDER_GROUP" 2> /dev/null
|
||||
useradd -o -m -g "$BUILDER_GID" -u "$BUILDER_UID" "$BUILDER_USER" 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
|
||||
export HOME=/home/${BUILDER_USER}
|
||||
shopt -s dotglob
|
||||
cp -r /root/* $HOME/
|
||||
@ -37,8 +37,8 @@ if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then
|
||||
fi
|
||||
|
||||
# Enable passwordless sudo capabilities for the user
|
||||
chown root:$BUILDER_GID "$(which gosu)"
|
||||
chmod +s "$(which gosu)"; sync
|
||||
chown root:$BUILDER_GID $(which gosu)
|
||||
chmod +s $(which gosu); sync
|
||||
|
||||
# Execute project specific pre execution hook
|
||||
if [[ -e /work/.dockcross ]]; then
|
||||
|
@ -1,43 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -x
|
||||
set -e
|
||||
set -o pipefail
|
||||
|
||||
ROOT=${PWD}
|
||||
|
||||
usage() { echo "Usage: $0 -c <config-path> -v <version>" 1>&2; exit 1; }
|
||||
|
||||
REPO_URL="https://github.com/buildroot/buildroot.git"
|
||||
|
||||
CONFIG_PATH=""
|
||||
REV="2021.08-rc1"
|
||||
while getopts "c:v:" o; do
|
||||
case "${o}" in
|
||||
c)
|
||||
CONFIG_PATH=$(readlink -f ${OPTARG})
|
||||
;;
|
||||
v)
|
||||
REV=${OPTARG}
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
done
|
||||
shift $((OPTIND-1))
|
||||
|
||||
if [ -z ${CONFIG_PATH} ] || [ ! -f ${CONFIG_PATH} ]; then
|
||||
echo "ERROR: Missing config path (-c)."
|
||||
usage
|
||||
fi
|
||||
|
||||
if [ -z ${REV} ]; then
|
||||
echo "WARNING: No version selected, use default version: $REV (-v)."
|
||||
fi
|
||||
|
||||
|
||||
git clone "$REPO_URL" --recurse-submodules --remote-submodules #--branch="$REV"
|
||||
cd buildroot
|
||||
git checkout "$REV"
|
||||
cp "$CONFIG_PATH" .config
|
||||
make
|
@ -28,7 +28,7 @@ if ! command -v tar &> /dev/null; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${CMAKE_VERSION}" ]]; then
|
||||
if [[ "${CMAKE_VERSION}" == "" ]]; then
|
||||
echo >&2 'error: CMAKE_VERSION env. variable must be set to a non-empty value'
|
||||
exit 1
|
||||
fi
|
||||
@ -36,19 +36,17 @@ fi
|
||||
cd /usr/src
|
||||
|
||||
CMAKE_ROOT=cmake-${CMAKE_VERSION}-Centos5-${ARCH}
|
||||
url=https://github.com/dockbuild/CMake/releases/download/v${CMAKE_VERSION}/${CMAKE_ROOT}.tar.gz
|
||||
#Change the url when there is a new version (Currently 3.17.1 of April 2020)
|
||||
#url=https://github.com/dockbuild/CMake/releases/download/v${CMAKE_VERSION}/${CMAKE_ROOT}.tar.gz
|
||||
url=https://github.com/bensuperpc/CMake/releases/download/v${CMAKE_VERSION}/${CMAKE_ROOT}.tar.gz
|
||||
|
||||
echo "Downloading $url"
|
||||
curl --connect-timeout 30 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 30 \
|
||||
-# -LO $url
|
||||
curl -# -LO $url
|
||||
|
||||
tar -xzvf "${CMAKE_ROOT}.tar.gz"
|
||||
rm -f "${CMAKE_ROOT}.tar.gz"
|
||||
tar -xzvf ${CMAKE_ROOT}.tar.gz
|
||||
rm -f ${CMAKE_ROOT}.tar.gz
|
||||
|
||||
cd "${CMAKE_ROOT}"
|
||||
cd ${CMAKE_ROOT}
|
||||
|
||||
rm -rf doc man
|
||||
rm -rf bin/cmake-gui
|
||||
|
@ -16,7 +16,7 @@ set -o pipefail
|
||||
# be generated underneath of here.
|
||||
ROOT=${PWD}
|
||||
|
||||
usage() { echo "Usage: $0 -p <prefix> -c <config-path> -v <version>" 1>&2; exit 1; }
|
||||
usage() { echo "Usage: $0 -p <prefix> -c <config-path>" 1>&2; exit 1; }
|
||||
|
||||
# Resolve our input parameters.
|
||||
#
|
||||
@ -24,8 +24,7 @@ usage() { echo "Usage: $0 -p <prefix> -c <config-path> -v <version>" 1>&2; exit
|
||||
# change directories during installation.
|
||||
CT_PREFIX=
|
||||
CONFIG_PATH=
|
||||
REV=
|
||||
while getopts "p:c:v:" o; do
|
||||
while getopts "p:c:" o; do
|
||||
case "${o}" in
|
||||
p)
|
||||
CT_PREFIX=$(readlink -f ${OPTARG})
|
||||
@ -33,9 +32,6 @@ while getopts "p:c:v:" o; do
|
||||
c)
|
||||
CONFIG_PATH=$(readlink -f ${OPTARG})
|
||||
;;
|
||||
v)
|
||||
REV=${OPTARG}
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
@ -52,12 +48,6 @@ if [ -z ${CONFIG_PATH} ] || [ ! -f ${CONFIG_PATH} ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [ -z ${REV} ]; then
|
||||
echo "WARNING: No version selected, use default version: crosstool-ng-1.23.0 (-v)."
|
||||
REV=crosstool-ng-1.23.0
|
||||
fi
|
||||
|
||||
|
||||
##
|
||||
# Build "crosstool-ng".
|
||||
##
|
||||
@ -67,31 +57,28 @@ mkdir -p "${CTNG}"
|
||||
cd "${CTNG}"
|
||||
|
||||
# Download and install the "crosstool-ng" source.
|
||||
#REV=1.24.0
|
||||
#curl -# -LO \
|
||||
# "https://github.com/crosstool-ng/crosstool-ng/archive/crosstool-ng-${REV}.tar.gz"
|
||||
#tar -xf "crosstool-ng-${REV}.tar.gz"
|
||||
#patch crosstool-ng-crosstool-ng-1.23.0/scripts/build/companion_libs/210-expat.sh -i /dockcross/crosstool-ng-expat.patch
|
||||
#cd "crosstool-ng-crosstool-ng-${REV}"
|
||||
|
||||
# Download and install the "crosstool-ng" source.
|
||||
# crosstool-ng master 2021-05-12
|
||||
#COMMIT=f9716e8b9042eb14de85320987300aab99300df5
|
||||
|
||||
git clone https://github.com/crosstool-ng/crosstool-ng.git
|
||||
cd crosstool-ng
|
||||
git fetch --tags
|
||||
|
||||
# checkout
|
||||
git checkout ${REV}
|
||||
|
||||
if [ ${REV} = "crosstool-ng-1.23.0" ]; then
|
||||
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
|
||||
rm /dockcross/Fix-error-with-bash-5-and-up.patch
|
||||
rm /dockcross/crosstool-ng-expat.patch
|
||||
fi
|
||||
cd "crosstool-ng"
|
||||
#git checkout ${COMMIT}
|
||||
|
||||
# Bootstrap and install the tool.
|
||||
BOOTSTRAP_PREFIX="${CTNG}/prefix"
|
||||
./bootstrap
|
||||
./configure \
|
||||
--prefix "${BOOTSTRAP_PREFIX}"
|
||||
make -j"$(nproc)"
|
||||
make -j$(nproc)
|
||||
make install
|
||||
|
||||
##
|
||||
# Use "crosstool-ng" to build the toolchain.
|
||||
##
|
||||
@ -114,11 +101,11 @@ cp "${CONFIG_PATH}" "${BUILD}/.config"
|
||||
|
||||
# As mentioned in ct-ng config, need to unset LD_LIBRARY_PATH.
|
||||
unset LD_LIBRARY_PATH
|
||||
# Fix build error on manylinux2014-aarch64
|
||||
unset CC
|
||||
|
||||
# Need unset values on manylinux2014-aarch64
|
||||
unset CC
|
||||
unset CXX
|
||||
|
||||
# Build and install the toolchain!
|
||||
# Print last 250 lines if build fail
|
||||
"${BOOTSTRAP_PREFIX}/bin/ct-ng" build || (tail -250 build.log && exit 1)
|
||||
"${BOOTSTRAP_PREFIX}/bin/ct-ng" build
|
||||
|
||||
|
@ -16,7 +16,7 @@ gosu nobody true
|
||||
# is created in /usr/local/bin
|
||||
|
||||
cat << EOF >> /usr/local/bin/sudo
|
||||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
# Emulate the sudo command
|
||||
SUDO_USER=root
|
||||
SUDO_GROUP=root
|
||||
|
@ -14,7 +14,7 @@ if ! command -v gpg &> /dev/null; then
|
||||
fi
|
||||
|
||||
GOSU_VERSION=1.12
|
||||
dpkgArch=$(if test "$(uname -m)" = "x86_64"; then echo amd64; else echo i386; fi)
|
||||
dpkgArch=$(if test $(uname -m) = "x86_64"; then echo amd64; else echo i386; fi)
|
||||
url="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${dpkgArch}"
|
||||
url_key="https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-${dpkgArch}.asc"
|
||||
|
||||
@ -26,20 +26,10 @@ gpg --keyserver hkp://pgp.key-server.io:80 --recv-keys B42F6819007F00F88E364FD40
|
||||
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4
|
||||
|
||||
echo "Downloading $url"
|
||||
curl --connect-timeout 30 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 30 \
|
||||
-o /usr/local/bin/gosu -# -SL $url
|
||||
curl -o /usr/local/bin/gosu -# -SL $url
|
||||
|
||||
echo "Downloading $url_key"
|
||||
curl --connect-timeout 30 \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
--retry-delay 10 \
|
||||
--retry-max-time 30 \
|
||||
-o /usr/local/bin/gosu.asc -# -SL $url_key
|
||||
curl -o /usr/local/bin/gosu.asc -# -SL $url_key
|
||||
|
||||
gpg --verify /usr/local/bin/gosu.asc
|
||||
|
||||
|
@ -20,13 +20,15 @@ done
|
||||
|
||||
cd /tmp
|
||||
|
||||
# Todo: Need to update base image from Debian Stretch for the required Python
|
||||
# 3.6 or later
|
||||
curl -# -LO https://bootstrap.pypa.io/pip/get-pip.py
|
||||
# https://github.com/pypa/setuptools/issues/2993
|
||||
export SETUPTOOLS_USE_DISTUTILS=stdlib
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
#curl -# -LO https://bootstrap.pypa.io/pip/2.7/get-pip.py
|
||||
>>>>>>> 9adf96c16b00759a9f7f69be3e61b5e16cdd6ac4
|
||||
${PYTHON} get-pip.py --ignore-installed
|
||||
rm get-pip.py
|
||||
|
||||
${PYTHON} -m pip install --upgrade --ignore-installed setuptools
|
||||
${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
|
||||
${PYTHON} -m pip cache purge
|
||||
|
31
imagefiles/install-python2-packages.sh
Executable file
31
imagefiles/install-python2-packages.sh
Executable file
@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
set -o pipefail
|
||||
|
||||
PYTHON=python
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
-python)
|
||||
PYTHON=$2
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
echo "Usage: Usage: ${0##*/} [-python /path/to/bin/python]"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
cd /tmp
|
||||
|
||||
# Todo: Need to update base image from Debian Stretch for the required Python
|
||||
# 3.6 or later
|
||||
# curl -# -LO https://bootstrap.pypa.io/pip/get-pip.py
|
||||
curl -# -LO https://bootstrap.pypa.io/pip/2.6/get-pip.py
|
||||
${PYTHON} get-pip.py --ignore-installed
|
||||
rm get-pip.py
|
||||
|
||||
${PYTHON} -m pip install --upgrade --ignore-installed setuptools
|
||||
${PYTHON} -m pip install --ignore-installed conan
|
@ -1,28 +0,0 @@
|
||||
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
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- 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() {
|
@ -1,4 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Mount the PWD to enable access in try_run commands
|
||||
exec ${WASMER_DIR}/bin/wasmer run --dir=. --dir=$PWD "$@"
|
@ -1,4 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Mount the PWD to enable access in try_run commands
|
||||
exec ${WASMTIME_HOME}/bin/wasmtime run --dir=. --dir=$PWD "$@"
|
@ -1,44 +0,0 @@
|
||||
FROM dockcross/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
|
||||
# This is for 64-bit ARM Linux machine
|
||||
|
||||
# Buildroot version
|
||||
# buildroot master 2021-09-20
|
||||
ENV BR_VERSION d4877e6f88d5eea54dc74b855556ffc0dd3f399f
|
||||
|
||||
#include "common.buildroot"
|
||||
|
||||
# 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-buildroot-linux-gnu" target.
|
||||
ENV CROSS_TRIPLE aarch64-buildroot-linux-gnu
|
||||
ENV CROSS_ROOT /buildroot
|
||||
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"
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,14 +1,11 @@
|
||||
FROM dockcross/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# This is for ARMv5 "legacy" (armel) devices which do NOT support hard float
|
||||
# VFP instructions (armhf).
|
||||
# musleabi as default glibc
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
@ -18,8 +15,8 @@ RUN apt-get update \
|
||||
qemu-user-static \
|
||||
&& apt-get clean --yes
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "armv5-unknown-linux-musleabi" target.
|
||||
ENV CROSS_TRIPLE armv5-unknown-linux-musleabi
|
||||
# The CROSS_TRIPLE is a configured alias of the "arm-unknown-linux-musleabi" target.
|
||||
ENV CROSS_TRIPLE arm-unknown-linux-musleabi
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
@ -35,7 +32,7 @@ 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/arm-linux-musleabihf/
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-unknown-linux-musleabi/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
|
@ -1,7 +1,7 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
set(cross_triple "armv5-unknown-linux-musleabi")
|
||||
set(cross_triple "arm-unknown-linux-musleabi")
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
|
@ -1,14 +1,14 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# crosstool-NG 1.25.0.26_db6f703 Configuration
|
||||
# crosstool-NG UNKNOWN Configuration
|
||||
#
|
||||
CT_CONFIGURE_has_static_link=y
|
||||
CT_CONFIGURE_has_cxx11=y
|
||||
CT_CONFIGURE_has_lzip=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
|
||||
@ -20,18 +20,17 @@ 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.26_db6f703"
|
||||
CT_VERSION="UNKNOWN"
|
||||
CT_VCHECK=""
|
||||
CT_CONFIG_VERSION_ENV="4"
|
||||
CT_CONFIG_VERSION_CURRENT="4"
|
||||
CT_CONFIG_VERSION="4"
|
||||
CT_CONFIG_VERSION_ENV="3"
|
||||
CT_CONFIG_VERSION_CURRENT="3"
|
||||
CT_CONFIG_VERSION="3"
|
||||
CT_MODULES=y
|
||||
|
||||
#
|
||||
@ -103,7 +102,6 @@ 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=""
|
||||
@ -116,7 +114,7 @@ CT_CONFIG_SHELL="${bash}"
|
||||
#
|
||||
# Logging
|
||||
#
|
||||
# CT_LOG_ERROR is not set
|
||||
CT_LOG_ERROR=y
|
||||
# CT_LOG_WARN is not set
|
||||
# CT_LOG_INFO is not set
|
||||
CT_LOG_EXTRA=y
|
||||
@ -168,7 +166,7 @@ CT_ARCH_ARM_MODE_ARM=y
|
||||
CT_ARCH_ARM_EABI_FORCE=y
|
||||
CT_ARCH_ARM_EABI=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_ARCH_SUFFIX="v5"
|
||||
CT_ARCH_SUFFIX=""
|
||||
# CT_OMIT_TARGET_VENDOR is not set
|
||||
|
||||
#
|
||||
@ -257,7 +255,7 @@ CT_BUILD_SUFFIX=""
|
||||
#
|
||||
# Misc options
|
||||
#
|
||||
# CT_TOOLCHAIN_ENABLE_NLS is not set
|
||||
CT_TOOLCHAIN_ENABLE_NLS=y
|
||||
# end of Toolchain options
|
||||
|
||||
#
|
||||
@ -289,13 +287,7 @@ CT_LINUX_PATCH_GLOBAL=y
|
||||
# CT_LINUX_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_LINUX_PATCH_NONE is not set
|
||||
CT_LINUX_PATCH_ORDER="global"
|
||||
# CT_LINUX_V_5_17 is not set
|
||||
# CT_LINUX_V_5_16 is not set
|
||||
# CT_LINUX_V_5_15 is not set
|
||||
CT_LINUX_V_5_14=y
|
||||
# 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_11=y
|
||||
# CT_LINUX_V_5_10 is not set
|
||||
# CT_LINUX_V_5_9 is not set
|
||||
# CT_LINUX_V_5_8 is not set
|
||||
@ -326,29 +318,23 @@ CT_LINUX_V_5_14=y
|
||||
# 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="5.14.18"
|
||||
CT_LINUX_VERSION="5.11.6"
|
||||
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_later_than_5_12=y
|
||||
CT_LINUX_5_12_or_later=y
|
||||
CT_LINUX_later_than_5_5=y
|
||||
CT_LINUX_5_5_or_later=y
|
||||
CT_LINUX_later_than_5_3=y
|
||||
CT_LINUX_5_3_or_later=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_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"
|
||||
|
||||
#
|
||||
@ -372,7 +358,6 @@ CT_BINUTILS_BINUTILS_SHOW=y
|
||||
CT_BINUTILS_BINUTILS_PKG_KSYM="BINUTILS"
|
||||
CT_BINUTILS_DIR_NAME="binutils"
|
||||
CT_BINUTILS_USE_GNU=y
|
||||
# CT_BINUTILS_USE_LINARO is not set
|
||||
# CT_BINUTILS_USE_ORACLE is not set
|
||||
CT_BINUTILS_USE="BINUTILS"
|
||||
CT_BINUTILS_PKG_NAME="binutils"
|
||||
@ -386,9 +371,7 @@ CT_BINUTILS_PATCH_GLOBAL=y
|
||||
# CT_BINUTILS_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_BINUTILS_PATCH_NONE is not set
|
||||
CT_BINUTILS_PATCH_ORDER="global"
|
||||
# CT_BINUTILS_V_2_38 is not set
|
||||
CT_BINUTILS_V_2_37=y
|
||||
# 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_34 is not set
|
||||
# CT_BINUTILS_V_2_33 is not set
|
||||
@ -399,7 +382,7 @@ CT_BINUTILS_V_2_37=y
|
||||
# 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.37"
|
||||
CT_BINUTILS_VERSION="2.36.1"
|
||||
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}"
|
||||
@ -409,12 +392,18 @@ 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
|
||||
CT_BINUTILS_later_than_2_25=y
|
||||
CT_BINUTILS_2_25_or_later=y
|
||||
CT_BINUTILS_later_than_2_23=y
|
||||
CT_BINUTILS_2_23_or_later=y
|
||||
|
||||
#
|
||||
# GNU binutils
|
||||
#
|
||||
CT_BINUTILS_HAS_HASH_STYLE=y
|
||||
CT_BINUTILS_HAS_GOLD=y
|
||||
CT_BINUTILS_HAS_PLUGINS=y
|
||||
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
|
||||
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
|
||||
CT_BINUTILS_GOLD_SUPPORT=y
|
||||
# CT_BINUTILS_LINKER_LD is not set
|
||||
@ -440,9 +429,10 @@ CT_ALL_BINUTILS_CHOICES="BINUTILS"
|
||||
#
|
||||
# C-library
|
||||
#
|
||||
# CT_LIBC_BIONIC is not set
|
||||
# CT_LIBC_GLIBC is not set
|
||||
CT_LIBC_MUSL=y
|
||||
# CT_LIBC_UCLIBC_NG is not set
|
||||
# CT_LIBC_UCLIBC is not set
|
||||
CT_LIBC="musl"
|
||||
CT_LIBC_CHOICE_KSYM="MUSL"
|
||||
CT_THREADS="musl"
|
||||
@ -464,7 +454,6 @@ CT_MUSL_PATCH_GLOBAL=y
|
||||
# CT_MUSL_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_MUSL_PATCH_NONE is not set
|
||||
CT_MUSL_PATCH_ORDER="global"
|
||||
# CT_MUSL_V_1_2_3 is not set
|
||||
CT_MUSL_V_1_2_2=y
|
||||
# CT_MUSL_V_1_2_1 is not set
|
||||
# CT_MUSL_V_1_1_24 is not set
|
||||
@ -483,13 +472,13 @@ CT_MUSL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_MUSL_ARCHIVE_FORMATS=".tar.gz"
|
||||
CT_MUSL_SIGNATURE_FORMAT="packed/.asc"
|
||||
# CT_LIBC_MUSL_DEBUG is not set
|
||||
# CT_LIBC_MUSL_WARNINGS is not set
|
||||
CT_LIBC_MUSL_WARNINGS=y
|
||||
# CT_LIBC_MUSL_OPTIMIZE_NONE is not set
|
||||
CT_LIBC_MUSL_OPTIMIZE_AUTO=y
|
||||
# CT_LIBC_MUSL_OPTIMIZE_SPEED is not set
|
||||
# CT_LIBC_MUSL_OPTIMIZE_SIZE is not set
|
||||
CT_LIBC_MUSL_OPTIMIZE="auto"
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
|
||||
CT_LIBC_SUPPORT_THREADS_ANY=y
|
||||
CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||
|
||||
@ -504,7 +493,9 @@ CT_LIBC_XLDD=y
|
||||
#
|
||||
# C compiler
|
||||
#
|
||||
CT_CC_CORE_NEEDED=y
|
||||
CT_CC_CORE_PASSES_NEEDED=y
|
||||
CT_CC_CORE_PASS_1_NEEDED=y
|
||||
CT_CC_CORE_PASS_2_NEEDED=y
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
@ -523,6 +514,7 @@ CT_CC_GCC_PKG_KSYM="GCC"
|
||||
CT_GCC_DIR_NAME="gcc"
|
||||
CT_GCC_USE_GNU=y
|
||||
# CT_GCC_USE_LINARO is not set
|
||||
# CT_GCC_USE_ORACLE is not set
|
||||
CT_GCC_USE="GCC"
|
||||
CT_GCC_PKG_NAME="gcc"
|
||||
CT_GCC_SRC_RELEASE=y
|
||||
@ -535,7 +527,6 @@ CT_GCC_PATCH_GLOBAL=y
|
||||
# CT_GCC_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_GCC_PATCH_NONE is not set
|
||||
CT_GCC_PATCH_ORDER="global"
|
||||
# CT_GCC_V_12 is not set
|
||||
CT_GCC_V_11=y
|
||||
# CT_GCC_V_10 is not set
|
||||
# CT_GCC_V_9 is not set
|
||||
@ -544,20 +535,14 @@ CT_GCC_V_11=y
|
||||
# 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.3.0"
|
||||
CT_GCC_VERSION="11.1.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_12_or_older=y
|
||||
CT_GCC_older_than_12=y
|
||||
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
|
||||
@ -568,6 +553,8 @@ 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_later_than_4_8=y
|
||||
CT_GCC_4_8_or_later=y
|
||||
CT_CC_GCC_ENABLE_PLUGINS=y
|
||||
CT_CC_GCC_GOLD=y
|
||||
CT_CC_GCC_HAS_LIBMPX=y
|
||||
@ -575,7 +562,7 @@ 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_SYSTEM_ZLIB=y
|
||||
CT_CC_GCC_CONFIG_TLS=m
|
||||
|
||||
#
|
||||
@ -583,7 +570,6 @@ CT_CC_GCC_CONFIG_TLS=m
|
||||
#
|
||||
CT_CC_GCC_USE_GRAPHITE=y
|
||||
CT_CC_GCC_USE_LTO=y
|
||||
CT_CC_GCC_LTO_ZSTD=m
|
||||
|
||||
#
|
||||
# Settings for libraries running on target
|
||||
@ -598,11 +584,10 @@ CT_CC_GCC_LIBQUADMATH=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_BUILD_ID=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_GNU is not set
|
||||
@ -619,7 +604,7 @@ CT_ALL_CC_CHOICES="GCC"
|
||||
# Additional supported languages:
|
||||
#
|
||||
CT_CC_LANG_CXX=y
|
||||
# CT_CC_LANG_FORTRAN is not set
|
||||
CT_CC_LANG_FORTRAN=y
|
||||
# CT_CC_LANG_ADA is not set
|
||||
# CT_CC_LANG_OBJC is not set
|
||||
# CT_CC_LANG_OBJCXX is not set
|
||||
@ -630,10 +615,34 @@ CT_CC_LANG_OTHERS=""
|
||||
#
|
||||
# Debug facilities
|
||||
#
|
||||
# CT_DEBUG_DUMA is not set
|
||||
CT_DEBUG_DUMA=y
|
||||
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_SRC_CUSTOM is not set
|
||||
CT_DUMA_PATCH_GLOBAL=y
|
||||
# CT_DUMA_PATCH_BUNDLED is not set
|
||||
# CT_DUMA_PATCH_LOCAL is not set
|
||||
# CT_DUMA_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_DUMA_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_DUMA_PATCH_NONE 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_PKG_KSYM="GDB"
|
||||
CT_GDB_DIR_NAME="gdb"
|
||||
CT_GDB_USE_GNU=y
|
||||
CT_GDB_USE="GDB"
|
||||
CT_GDB_PKG_NAME="gdb"
|
||||
CT_GDB_SRC_RELEASE=y
|
||||
# CT_GDB_SRC_DEVEL is not set
|
||||
@ -645,37 +654,88 @@ CT_GDB_PATCH_GLOBAL=y
|
||||
# CT_GDB_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_GDB_PATCH_NONE is not set
|
||||
CT_GDB_PATCH_ORDER="global"
|
||||
CT_GDB_V_12=y
|
||||
# CT_GDB_V_11 is not set
|
||||
# CT_GDB_V_10 is not set
|
||||
# CT_GDB_V_9 is not set
|
||||
CT_GDB_V_9_2=y
|
||||
# CT_GDB_V_8_3 is not set
|
||||
CT_GDB_VERSION="12.1"
|
||||
# CT_GDB_V_8_2 is not set
|
||||
# CT_GDB_V_8_1 is not set
|
||||
# CT_GDB_V_8_0 is not set
|
||||
# CT_GDB_V_7_12 is not set
|
||||
# CT_GDB_V_7_11 is not set
|
||||
CT_GDB_VERSION="9.2"
|
||||
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
|
||||
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GDB_SIGNATURE_FORMAT=""
|
||||
CT_GDB_later_than_12=y
|
||||
CT_GDB_12_or_later=y
|
||||
CT_GDB_later_than_11=y
|
||||
CT_GDB_11_or_later=y
|
||||
CT_GDB_later_than_10=y
|
||||
CT_GDB_10_or_later=y
|
||||
CT_GDB_later_than_8_3=y
|
||||
CT_GDB_8_3_or_later=y
|
||||
CT_GDB_later_than_8_0=y
|
||||
CT_GDB_8_0_or_later=y
|
||||
CT_GDB_later_than_7_12=y
|
||||
CT_GDB_7_12_or_later=y
|
||||
CT_GDB_later_than_7_2=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_later_than_7_0=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_CROSS=y
|
||||
# CT_GDB_CROSS_STATIC is not set
|
||||
# CT_GDB_CROSS_SIM is not set
|
||||
# CT_GDB_CROSS_PYTHON is not set
|
||||
CT_GDB_CROSS_PYTHON_BINARY=""
|
||||
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||
# CT_GDB_NATIVE is not set
|
||||
CT_GDB_NATIVE=y
|
||||
CT_GDB_GDBSERVER=y
|
||||
# CT_GDB_NATIVE_STATIC is not set
|
||||
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
|
||||
CT_GDB_GDBSERVER_TOPLEVEL=y
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
# CT_GDB_HAS_PYTHON is not set
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
CT_GDB_HAS_IPA_LIB=y
|
||||
# CT_DEBUG_LTRACE is not set
|
||||
# CT_DEBUG_STRACE 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_SRC_CUSTOM is not set
|
||||
CT_STRACE_PATCH_GLOBAL=y
|
||||
# CT_STRACE_PATCH_BUNDLED is not set
|
||||
# CT_STRACE_PATCH_LOCAL is not set
|
||||
# CT_STRACE_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_STRACE_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_STRACE_PATCH_NONE is not set
|
||||
CT_STRACE_PATCH_ORDER="global"
|
||||
CT_STRACE_V_5_11=y
|
||||
# CT_STRACE_V_5_10 is not set
|
||||
# CT_STRACE_V_5_9 is not set
|
||||
# CT_STRACE_V_5_8 is not set
|
||||
# CT_STRACE_V_5_7 is not set
|
||||
# CT_STRACE_V_5_6 is not set
|
||||
# CT_STRACE_V_5_5 is not set
|
||||
# CT_STRACE_V_5_4 is not set
|
||||
# CT_STRACE_V_5_3 is not set
|
||||
# CT_STRACE_V_5_2 is not set
|
||||
# CT_STRACE_V_5_1 is not set
|
||||
# CT_STRACE_V_5_0 is not set
|
||||
# CT_STRACE_V_4_26 is not set
|
||||
# CT_STRACE_V_4_25 is not set
|
||||
# CT_STRACE_V_4_24 is not set
|
||||
# CT_STRACE_V_4_23 is not set
|
||||
# CT_STRACE_V_4_22 is not set
|
||||
# CT_STRACE_V_4_21 is not set
|
||||
# CT_STRACE_V_4_20 is not set
|
||||
# CT_STRACE_V_4_19 is not set
|
||||
# CT_STRACE_V_4_18 is not set
|
||||
# CT_STRACE_V_4_17 is not set
|
||||
# CT_STRACE_V_4_16 is not set
|
||||
# CT_STRACE_V_4_15 is not set
|
||||
CT_STRACE_VERSION="5.11"
|
||||
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
|
||||
|
||||
@ -683,7 +743,31 @@ CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
|
||||
# Companion libraries
|
||||
#
|
||||
# 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_SRC_CUSTOM is not set
|
||||
CT_CLOOG_PATCH_GLOBAL=y
|
||||
# CT_CLOOG_PATCH_BUNDLED is not set
|
||||
# CT_CLOOG_PATCH_LOCAL is not set
|
||||
# CT_CLOOG_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_CLOOG_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_CLOOG_PATCH_NONE 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 ftp://gcc.gnu.org/pub/gcc/infrastructure"
|
||||
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_CLOOG_0_18_4_or_later=y
|
||||
CT_CLOOG_0_18_4_or_older=y
|
||||
CT_CLOOG_later_than_0_18_1=y
|
||||
CT_CLOOG_0_18_1_or_later=y
|
||||
CT_COMP_LIBS_EXPAT=y
|
||||
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
|
||||
CT_EXPAT_DIR_NAME="expat"
|
||||
@ -698,14 +782,35 @@ CT_EXPAT_PATCH_GLOBAL=y
|
||||
# CT_EXPAT_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_EXPAT_PATCH_NONE is not set
|
||||
CT_EXPAT_PATCH_ORDER="global"
|
||||
CT_EXPAT_V_2_4=y
|
||||
CT_EXPAT_VERSION="2.4.1"
|
||||
CT_EXPAT_V_2_3=y
|
||||
CT_EXPAT_VERSION="2.3.0"
|
||||
CT_EXPAT_MIRRORS="http://downloads.sourceforge.net/project/expat/expat/${CT_EXPAT_VERSION} https://github.com/libexpat/libexpat/releases/download/R_${CT_EXPAT_VERSION//./_}"
|
||||
CT_EXPAT_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_EXPAT_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_EXPAT_ARCHIVE_FORMATS=".tar.xz .tar.lz .tar.bz2 .tar.gz"
|
||||
CT_EXPAT_SIGNATURE_FORMAT=""
|
||||
# CT_COMP_LIBS_GETTEXT is not set
|
||||
CT_COMP_LIBS_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_SRC_CUSTOM is not set
|
||||
CT_GETTEXT_PATCH_GLOBAL=y
|
||||
# CT_GETTEXT_PATCH_BUNDLED is not set
|
||||
# CT_GETTEXT_PATCH_LOCAL is not set
|
||||
# CT_GETTEXT_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_GETTEXT_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_GETTEXT_PATCH_NONE is not set
|
||||
CT_GETTEXT_PATCH_ORDER="global"
|
||||
CT_GETTEXT_V_0_20_1=y
|
||||
# CT_GETTEXT_V_0_19_8_1 is not set
|
||||
CT_GETTEXT_VERSION="0.20.1"
|
||||
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_COMP_LIBS_GMP=y
|
||||
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
|
||||
CT_GMP_DIR_NAME="gmp"
|
||||
@ -728,6 +833,11 @@ 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_GMP_later_than_5_1_0=y
|
||||
CT_GMP_5_1_0_or_later=y
|
||||
CT_GMP_later_than_5_0_0=y
|
||||
CT_GMP_5_0_0_or_later=y
|
||||
CT_GMP_REQUIRE_5_0_0_or_later=y
|
||||
CT_COMP_LIBS_ISL=y
|
||||
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
|
||||
CT_ISL_DIR_NAME="isl"
|
||||
@ -742,9 +852,7 @@ CT_ISL_PATCH_GLOBAL=y
|
||||
# CT_ISL_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_ISL_PATCH_NONE is not set
|
||||
CT_ISL_PATCH_ORDER="global"
|
||||
CT_ISL_V_0_24=y
|
||||
# CT_ISL_V_0_23 is not set
|
||||
# CT_ISL_V_0_22 is not set
|
||||
CT_ISL_V_0_22=y
|
||||
# CT_ISL_V_0_21 is not set
|
||||
# CT_ISL_V_0_20 is not set
|
||||
# CT_ISL_V_0_19 is not set
|
||||
@ -752,8 +860,8 @@ CT_ISL_V_0_24=y
|
||||
# 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_VERSION="0.22"
|
||||
CT_ISL_MIRRORS="http://isl.gforge.inria.fr"
|
||||
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
@ -762,8 +870,58 @@ CT_ISL_later_than_0_18=y
|
||||
CT_ISL_0_18_or_later=y
|
||||
CT_ISL_later_than_0_15=y
|
||||
CT_ISL_0_15_or_later=y
|
||||
# CT_COMP_LIBS_LIBELF is not set
|
||||
# CT_COMP_LIBS_LIBICONV is not set
|
||||
CT_ISL_REQUIRE_0_15_or_later=y
|
||||
CT_ISL_later_than_0_14=y
|
||||
CT_ISL_0_14_or_later=y
|
||||
CT_ISL_REQUIRE_0_14_or_later=y
|
||||
CT_ISL_later_than_0_13=y
|
||||
CT_ISL_0_13_or_later=y
|
||||
CT_ISL_later_than_0_12=y
|
||||
CT_ISL_0_12_or_later=y
|
||||
CT_ISL_REQUIRE_0_12_or_later=y
|
||||
CT_COMP_LIBS_LIBELF=y
|
||||
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_SRC_CUSTOM is not set
|
||||
CT_LIBELF_PATCH_GLOBAL=y
|
||||
# CT_LIBELF_PATCH_BUNDLED is not set
|
||||
# CT_LIBELF_PATCH_LOCAL is not set
|
||||
# CT_LIBELF_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_LIBELF_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_LIBELF_PATCH_NONE 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_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_SRC_CUSTOM is not set
|
||||
CT_LIBICONV_PATCH_GLOBAL=y
|
||||
# CT_LIBICONV_PATCH_BUNDLED is not set
|
||||
# CT_LIBICONV_PATCH_LOCAL is not set
|
||||
# CT_LIBICONV_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_LIBICONV_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_LIBICONV_PATCH_NONE 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"
|
||||
@ -781,7 +939,7 @@ 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_VERSION="1.2.0"
|
||||
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}"
|
||||
@ -814,6 +972,9 @@ 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_MPFR_later_than_3_0_0=y
|
||||
CT_MPFR_3_0_0_or_later=y
|
||||
CT_MPFR_REQUIRE_3_0_0_or_later=y
|
||||
CT_COMP_LIBS_NCURSES=y
|
||||
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
|
||||
CT_NCURSES_DIR_NAME="ncurses"
|
||||
@ -858,23 +1019,27 @@ CT_ZLIB_PATCH_GLOBAL=y
|
||||
# CT_ZLIB_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_ZLIB_PATCH_NONE is not set
|
||||
CT_ZLIB_PATCH_ORDER="global"
|
||||
CT_ZLIB_V_1_2_12=y
|
||||
CT_ZLIB_VERSION="1.2.12"
|
||||
CT_ZLIB_V_1_2_11=y
|
||||
CT_ZLIB_VERSION="1.2.11"
|
||||
CT_ZLIB_MIRRORS="http://downloads.sourceforge.net/project/libpng/zlib/${CT_ZLIB_VERSION} https://www.zlib.net/"
|
||||
CT_ZLIB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ZLIB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_ZLIB_SIGNATURE_FORMAT="packed/.asc"
|
||||
CT_ALL_COMP_LIBS_CHOICES="CLOOG EXPAT GETTEXT GMP GNUPRUMCU ISL LIBELF LIBICONV MPC MPFR NCURSES NEWLIB_NANO PICOLIBC ZLIB"
|
||||
# CT_LIBICONV_NEEDED is not set
|
||||
# CT_GETTEXT_NEEDED is not set
|
||||
CT_LIBICONV_NEEDED=y
|
||||
CT_GETTEXT_NEEDED=y
|
||||
CT_GMP_NEEDED=y
|
||||
CT_MPFR_NEEDED=y
|
||||
CT_ISL_NEEDED=y
|
||||
CT_MPC_NEEDED=y
|
||||
CT_EXPAT_NEEDED=y
|
||||
CT_EXPAT_TARGET=y
|
||||
CT_NCURSES_NEEDED=y
|
||||
CT_NCURSES_TARGET=y
|
||||
CT_ZLIB_NEEDED=y
|
||||
CT_LIBICONV=y
|
||||
CT_GETTEXT=y
|
||||
CT_GMP=y
|
||||
CT_MPFR=y
|
||||
CT_ISL=y
|
||||
@ -888,18 +1053,174 @@ CT_ZLIB=y
|
||||
# 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_COMP_TOOLS_AUTOCONF=y
|
||||
CT_COMP_TOOLS_AUTOCONF_PKG_KSYM="AUTOCONF"
|
||||
CT_AUTOCONF_DIR_NAME="autoconf"
|
||||
CT_AUTOCONF_PKG_NAME="autoconf"
|
||||
CT_AUTOCONF_SRC_RELEASE=y
|
||||
# CT_AUTOCONF_SRC_DEVEL is not set
|
||||
# CT_AUTOCONF_SRC_CUSTOM is not set
|
||||
CT_AUTOCONF_PATCH_GLOBAL=y
|
||||
# CT_AUTOCONF_PATCH_BUNDLED is not set
|
||||
# CT_AUTOCONF_PATCH_LOCAL is not set
|
||||
# CT_AUTOCONF_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_AUTOCONF_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_AUTOCONF_PATCH_NONE is not set
|
||||
CT_AUTOCONF_PATCH_ORDER="global"
|
||||
CT_AUTOCONF_V_2_69=y
|
||||
# CT_AUTOCONF_V_2_65 is not set
|
||||
CT_AUTOCONF_VERSION="2.69"
|
||||
CT_AUTOCONF_MIRRORS="$(CT_Mirrors GNU autoconf)"
|
||||
CT_AUTOCONF_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_AUTOCONF_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_AUTOCONF_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_AUTOCONF_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_COMP_TOOLS_AUTOMAKE=y
|
||||
CT_COMP_TOOLS_AUTOMAKE_PKG_KSYM="AUTOMAKE"
|
||||
CT_AUTOMAKE_DIR_NAME="automake"
|
||||
CT_AUTOMAKE_PKG_NAME="automake"
|
||||
CT_AUTOMAKE_SRC_RELEASE=y
|
||||
# CT_AUTOMAKE_SRC_DEVEL is not set
|
||||
# CT_AUTOMAKE_SRC_CUSTOM is not set
|
||||
CT_AUTOMAKE_PATCH_GLOBAL=y
|
||||
# CT_AUTOMAKE_PATCH_BUNDLED is not set
|
||||
# CT_AUTOMAKE_PATCH_LOCAL is not set
|
||||
# CT_AUTOMAKE_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_AUTOMAKE_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_AUTOMAKE_PATCH_NONE is not set
|
||||
CT_AUTOMAKE_PATCH_ORDER="global"
|
||||
CT_AUTOMAKE_V_1_16=y
|
||||
# CT_AUTOMAKE_V_1_15 is not set
|
||||
CT_AUTOMAKE_VERSION="1.16.1"
|
||||
CT_AUTOMAKE_MIRRORS="$(CT_Mirrors GNU automake)"
|
||||
CT_AUTOMAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_AUTOMAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_AUTOMAKE_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_AUTOMAKE_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_COMP_TOOLS_BISON=y
|
||||
CT_COMP_TOOLS_BISON_PKG_KSYM="BISON"
|
||||
CT_BISON_DIR_NAME="bison"
|
||||
CT_BISON_PKG_NAME="bison"
|
||||
CT_BISON_SRC_RELEASE=y
|
||||
# CT_BISON_SRC_DEVEL is not set
|
||||
# CT_BISON_SRC_CUSTOM is not set
|
||||
CT_BISON_PATCH_GLOBAL=y
|
||||
# CT_BISON_PATCH_BUNDLED is not set
|
||||
# CT_BISON_PATCH_LOCAL is not set
|
||||
# CT_BISON_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_BISON_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_BISON_PATCH_NONE is not set
|
||||
CT_BISON_PATCH_ORDER="global"
|
||||
CT_BISON_V_3_5=y
|
||||
# CT_BISON_V_3_4 is not set
|
||||
# CT_BISON_V_3_3 is not set
|
||||
# CT_BISON_V_3_2 is not set
|
||||
# CT_BISON_V_3_1 is not set
|
||||
# CT_BISON_V_3_0 is not set
|
||||
CT_BISON_VERSION="3.5"
|
||||
CT_BISON_MIRRORS="$(CT_Mirrors GNU bison)"
|
||||
CT_BISON_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_BISON_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_BISON_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_BISON_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_COMP_TOOLS_DTC=y
|
||||
CT_COMP_TOOLS_DTC_PKG_KSYM="DTC"
|
||||
CT_DTC_DIR_NAME="dtc"
|
||||
CT_DTC_PKG_NAME="dtc"
|
||||
CT_DTC_SRC_RELEASE=y
|
||||
# CT_DTC_SRC_DEVEL is not set
|
||||
# CT_DTC_SRC_CUSTOM is not set
|
||||
CT_DTC_PATCH_GLOBAL=y
|
||||
# CT_DTC_PATCH_BUNDLED is not set
|
||||
# CT_DTC_PATCH_LOCAL is not set
|
||||
# CT_DTC_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_DTC_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_DTC_PATCH_NONE is not set
|
||||
CT_DTC_PATCH_ORDER="global"
|
||||
CT_DTC_V_1_6=y
|
||||
# CT_DTC_V_1_5 is not set
|
||||
# CT_DTC_V_1_4 is not set
|
||||
CT_DTC_VERSION="1.6.0"
|
||||
CT_DTC_MIRRORS="$(CT_Mirrors kernel.org dtc)"
|
||||
CT_DTC_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_DTC_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_DTC_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_DTC_SIGNATURE_FORMAT="unpacked/.sign"
|
||||
# CT_DTC_VERBOSE is not set
|
||||
CT_COMP_TOOLS_LIBTOOL=y
|
||||
CT_COMP_TOOLS_LIBTOOL_PKG_KSYM="LIBTOOL"
|
||||
CT_LIBTOOL_DIR_NAME="libtool"
|
||||
CT_LIBTOOL_PKG_NAME="libtool"
|
||||
CT_LIBTOOL_SRC_RELEASE=y
|
||||
# CT_LIBTOOL_SRC_DEVEL is not set
|
||||
# CT_LIBTOOL_SRC_CUSTOM is not set
|
||||
CT_LIBTOOL_PATCH_GLOBAL=y
|
||||
# CT_LIBTOOL_PATCH_BUNDLED is not set
|
||||
# CT_LIBTOOL_PATCH_LOCAL is not set
|
||||
# CT_LIBTOOL_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_LIBTOOL_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_LIBTOOL_PATCH_NONE is not set
|
||||
CT_LIBTOOL_PATCH_ORDER="global"
|
||||
CT_LIBTOOL_V_2_4=y
|
||||
CT_LIBTOOL_VERSION="2.4.6"
|
||||
CT_LIBTOOL_MIRRORS="$(CT_Mirrors GNU libtool)"
|
||||
CT_LIBTOOL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_LIBTOOL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LIBTOOL_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_LIBTOOL_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_COMP_TOOLS_M4=y
|
||||
CT_COMP_TOOLS_M4_PKG_KSYM="M4"
|
||||
CT_M4_DIR_NAME="m4"
|
||||
CT_M4_PKG_NAME="m4"
|
||||
CT_M4_SRC_RELEASE=y
|
||||
# CT_M4_SRC_DEVEL is not set
|
||||
# CT_M4_SRC_CUSTOM is not set
|
||||
CT_M4_PATCH_GLOBAL=y
|
||||
# CT_M4_PATCH_BUNDLED is not set
|
||||
# CT_M4_PATCH_LOCAL is not set
|
||||
# CT_M4_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_M4_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_M4_PATCH_NONE is not set
|
||||
CT_M4_PATCH_ORDER="global"
|
||||
CT_M4_V_1_4=y
|
||||
CT_M4_VERSION="1.4.18"
|
||||
CT_M4_MIRRORS="$(CT_Mirrors GNU m4)"
|
||||
CT_M4_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_M4_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_M4_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
CT_M4_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_COMP_TOOLS_MAKE=y
|
||||
CT_COMP_TOOLS_MAKE_PKG_KSYM="MAKE"
|
||||
CT_MAKE_DIR_NAME="make"
|
||||
CT_MAKE_PKG_NAME="make"
|
||||
CT_MAKE_SRC_RELEASE=y
|
||||
# CT_MAKE_SRC_DEVEL is not set
|
||||
# CT_MAKE_SRC_CUSTOM is not set
|
||||
CT_MAKE_PATCH_GLOBAL=y
|
||||
# CT_MAKE_PATCH_BUNDLED is not set
|
||||
# CT_MAKE_PATCH_LOCAL is not set
|
||||
# CT_MAKE_PATCH_BUNDLED_LOCAL is not set
|
||||
# CT_MAKE_PATCH_LOCAL_BUNDLED is not set
|
||||
# CT_MAKE_PATCH_NONE is not set
|
||||
CT_MAKE_PATCH_ORDER="global"
|
||||
CT_MAKE_V_4_3=y
|
||||
# CT_MAKE_V_4_2 is not set
|
||||
CT_MAKE_VERSION="4.3"
|
||||
CT_MAKE_MIRRORS="$(CT_Mirrors GNU make)"
|
||||
CT_MAKE_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_MAKE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_MAKE_ARCHIVE_FORMATS=".tar.lz .tar.gz"
|
||||
CT_MAKE_SIGNATURE_FORMAT="packed/.sig"
|
||||
CT_MAKE_later_than_4_0=y
|
||||
CT_MAKE_4_0_or_later=y
|
||||
# CT_MAKE_GMAKE_SYMLINK is not set
|
||||
# CT_MAKE_GNUMAKE_SYMLINK is not set
|
||||
CT_ALL_COMP_TOOLS_CHOICES="AUTOCONF AUTOMAKE BISON DTC LIBTOOL M4 MAKE"
|
||||
# end of Companion tools
|
||||
|
||||
#
|
||||
# Test suite
|
||||
#
|
||||
# CT_TEST_SUITE_GCC is not set
|
||||
CT_TEST_SUITE=y
|
||||
CT_TEST_SUITE_GCC=y
|
||||
# end of Test suite
|
||||
|
@ -1,41 +0,0 @@
|
||||
FROM dockcross/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
|
||||
# This is for compiling binaries for arm routers with uclibc (e.g ddwrt, asuswrt)
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y \
|
||||
qemu-user \
|
||||
qemu-user-static \
|
||||
&& apt-get clean --yes
|
||||
|
||||
ENV CROSS_TRIPLE arm-unknown-linux-uclibcgnueabi
|
||||
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 /usr/lib/${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/{CROSS_ROOT}/pkgconfig/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
|
||||
#include "common.label-and-env"
|
@ -1,13 +1,10 @@
|
||||
FROM dockcross/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# This is for ARMv5 "legacy" (armel) devices which do NOT support hard float
|
||||
# VFP instructions (armhf).
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
@ -20,8 +17,8 @@ RUN apt-get update \
|
||||
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
||||
ENV CROSS_TRIPLE armv5-unknown-linux-gnueabi
|
||||
# The CROSS_TRIPLE is a configured alias of the "arm-unknown-linux-gnueabi" target.
|
||||
ENV CROSS_TRIPLE arm-unknown-linux-gnueabi
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
@ -37,7 +34,7 @@ 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/arm-linux-gnueabihf/
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-unknown-linux-gnueabi/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
|
@ -1,9 +1,8 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_root $ENV{CROSS_ROOT})
|
||||
set(cross_triple "arm-unknown-linux-gnueabi")
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
|
@ -1,14 +1,14 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# crosstool-NG 1.25.0.26_db6f703 Configuration
|
||||
# crosstool-NG UNKNOWN Configuration
|
||||
#
|
||||
CT_CONFIGURE_has_static_link=y
|
||||
CT_CONFIGURE_has_cxx11=y
|
||||
CT_CONFIGURE_has_lzip=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
|
||||
@ -20,18 +20,17 @@ 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.26_db6f703"
|
||||
CT_VERSION="UNKNOWN"
|
||||
CT_VCHECK=""
|
||||
CT_CONFIG_VERSION_ENV="4"
|
||||
CT_CONFIG_VERSION_CURRENT="4"
|
||||
CT_CONFIG_VERSION="4"
|
||||
CT_CONFIG_VERSION_ENV="3"
|
||||
CT_CONFIG_VERSION_CURRENT="3"
|
||||
CT_CONFIG_VERSION="3"
|
||||
CT_MODULES=y
|
||||
|
||||
#
|
||||
@ -56,7 +55,8 @@ CT_BUILD_TOP_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/.build}/${CT_HOST:+HOST-${CT_HOST
|
||||
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_REMOVE_DOCS is not set
|
||||
# CT_BUILD_MANUALS is not set
|
||||
CT_INSTALL_LICENSES=y
|
||||
CT_PREFIX_DIR_RO=y
|
||||
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
|
||||
@ -99,7 +99,6 @@ 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=""
|
||||
@ -112,7 +111,7 @@ CT_CONFIG_SHELL="${bash}"
|
||||
#
|
||||
# Logging
|
||||
#
|
||||
# CT_LOG_ERROR is not set
|
||||
CT_LOG_ERROR=y
|
||||
# CT_LOG_WARN is not set
|
||||
# CT_LOG_INFO is not set
|
||||
CT_LOG_EXTRA=y
|
||||
@ -144,7 +143,8 @@ CT_ARCH_ARM=y
|
||||
# CT_ARCH_XTENSA is not set
|
||||
CT_ARCH="arm"
|
||||
CT_ARCH_CHOICE_KSYM="ARM"
|
||||
CT_ARCH_CPU="arm926ej-s"
|
||||
CT_ARCH_CPU=""
|
||||
CT_ARCH_TUNE=""
|
||||
CT_ARCH_ARM_SHOW=y
|
||||
|
||||
#
|
||||
@ -158,7 +158,7 @@ CT_ARCH_ARM_MODE_ARM=y
|
||||
CT_ARCH_ARM_EABI_FORCE=y
|
||||
CT_ARCH_ARM_EABI=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_ARCH_SUFFIX="v5"
|
||||
CT_ARCH_SUFFIX=""
|
||||
# CT_OMIT_TARGET_VENDOR is not set
|
||||
|
||||
#
|
||||
@ -192,14 +192,15 @@ CT_ARCH_SUPPORTS_WITH_FLOAT=y
|
||||
CT_ARCH_SUPPORTS_WITH_FPU=y
|
||||
CT_ARCH_SUPPORTS_SOFTFP=y
|
||||
CT_ARCH_EXCLUSIVE_WITH_CPU=y
|
||||
CT_ARCH_FPU="vfp"
|
||||
CT_ARCH_FLOAT_AUTO=y
|
||||
CT_ARCH_ARCH=""
|
||||
CT_ARCH_FPU=""
|
||||
# CT_ARCH_FLOAT_AUTO is not set
|
||||
# CT_ARCH_FLOAT_HW is not set
|
||||
# CT_ARCH_FLOAT_SOFTFP is not set
|
||||
# CT_ARCH_FLOAT_SW is not set
|
||||
CT_ARCH_FLOAT_SW=y
|
||||
CT_TARGET_CFLAGS=""
|
||||
CT_TARGET_LDFLAGS=""
|
||||
CT_ARCH_FLOAT="auto"
|
||||
CT_ARCH_FLOAT="soft"
|
||||
# end of Target options
|
||||
|
||||
#
|
||||
@ -223,7 +224,7 @@ CT_TOOLCHAIN_BUGURL=""
|
||||
#
|
||||
# Tuple completion and aliasing
|
||||
#
|
||||
CT_TARGET_VENDOR=""
|
||||
CT_TARGET_VENDOR="unknown"
|
||||
CT_TARGET_ALIAS_SED_EXPR=""
|
||||
CT_TARGET_ALIAS=""
|
||||
|
||||
@ -244,7 +245,7 @@ CT_BUILD_SUFFIX=""
|
||||
#
|
||||
# Misc options
|
||||
#
|
||||
# CT_TOOLCHAIN_ENABLE_NLS is not set
|
||||
CT_TOOLCHAIN_ENABLE_NLS=y
|
||||
# end of Toolchain options
|
||||
|
||||
#
|
||||
@ -269,13 +270,7 @@ 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_17 is not set
|
||||
# CT_LINUX_V_5_16 is not set
|
||||
# CT_LINUX_V_5_15 is not set
|
||||
CT_LINUX_V_5_14=y
|
||||
# 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_11=y
|
||||
# CT_LINUX_V_5_10 is not set
|
||||
# CT_LINUX_V_5_9 is not set
|
||||
# CT_LINUX_V_5_8 is not set
|
||||
@ -305,18 +300,12 @@ CT_LINUX_V_5_14=y
|
||||
# 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="5.14.18"
|
||||
CT_LINUX_VERSION="5.11.6"
|
||||
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_later_than_5_12=y
|
||||
CT_LINUX_5_12_or_later=y
|
||||
CT_LINUX_later_than_5_5=y
|
||||
CT_LINUX_5_5_or_later=y
|
||||
CT_LINUX_later_than_5_3=y
|
||||
CT_LINUX_5_3_or_later=y
|
||||
CT_LINUX_later_than_4_8=y
|
||||
CT_LINUX_4_8_or_later=y
|
||||
CT_LINUX_later_than_3_7=y
|
||||
@ -324,11 +313,11 @@ 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"
|
||||
|
||||
#
|
||||
@ -358,9 +347,7 @@ 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 is not set
|
||||
CT_BINUTILS_V_2_37=y
|
||||
# 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_34 is not set
|
||||
# CT_BINUTILS_V_2_33 is not set
|
||||
@ -371,7 +358,7 @@ CT_BINUTILS_V_2_37=y
|
||||
# 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.37"
|
||||
CT_BINUTILS_VERSION="2.36.1"
|
||||
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}"
|
||||
@ -381,12 +368,19 @@ 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
|
||||
CT_BINUTILS_later_than_2_25=y
|
||||
CT_BINUTILS_2_25_or_later=y
|
||||
CT_BINUTILS_REQUIRE_2_25_or_later=y
|
||||
CT_BINUTILS_later_than_2_23=y
|
||||
CT_BINUTILS_2_23_or_later=y
|
||||
|
||||
#
|
||||
# GNU binutils
|
||||
#
|
||||
CT_BINUTILS_HAS_HASH_STYLE=y
|
||||
CT_BINUTILS_HAS_GOLD=y
|
||||
CT_BINUTILS_HAS_PLUGINS=y
|
||||
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
|
||||
CT_BINUTILS_GOLD_SUPPORTS_ARCH=y
|
||||
CT_BINUTILS_GOLD_SUPPORT=y
|
||||
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
|
||||
@ -410,9 +404,10 @@ CT_ALL_BINUTILS_CHOICES="BINUTILS"
|
||||
# C-library
|
||||
#
|
||||
CT_LIBC_GLIBC=y
|
||||
# CT_LIBC_UCLIBC_NG is not set
|
||||
# CT_LIBC_UCLIBC is not set
|
||||
CT_LIBC="glibc"
|
||||
CT_LIBC_CHOICE_KSYM="GLIBC"
|
||||
CT_THREADS="nptl"
|
||||
CT_LIBC_GLIBC_SHOW=y
|
||||
|
||||
#
|
||||
@ -427,9 +422,7 @@ 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=y
|
||||
# CT_GLIBC_V_2_33 is not set
|
||||
CT_GLIBC_V_2_33=y
|
||||
# CT_GLIBC_V_2_32 is not set
|
||||
# CT_GLIBC_V_2_31 is not set
|
||||
# CT_GLIBC_V_2_30 is not set
|
||||
@ -442,18 +435,15 @@ CT_GLIBC_V_2_34=y
|
||||
# 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.34"
|
||||
# CT_GLIBC_V_2_12_1 is not set
|
||||
CT_GLIBC_VERSION="2.33"
|
||||
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_later=y
|
||||
CT_GLIBC_2_34_or_older=y
|
||||
CT_GLIBC_later_than_2_32=y
|
||||
CT_GLIBC_2_32_or_later=y
|
||||
CT_GLIBC_later_than_2_31=y
|
||||
CT_GLIBC_2_31_or_later=y
|
||||
CT_GLIBC_later_than_2_30=y
|
||||
CT_GLIBC_2_30_or_later=y
|
||||
CT_GLIBC_later_than_2_29=y
|
||||
@ -480,7 +470,6 @@ CT_GLIBC_DEP_KERNEL_HEADERS_VERSION=y
|
||||
CT_GLIBC_DEP_BINUTILS=y
|
||||
CT_GLIBC_DEP_GCC=y
|
||||
CT_GLIBC_DEP_PYTHON=y
|
||||
CT_THREADS="nptl"
|
||||
CT_GLIBC_BUILD_SSP=y
|
||||
CT_GLIBC_HAS_LIBIDN_ADDON=y
|
||||
# CT_GLIBC_USE_LIBIDN_ADDON is not set
|
||||
@ -493,18 +482,16 @@ 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="4.10.0"
|
||||
CT_GLIBC_MIN_KERNEL="4.10.0"
|
||||
CT_GLIBC_KERNEL_VERSION_AS_HEADERS=y
|
||||
# CT_GLIBC_KERNEL_VERSION_CHOSEN is not set
|
||||
CT_GLIBC_MIN_KERNEL="5.11.6"
|
||||
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 is not set
|
||||
# CT_GLIBC_ENABLE_COMMON_FLAG is not set
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC_NG"
|
||||
CT_ALL_LIBC_CHOICES="AVR_LIBC BIONIC GLIBC MINGW_W64 MOXIEBOX MUSL NEWLIB NONE UCLIBC"
|
||||
CT_LIBC_SUPPORT_THREADS_ANY=y
|
||||
CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||
|
||||
@ -519,7 +506,9 @@ CT_LIBC_XLDD=y
|
||||
#
|
||||
# C compiler
|
||||
#
|
||||
CT_CC_CORE_NEEDED=y
|
||||
CT_CC_CORE_PASSES_NEEDED=y
|
||||
CT_CC_CORE_PASS_1_NEEDED=y
|
||||
CT_CC_CORE_PASS_2_NEEDED=y
|
||||
CT_CC_SUPPORT_CXX=y
|
||||
CT_CC_SUPPORT_FORTRAN=y
|
||||
CT_CC_SUPPORT_ADA=y
|
||||
@ -537,32 +526,26 @@ CT_CC_GCC_SHOW=y
|
||||
CT_CC_GCC_PKG_KSYM="GCC"
|
||||
CT_GCC_DIR_NAME="gcc"
|
||||
CT_GCC_USE_GNU=y
|
||||
# CT_GCC_USE_ORACLE is not set
|
||||
CT_GCC_USE="GCC"
|
||||
CT_GCC_PKG_NAME="gcc"
|
||||
CT_GCC_SRC_RELEASE=y
|
||||
# CT_GCC_SRC_DEVEL is not set
|
||||
CT_GCC_PATCH_ORDER="global"
|
||||
# CT_GCC_V_12 is not set
|
||||
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_VERSION="11.3.0"
|
||||
CT_GCC_VERSION="11.1.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_12_or_older=y
|
||||
CT_GCC_older_than_12=y
|
||||
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
|
||||
@ -576,6 +559,8 @@ CT_GCC_REQUIRE_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_GCC_later_than_4_8=y
|
||||
CT_GCC_4_8_or_later=y
|
||||
CT_CC_GCC_ENABLE_PLUGINS=y
|
||||
CT_CC_GCC_GOLD=y
|
||||
CT_CC_GCC_HAS_LIBMPX=y
|
||||
@ -583,7 +568,7 @@ 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=y
|
||||
# CT_CC_GCC_SYSTEM_ZLIB is not set
|
||||
CT_CC_GCC_CONFIG_TLS=m
|
||||
|
||||
#
|
||||
@ -591,32 +576,30 @@ CT_CC_GCC_CONFIG_TLS=m
|
||||
#
|
||||
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=y
|
||||
CT_CC_GCC_LIBGOMP=y
|
||||
CT_CC_GCC_LIBSSP=m
|
||||
CT_CC_GCC_LIBQUADMATH=y
|
||||
CT_CC_GCC_LIBSANITIZER=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
|
||||
|
||||
#
|
||||
# Misc. obscure options.
|
||||
#
|
||||
CT_CC_CXA_ATEXIT=y
|
||||
CT_CC_GCC_TM_CLONE_REGISTRY=m
|
||||
CT_CC_GCC_DISABLE_PCH=y
|
||||
CT_CC_GCC_SJLJ_EXCEPTIONS=m
|
||||
# CT_CC_GCC_DISABLE_PCH is not set
|
||||
# CT_CC_GCC_SJLJ_EXCEPTIONS is not set
|
||||
CT_CC_GCC_LDBL_128=m
|
||||
CT_CC_GCC_BUILD_ID=y
|
||||
# CT_CC_GCC_LNK_HASH_STYLE_DEFAULT is not set
|
||||
# CT_CC_GCC_BUILD_ID is not set
|
||||
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
|
||||
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
|
||||
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
|
||||
CT_CC_GCC_LNK_HASH_STYLE_BOTH=y
|
||||
CT_CC_GCC_LNK_HASH_STYLE="both"
|
||||
# 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
|
||||
@ -628,51 +611,133 @@ CT_ALL_CC_CHOICES="GCC"
|
||||
# Additional supported languages:
|
||||
#
|
||||
CT_CC_LANG_CXX=y
|
||||
CT_CC_LANG_FORTRAN=y
|
||||
# CT_CC_LANG_FORTRAN is not set
|
||||
# end of C compiler
|
||||
|
||||
#
|
||||
# Debug facilities
|
||||
#
|
||||
# CT_DEBUG_DUMA is not set
|
||||
CT_DEBUG_DUMA=y
|
||||
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_PKG_KSYM="GDB"
|
||||
CT_GDB_DIR_NAME="gdb"
|
||||
CT_GDB_USE_GNU=y
|
||||
CT_GDB_USE="GDB"
|
||||
CT_GDB_PKG_NAME="gdb"
|
||||
CT_GDB_SRC_RELEASE=y
|
||||
# CT_GDB_SRC_DEVEL is not set
|
||||
CT_GDB_PATCH_ORDER="global"
|
||||
CT_GDB_V_12=y
|
||||
# CT_GDB_V_11 is not set
|
||||
# CT_GDB_V_10 is not set
|
||||
# CT_GDB_V_9 is not set
|
||||
CT_GDB_V_9_2=y
|
||||
# CT_GDB_V_8_3 is not set
|
||||
CT_GDB_VERSION="12.1"
|
||||
# CT_GDB_V_8_2 is not set
|
||||
# CT_GDB_V_8_1 is not set
|
||||
# CT_GDB_V_8_0 is not set
|
||||
# CT_GDB_V_7_12 is not set
|
||||
# CT_GDB_V_7_11 is not set
|
||||
CT_GDB_VERSION="9.2"
|
||||
CT_GDB_MIRRORS="$(CT_Mirrors GNU gdb) $(CT_Mirrors sourceware gdb/releases)"
|
||||
CT_GDB_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_GDB_ARCHIVE_FORMATS=".tar.xz .tar.gz"
|
||||
CT_GDB_SIGNATURE_FORMAT=""
|
||||
CT_GDB_later_than_12=y
|
||||
CT_GDB_12_or_later=y
|
||||
CT_GDB_later_than_11=y
|
||||
CT_GDB_11_or_later=y
|
||||
CT_GDB_later_than_10=y
|
||||
CT_GDB_10_or_later=y
|
||||
CT_GDB_later_than_8_3=y
|
||||
CT_GDB_8_3_or_later=y
|
||||
CT_GDB_later_than_8_0=y
|
||||
CT_GDB_8_0_or_later=y
|
||||
CT_GDB_later_than_7_12=y
|
||||
CT_GDB_7_12_or_later=y
|
||||
CT_GDB_later_than_7_2=y
|
||||
CT_GDB_7_2_or_later=y
|
||||
CT_GDB_later_than_7_0=y
|
||||
CT_GDB_7_0_or_later=y
|
||||
CT_GDB_CROSS=y
|
||||
# CT_GDB_CROSS_STATIC is not set
|
||||
# CT_GDB_CROSS_SIM is not set
|
||||
<<<<<<< HEAD
|
||||
# CT_GDB_CROSS_PYTHON is not set
|
||||
=======
|
||||
CT_GDB_CROSS_PYTHON=n
|
||||
CT_GDB_CROSS_PYTHON_BINARY=""
|
||||
>>>>>>> 9adf96c16b00759a9f7f69be3e61b5e16cdd6ac4
|
||||
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||
# CT_GDB_NATIVE is not set
|
||||
CT_GDB_NATIVE=y
|
||||
CT_GDB_GDBSERVER=y
|
||||
# CT_GDB_NATIVE_BUILD_IPA_LIB is not set
|
||||
# CT_GDB_NATIVE_STATIC_LIBSTDCXX is not set
|
||||
CT_GDB_GDBSERVER_TOPLEVEL=y
|
||||
# CT_DEBUG_LTRACE is not set
|
||||
# CT_DEBUG_STRACE is not set
|
||||
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||
<<<<<<< HEAD
|
||||
# CT_GDB_HAS_PYTHON is not set
|
||||
=======
|
||||
CT_GDB_HAS_PYTHON=n
|
||||
>>>>>>> 9adf96c16b00759a9f7f69be3e61b5e16cdd6ac4
|
||||
CT_GDB_INSTALL_GDBINIT=y
|
||||
CT_GDB_HAS_IPA_LIB=y
|
||||
CT_DEBUG_LTRACE=y
|
||||
CT_DEBUG_LTRACE_PKG_KSYM="LTRACE"
|
||||
CT_LTRACE_DIR_NAME="ltrace"
|
||||
CT_LTRACE_PKG_NAME="ltrace"
|
||||
CT_LTRACE_SRC_RELEASE=y
|
||||
# CT_LTRACE_SRC_DEVEL is not set
|
||||
CT_LTRACE_PATCH_ORDER="global"
|
||||
CT_LTRACE_V_0_7_3=y
|
||||
CT_LTRACE_VERSION="0.7.3"
|
||||
CT_LTRACE_MIRRORS="http://ftp.debian.org/debian/pool/main/l/ltrace ftp://ftp.debian.org/debian/pool/main/l/ltrace"
|
||||
CT_LTRACE_ARCHIVE_FILENAME="@{pkg_name}_@{version}.orig"
|
||||
CT_LTRACE_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_LTRACE_ARCHIVE_FORMATS=".tar.bz2"
|
||||
CT_LTRACE_SIGNATURE_FORMAT=""
|
||||
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_11=y
|
||||
# CT_STRACE_V_5_10 is not set
|
||||
# CT_STRACE_V_5_9 is not set
|
||||
# CT_STRACE_V_5_8 is not set
|
||||
# CT_STRACE_V_5_7 is not set
|
||||
# CT_STRACE_V_5_6 is not set
|
||||
# CT_STRACE_V_5_5 is not set
|
||||
# CT_STRACE_V_5_4 is not set
|
||||
# CT_STRACE_V_5_3 is not set
|
||||
# CT_STRACE_V_5_2 is not set
|
||||
# CT_STRACE_V_5_1 is not set
|
||||
# CT_STRACE_V_5_0 is not set
|
||||
# CT_STRACE_V_4_26 is not set
|
||||
# CT_STRACE_V_4_25 is not set
|
||||
# CT_STRACE_V_4_24 is not set
|
||||
# CT_STRACE_V_4_23 is not set
|
||||
# CT_STRACE_V_4_22 is not set
|
||||
# CT_STRACE_V_4_21 is not set
|
||||
# CT_STRACE_V_4_20 is not set
|
||||
# CT_STRACE_V_4_19 is not set
|
||||
# CT_STRACE_V_4_18 is not set
|
||||
# CT_STRACE_V_4_17 is not set
|
||||
# CT_STRACE_V_4_16 is not set
|
||||
# CT_STRACE_V_4_15 is not set
|
||||
CT_STRACE_VERSION="5.11"
|
||||
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
|
||||
|
||||
@ -680,20 +745,7 @@ CT_ALL_DEBUG_CHOICES="DUMA GDB LTRACE STRACE"
|
||||
# Companion libraries
|
||||
#
|
||||
# CT_COMPLIBS_CHECK 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_CLOOG is not set
|
||||
CT_COMP_LIBS_EXPAT=y
|
||||
CT_COMP_LIBS_EXPAT_PKG_KSYM="EXPAT"
|
||||
CT_EXPAT_DIR_NAME="expat"
|
||||
@ -701,8 +753,8 @@ 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_V_2_3=y
|
||||
CT_EXPAT_VERSION="2.3.0"
|
||||
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}"
|
||||
@ -715,7 +767,6 @@ 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 is not set
|
||||
CT_GETTEXT_V_0_20_1=y
|
||||
# CT_GETTEXT_V_0_19_8_1 is not set
|
||||
CT_GETTEXT_VERSION="0.20.1"
|
||||
@ -724,8 +775,6 @@ 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_older=y
|
||||
CT_GETTEXT_older_than_0_21=y
|
||||
CT_COMP_LIBS_GMP=y
|
||||
CT_COMP_LIBS_GMP_PKG_KSYM="GMP"
|
||||
CT_GMP_DIR_NAME="gmp"
|
||||
@ -741,6 +790,11 @@ 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_GMP_later_than_5_1_0=y
|
||||
CT_GMP_5_1_0_or_later=y
|
||||
CT_GMP_later_than_5_0_0=y
|
||||
CT_GMP_5_0_0_or_later=y
|
||||
CT_GMP_REQUIRE_5_0_0_or_later=y
|
||||
CT_COMP_LIBS_ISL=y
|
||||
CT_COMP_LIBS_ISL_PKG_KSYM="ISL"
|
||||
CT_ISL_DIR_NAME="isl"
|
||||
@ -748,9 +802,7 @@ 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_22=y
|
||||
# CT_ISL_V_0_21 is not set
|
||||
# CT_ISL_V_0_20 is not set
|
||||
# CT_ISL_V_0_19 is not set
|
||||
@ -758,8 +810,8 @@ CT_ISL_V_0_24=y
|
||||
# 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_VERSION="0.22"
|
||||
CT_ISL_MIRRORS="http://isl.gforge.inria.fr"
|
||||
CT_ISL_ARCHIVE_FILENAME="@{pkg_name}-@{version}"
|
||||
CT_ISL_ARCHIVE_DIRNAME="@{pkg_name}-@{version}"
|
||||
CT_ISL_ARCHIVE_FORMATS=".tar.xz .tar.bz2 .tar.gz"
|
||||
@ -768,7 +820,29 @@ 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_ISL_REQUIRE_0_15_or_later=y
|
||||
CT_ISL_later_than_0_14=y
|
||||
CT_ISL_0_14_or_later=y
|
||||
CT_ISL_REQUIRE_0_14_or_later=y
|
||||
CT_ISL_later_than_0_13=y
|
||||
CT_ISL_0_13_or_later=y
|
||||
CT_ISL_later_than_0_12=y
|
||||
CT_ISL_0_12_or_later=y
|
||||
CT_ISL_REQUIRE_0_12_or_later=y
|
||||
CT_COMP_LIBS_LIBELF=y
|
||||
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_PKG_KSYM="LIBICONV"
|
||||
CT_LIBICONV_DIR_NAME="libiconv"
|
||||
@ -794,7 +868,7 @@ 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_VERSION="1.2.0"
|
||||
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}"
|
||||
@ -820,6 +894,9 @@ 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_MPFR_later_than_3_0_0=y
|
||||
CT_MPFR_3_0_0_or_later=y
|
||||
CT_MPFR_REQUIRE_3_0_0_or_later=y
|
||||
CT_COMP_LIBS_NCURSES=y
|
||||
CT_COMP_LIBS_NCURSES_PKG_KSYM="NCURSES"
|
||||
CT_NCURSES_DIR_NAME="ncurses"
|
||||
@ -836,7 +913,6 @@ 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"
|
||||
@ -850,8 +926,8 @@ 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_V_1_2_11=y
|
||||
CT_ZLIB_VERSION="1.2.11"
|
||||
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}"
|
||||
@ -864,8 +940,11 @@ CT_GMP_NEEDED=y
|
||||
CT_MPFR_NEEDED=y
|
||||
CT_ISL_NEEDED=y
|
||||
CT_MPC_NEEDED=y
|
||||
CT_LIBELF_TARGET=y
|
||||
CT_EXPAT_NEEDED=y
|
||||
CT_EXPAT_TARGET=y
|
||||
CT_NCURSES_NEEDED=y
|
||||
CT_NCURSES_TARGET=y
|
||||
CT_ZLIB_NEEDED=y
|
||||
CT_LIBICONV=y
|
||||
CT_GETTEXT=y
|
||||
|
@ -1,4 +1,6 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
ENV XCC_PREFIX /usr/xcc
|
||||
ENV CROSS_TRIPLE armv6-linux-musleabihf
|
||||
@ -24,16 +26,4 @@ ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
ARG IMAGE=dockcross/linux-armv6-musl
|
||||
ARG VERSION=latest
|
||||
ARG VCS_REF
|
||||
ARG VCS_URL
|
||||
LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.name=$IMAGE \
|
||||
org.label-schema.version=$VERSION \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
||||
#include "common.label-and-env"
|
||||
|
52
linux-armv6-rpi-old/Dockerfile.in
Normal file
52
linux-armv6-rpi-old/Dockerfile.in
Normal file
@ -0,0 +1,52 @@
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# Enable 32 bits binaries
|
||||
RUN dpkg --add-architecture i386 && \
|
||||
apt-get update && \
|
||||
apt-get install -y libstdc++6:i386 libgcc1:i386 zlib1g:i386
|
||||
|
||||
# The cross-compiling emulator
|
||||
RUN apt-get update && apt-get install -y \
|
||||
qemu-user \
|
||||
qemu-user-static
|
||||
|
||||
ENV CROSS_TRIPLE arm-linux-gnueabihf
|
||||
ENV CROSS_ROOT /usr/${CROSS_TRIPLE}
|
||||
ENV AS=/usr/bin/${CROSS_TRIPLE}-as \
|
||||
AR=/usr/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=/usr/bin/${CROSS_TRIPLE}-gcc \
|
||||
CPP=/usr/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=/usr/bin/${CROSS_TRIPLE}-g++ \
|
||||
LD=/usr/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=/usr/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
# Raspberry Pi is ARMv6+VFP2, Debian armhf is ARMv7+VFP3
|
||||
# Since this Dockerfile is targeting linux-arm from Raspberry Pi onward,
|
||||
# we're sticking with it's custom built cross-compiler with hardfp support.
|
||||
# We could use Debian's armel, but we'd have softfp and loose a good deal
|
||||
# of performance.
|
||||
# See: https://wiki.debian.org/RaspberryPi
|
||||
# We are also using the 4.7 version of the toolchain, so that glibc=2.13
|
||||
|
||||
# Instead of cloning the whole repo (>1GB at the of writing this), we want to do a so-called "sparse checkout" with "shallow cloning":
|
||||
# https://stackoverflow.com/questions/600079/is-there-any-way-to-clone-a-git-repositorys-sub-directory-only/13738951#13738951
|
||||
|
||||
RUN mkdir rpi_tools && cd rpi_tools && git init && git remote add -f origin https://github.com/raspberrypi/tools && \
|
||||
git config core.sparseCheckout true && echo "arm-bcm2708/gcc-linaro-${CROSS_TRIPLE}-raspbian" >> .git/info/sparse-checkout && \
|
||||
git pull --depth=1 origin master && rsync -av arm-bcm2708/gcc-linaro-${CROSS_TRIPLE}-raspbian/ /usr/ && rm -rf ../rpi_tools
|
||||
|
||||
# Allow dynamically linked executables to run with qemu-arm
|
||||
ENV QEMU_LD_PREFIX ${CROSS_ROOT}/libc
|
||||
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${CROSS_ROOT}/libc/lib/${CROSS_TRIPLE}/"
|
||||
|
||||
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 arm
|
||||
|
||||
#include "common.label-and-env"
|
@ -2,16 +2,13 @@ set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_root $ENV{CROSS_ROOT})
|
||||
set(cross_triple "arm-linux-gnueabihf")
|
||||
|
||||
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 $ENV{CROSS_ROOT} $ENV{CROSS_ROOT}/libc/usr)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
10
linux-armv6-rpi1.full/Dockerfile.in
Normal file
10
linux-armv6-rpi1.full/Dockerfile.in
Normal file
@ -0,0 +1,10 @@
|
||||
ARG DOCKER_IMAGE=bensuperpc/linux-armv6-rpi1:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
ENV OPENSSL_ARCH linux-armv4
|
||||
ENV OPENSSL_TARGET armv6
|
||||
|
||||
#include "common.lib"
|
||||
|
||||
#include "common.label-and-env"
|
@ -1,7 +1,7 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
set(cross_triple "armv6-unknown-linux-gnueabihf")
|
||||
set(cross_triple "armv6-rpi-linux-gnueabihf")
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
@ -1,12 +1,8 @@
|
||||
FROM dockcross/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# This is for 32-bit ARMv6 Linux
|
||||
# Raspberry Pi is ARMv6+VFP2
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
@ -17,8 +13,8 @@ RUN apt-get update \
|
||||
&& apt-get clean --yes
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "armv6-unknown-linux-gnueabihf" target.
|
||||
ENV CROSS_TRIPLE armv6-unknown-linux-gnueabihf
|
||||
# The CROSS_TRIPLE is a configured alias of the "armv6-rpi-linux-gnueabihf" target.
|
||||
ENV CROSS_TRIPLE armv6-rpi-linux-gnueabihf
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
@ -34,7 +30,7 @@ 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/arm-linux-gnueabihf/
|
||||
ENV PKG_CONFIG_PATH /usr/lib/armv6-unknown-linux-gnueabihf/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
@ -1,9 +1,8 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_root $ENV{CROSS_ROOT})
|
||||
set(cross_triple "armv6-rpi-linux-gnueabihf")
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
1308
linux-armv6-rpi1/crosstool-ng.config
Normal file
1308
linux-armv6-rpi1/crosstool-ng.config
Normal file
File diff suppressed because it is too large
Load Diff
13
linux-armv7-rpi2.full/Dockerfile.in
Normal file
13
linux-armv7-rpi2.full/Dockerfile.in
Normal file
@ -0,0 +1,13 @@
|
||||
ARG DOCKER_IMAGE=bensuperpc/linux-armv7-rpi2:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# This is for 32-bit ARMv7 Linux
|
||||
|
||||
|
||||
ENV OPENSSL_ARCH linux-armv4
|
||||
ENV OPENSSL_TARGET armv7-a
|
||||
|
||||
#include "common.lib"
|
||||
|
||||
#include "common.label-and-env"
|
@ -1,9 +1,8 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_root $ENV{CROSS_ROOT})
|
||||
set(cross_triple "armv7-rpi2-linux-gnueabihf")
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
@ -18,3 +17,4 @@ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
@ -1,9 +1,6 @@
|
||||
FROM dockcross/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# This is for 32-bit ARMv7 Linux
|
||||
#include "common.crosstool"
|
||||
@ -16,8 +13,8 @@ RUN apt-get update \
|
||||
&& apt-get clean --yes
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "armv7-unknown-linux-gnueabi" target.
|
||||
ENV CROSS_TRIPLE armv7-unknown-linux-gnueabi
|
||||
# The CROSS_TRIPLE is a configured alias of the "armv7-rpi2-linux-gnueabihf" target.
|
||||
ENV CROSS_TRIPLE armv7-rpi2-linux-gnueabihf
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
@ -33,7 +30,7 @@ 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/arm-linux-gnueabihf/
|
||||
ENV PKG_CONFIG_PATH /usr/lib/armv7-rpi2-linux-gnueabihf/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
@ -1,9 +1,8 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_root $ENV{CROSS_ROOT})
|
||||
set(cross_triple "armv7-rpi2-linux-gnueabihf")
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
@ -18,3 +17,4 @@ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
File diff suppressed because it is too large
Load Diff
12
linux-armv7.full/Dockerfile.in
Normal file
12
linux-armv7.full/Dockerfile.in
Normal file
@ -0,0 +1,12 @@
|
||||
ARG DOCKER_IMAGE=bensuperpc/linux-armv7:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# This is for 32-bit ARMv7 Linux
|
||||
|
||||
ENV OPENSSL_ARCH linux-armv4
|
||||
ENV OPENSSL_TARGET armv7-a
|
||||
|
||||
#include "common.lib"
|
||||
|
||||
#include "common.label-and-env"
|
20
linux-armv7.full/Toolchain.cmake
Normal file
20
linux-armv7.full/Toolchain.cmake
Normal file
@ -0,0 +1,20 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
set(cross_triple "arm-cortexa5-linux-gnueabihf")
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
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-arm)
|
||||
|
@ -1,9 +1,6 @@
|
||||
FROM dockcross/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# This is for 32-bit ARMv7 Linux
|
||||
#include "common.crosstool"
|
||||
@ -16,8 +13,8 @@ RUN apt-get update \
|
||||
&& apt-get clean --yes
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
||||
ENV CROSS_TRIPLE armv7-unknown-linux-gnueabi
|
||||
# The CROSS_TRIPLE is a configured alias of the "arm-cortexa5-linux-gnueabihf" target.
|
||||
ENV CROSS_TRIPLE arm-cortexa5-linux-gnueabihf
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
@ -33,7 +30,7 @@ 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/arm-linux-gnueabihf/
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-cortexa5-linux-gnueabihf/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
|
@ -1,9 +1,8 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_root $ENV{CROSS_ROOT})
|
||||
set(cross_triple "arm-cortexa5-linux-gnueabihf")
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,48 +0,0 @@
|
||||
FROM dockcross/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
|
||||
# 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)
|
||||
# crosstool-ng 1.25.0
|
||||
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-gnueabi" target.
|
||||
ENV CROSS_TRIPLE arm-cortexa8_neon-linux-gnueabihf
|
||||
|
||||
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}"
|
||||
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/linux-armv7a
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
|
||||
#include "common.label-and-env"
|
@ -1,21 +0,0 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
|
||||
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-arm)
|
||||
|
12
linux-armv7a.full/Dockerfile.in
Normal file
12
linux-armv7a.full/Dockerfile.in
Normal file
@ -0,0 +1,12 @@
|
||||
ARG DOCKER_IMAGE=bensuperpc/linux-armv7a:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# This is for 32-bit ARMv7 Linux
|
||||
|
||||
ENV OPENSSL_ARCH linux-armv4
|
||||
ENV OPENSSL_TARGET armv7-a
|
||||
|
||||
#include "common.lib"
|
||||
|
||||
#include "common.label-and-env"
|
@ -1,10 +1,8 @@
|
||||
dockcross image for ARMv7-A-LTS
|
||||
dockcross image for ARMv7-A
|
||||
===========================
|
||||
|
||||
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
|
21
linux-armv7a.full/Toolchain.cmake
Normal file
21
linux-armv7a.full/Toolchain.cmake
Normal file
@ -0,0 +1,21 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
set(cross_triple "arm-cortexa9_neon-linux-gnueabihf")
|
||||
#arm-cortexa9_neon-linux-gnueabihf
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
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-arm)
|
||||
|
@ -1,12 +1,8 @@
|
||||
FROM dockcross/base:latest
|
||||
|
||||
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# This is for 32-bit ARMv7 Linux
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
@ -17,9 +13,8 @@ RUN apt-get update \
|
||||
&& apt-get clean --yes
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
||||
#ENV CROSS_TRIPLE armv7-unknown-linux-gnueabi
|
||||
ENV CROSS_TRIPLE arm-cortexa8_neon-linux-gnueabihf
|
||||
# The CROSS_TRIPLE is a configured alias of the "arm-cortexa9_neon-linux-gnueabihf" target.
|
||||
ENV CROSS_TRIPLE arm-cortexa9_neon-linux-gnueabihf
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
@ -32,12 +27,10 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
ENV QEMU_LD_PREFIX "${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
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}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-cortexa9_neon-linux-gnueabihf/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
|
@ -1,9 +1,9 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR arm)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_root $ENV{CROSS_ROOT})
|
||||
set(cross_triple "arm-cortexa9_neon-linux-gnueabihf")
|
||||
#arm-cortexa9_neon-linux-gnueabihf
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,6 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
ENV XCC_PREFIX /usr/xcc
|
||||
ENV CROSS_TRIPLE armv7l-linux-musleabihf
|
||||
@ -24,16 +26,4 @@ ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
ARG IMAGE=dockcross/linux-armv7l-musl
|
||||
ARG VERSION=latest
|
||||
ARG VCS_REF
|
||||
ARG VCS_URL
|
||||
LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.name=$IMAGE \
|
||||
org.label-schema.version=$VERSION \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
||||
#include "common.label-and-env"
|
||||
|
@ -1,4 +1,6 @@
|
||||
FROM dockcross/base:latest
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
ENV XCC_PREFIX /usr/xcc
|
||||
ENV CROSS_TRIPLE aarch64-linux-musl
|
||||
@ -26,7 +28,7 @@ ENV ARCH arm64
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
ARG IMAGE=dockcross/linux-arm64-musl
|
||||
ARG IMAGE=dockcross/linux-armv8-musl
|
||||
ARG VERSION=latest
|
||||
ARG VCS_REF
|
||||
ARG VCS_URL
|
12
linux-armv8-rpi3.full/Dockerfile.in
Normal file
12
linux-armv8-rpi3.full/Dockerfile.in
Normal file
@ -0,0 +1,12 @@
|
||||
ARG DOCKER_IMAGE=bensuperpc/linux-armv8-rpi3:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# This is for 64-bit ARM Linux machine Raspberry PI 4
|
||||
|
||||
ENV OPENSSL_ARCH linux-aarch64
|
||||
ENV OPENSSL_TARGET armv8-a
|
||||
|
||||
#include "common.lib"
|
||||
|
||||
#include "common.label-and-env"
|
@ -2,8 +2,8 @@ set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR aarch64)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_root $ENV{CROSS_ROOT})
|
||||
set(cross_triple "armv8-rpi3-linux-gnueabihf")
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
@ -15,7 +15,6 @@ 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-aarch64)
|
41
linux-armv8-rpi3/Dockerfile.in
Normal file
41
linux-armv8-rpi3/Dockerfile.in
Normal file
@ -0,0 +1,41 @@
|
||||
ARG DOCKER_IMAGE=bensuperpc/base:latest
|
||||
FROM $DOCKER_IMAGE
|
||||
MAINTAINER Bensuperpc "bensuperpc@gmail.com"
|
||||
|
||||
# This is for 64-bit ARM Linux machine Raspberry PI 4
|
||||
|
||||
#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 "armv8-rpi3-linux-gnueabihf" target.
|
||||
ENV CROSS_TRIPLE armv8-rpi3-linux-gnueabihf
|
||||
|
||||
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/armv8-rpi3-linux-gnueabihf/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"
|
@ -2,8 +2,8 @@ set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR aarch64)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_root $ENV{CROSS_ROOT})
|
||||
set(cross_triple "armv8-rpi3-linux-gnueabihf")
|
||||
set(cross_root /usr/xcc/${cross_triple})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
@ -15,5 +15,6 @@ 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-aarch64)
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user