mirror of
https://github.com/bensuperpc/dockcross.git
synced 2025-06-21 10:23:34 +02:00
Compare commits
51 Commits
update-cro
...
master
Author | SHA1 | Date | |
---|---|---|---|
3deaae3929 | |||
15f69e2d8a | |||
c31dde3d41 | |||
3ada9c5df8 | |||
518960a612 | |||
1bebfd7300 | |||
ce8865c0af | |||
dcb6bde44b | |||
0ca299216e | |||
27e0cf6c78 | |||
494c154b87 | |||
abab9c6b4b | |||
d823872763 | |||
95d67e95d0 | |||
72c453f7c1 | |||
1cfb3b1459 | |||
a10699233d | |||
9668cbac87 | |||
a3b42cd215 | |||
bcc2e1c2a5 | |||
4bd0eec07e | |||
5836581678 | |||
83766c341d | |||
663c6da5bf | |||
86f7a8625c | |||
b73eaf9a77 | |||
7edeef6bc2 | |||
91a1cfe30b | |||
762ed4a396 | |||
b25c978187 | |||
2235db7afb | |||
1678be2d0d | |||
16e96d1b07 | |||
7317e5bf2a | |||
08ddf8271b | |||
e66c1880ec | |||
ec5e88f98c | |||
49d9ab4342 | |||
c76accc121 | |||
925499ed12 | |||
37e2800939 | |||
9e8e187280 | |||
a08b4afce0 | |||
a41e71ea67 | |||
283f79eacf | |||
4a4babf7fa | |||
e6619f6a22 | |||
d91bdd6564 | |||
133cdd4bf5 | |||
2592f3a90f | |||
69c4db9338 |
23
.github/workflows/main.yml
vendored
23
.github/workflows/main.yml
vendored
@ -1373,11 +1373,11 @@ jobs:
|
||||
cd ninja
|
||||
./../tools/dockcross-cmake-builder.sh ${{ matrix.arch_name.image }} ${{ matrix.arch_name.ninja_arg }}
|
||||
|
||||
# Updated on 12/09/2022
|
||||
# Updated on 04/04/2025 (Use openSSL_1_1_1w to fix error: implicit declaration of function 'memcmp')
|
||||
- name: openssl build test
|
||||
if: ${{ matrix.arch_name.openssl == 'yes' && (matrix.arch_name.multiarch == 'yes' || env.HOST_ARCH == 'amd64') }}
|
||||
run: |
|
||||
git clone --depth 1 --branch OpenSSL_1_1_1q https://github.com/openssl/openssl.git
|
||||
git clone --depth 1 --branch OpenSSL_1_1_1w https://github.com/openssl/openssl.git
|
||||
cd openssl
|
||||
wget https://raw.githubusercontent.com/mavlink/MAVSDK/main/third_party/openssl/dockcross-android.patch
|
||||
patch -p 0 < dockcross-android.patch
|
||||
@ -1483,14 +1483,14 @@ jobs:
|
||||
if: matrix.arch_name.multiarch == 'yes'
|
||||
run: |
|
||||
mkdir -p cache-${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}
|
||||
docker export dockcross/${{ matrix.arch_name.image }}:latest-${{ env.HOST_ARCH }} | xz -e9 -T0 > ./cache/${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}.tar.xz
|
||||
docker export dockcross/${{ matrix.arch_name.image }}:latest-${{ env.HOST_ARCH }} | xz -e9 -T0 > ./cache-${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}/${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}.tar.xz
|
||||
|
||||
- name: save ${{ matrix.arch_name.image }}-${{ matrix.os }}
|
||||
uses: actions/upload-artifact@v4
|
||||
if: matrix.arch_name.multiarch == 'yes'
|
||||
with:
|
||||
name: cache-${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}
|
||||
path: ./cache/${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}.tar.xz
|
||||
path: ./cache-${{ matrix.arch_name.image }}-${{ env.HOST_ARCH }}
|
||||
retention-days: 3
|
||||
|
||||
- name: Login to Docker Hub
|
||||
@ -1524,18 +1524,18 @@ jobs:
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: cache-${{ matrix.image_name }}-amd64
|
||||
path: ./cache/${{ matrix.image_name }}-amd64.tar.xz
|
||||
path: ./cache-${{ matrix.image_name }}-amd64
|
||||
|
||||
- name: download ${{ matrix.image_name }}-arm64
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: cache-${{ matrix.image_name }}-arm64
|
||||
path: ./cache/${{ matrix.image_name }}-arm64.tar.xz
|
||||
path: ./cache-${{ matrix.image_name }}-arm64
|
||||
|
||||
- name: load images
|
||||
run: |
|
||||
xz -d -k < ./cache/${{ matrix.image_name }}-amd64.tar.xz | docker import - dockcross/${{ matrix.image_name }}-amd64
|
||||
xz -d -k < ./cache/${{ matrix.image_name }}-arm64.tar.xz | docker import - dockcross/${{ matrix.image_name }}-arm64
|
||||
xz -d -k < ./cache-${{ matrix.image_name }}-amd64/${{ matrix.image_name }}-amd64.tar.xz | docker import - dockcross/${{ matrix.image_name }}:latest-amd64
|
||||
xz -d -k < ./cache-${{ matrix.image_name }}-arm64/${{ matrix.image_name }}-arm64.tar.xz | docker import - dockcross/${{ matrix.image_name }}:latest-arm64
|
||||
|
||||
- name: Login to Docker Hub
|
||||
if: github.ref == 'refs/heads/master'
|
||||
@ -1547,11 +1547,14 @@ jobs:
|
||||
- name: deploy-multi-arch
|
||||
if: github.ref == 'refs/heads/master'
|
||||
run: |
|
||||
docker images
|
||||
|
||||
make ${{ matrix.image_name }}.tag-amd64
|
||||
make ${{ matrix.image_name }}.tag-arm64
|
||||
|
||||
make ${{ matrix.image_name }}.push-amd64
|
||||
|
||||
export HOST_ARCH=arm64
|
||||
make ${{ matrix.image_name }}.tag-arm64
|
||||
make ${{ matrix.image_name }}.push-arm64
|
||||
unset HOST_ARCH
|
||||
|
||||
make ${{ matrix.image_name }}.push
|
||||
|
@ -106,10 +106,10 @@ 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})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm64)
|
||||
@ -135,7 +135,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.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
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@ -147,9 +147,9 @@ RUN apt-get update \
|
||||
&& 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_TRIPLE=aarch64-unknown-linux-gnu
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -158,18 +158,18 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 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 CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm64
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm64
|
||||
|
||||
#include "common.label-and-env"
|
||||
```
|
||||
@ -179,15 +179,15 @@ Then you must change these lines according to the targeted architecture.
|
||||
Here you have to change the value according to the name of the toolchain (./ct-ng show-tuple):
|
||||
|
||||
```docker
|
||||
ENV CROSS_TRIPLE aarch64-unknown-linux-gnu
|
||||
ENV CROSS_TRIPLE=aarch64-unknown-linux-gnu
|
||||
```
|
||||
|
||||
These lines also need to be changed:
|
||||
|
||||
```docker
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
ENV ARCH arm64
|
||||
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:
|
||||
|
35
Makefile
35
Makefile
@ -30,7 +30,7 @@ TAG_FLAG := $(or $(TAG_FLAG), --tag)
|
||||
ORG = dockcross
|
||||
|
||||
# Host architecture
|
||||
HOST_ARCH := $(shell uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/')
|
||||
HOST_ARCH := $(or $(HOST_ARCH), $(shell uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/'))
|
||||
|
||||
# Directory where to generate the dockcross script for each images (e.g bin/dockcross-manylinux2014-x64)
|
||||
BIN = ./bin
|
||||
@ -49,7 +49,7 @@ STANDARD_IMAGES := android-arm android-arm64 android-x86 android-x86_64 \
|
||||
# Generated Dockerfiles.
|
||||
GEN_IMAGES := android-arm android-arm64 \
|
||||
linux-i686 linux-x86 linux-x64 linux-x64-clang linux-arm64 linux-arm64-musl linux-arm64-full \
|
||||
manylinux_2_28-x64 \
|
||||
manylinux_2_28-x64 manylinux_2_34-x64 \
|
||||
manylinux2014-x64 manylinux2014-x86 \
|
||||
manylinux2014-aarch64 linux-arm64-lts \
|
||||
web-wasm web-wasi web-wasi-emulated-threads web-wasi-threads linux-mips linux-mips-uclibc linux-mips-lts windows-arm64 windows-armv7 \
|
||||
@ -68,11 +68,11 @@ MULTIARCH_IMAGES := linux-arm64 \
|
||||
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
|
||||
|
||||
# These images are expected to have explicit rules for *both* build and testing
|
||||
NON_STANDARD_IMAGES := manylinux_2_28-x64 manylinux2014-x64 manylinux2014-x86 \
|
||||
NON_STANDARD_IMAGES := manylinux_2_28-x64 manylinux_2_34-x64 manylinux2014-x64 manylinux2014-x86 \
|
||||
manylinux2014-aarch64 web-wasm web-wasi-emulated-threads web-wasi-threads
|
||||
|
||||
# Docker composite files
|
||||
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.buildroot \
|
||||
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux2014 common.manylinux_2_28 common.manylinux_2_34 common.buildroot \
|
||||
common.crosstool common.webassembly common.windows common-manylinux.crosstool common.dockcross \
|
||||
common.label-and-env
|
||||
DOCKER_COMPOSITE_FOLDER_PATH = common/
|
||||
@ -128,6 +128,7 @@ $(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOS
|
||||
-e '/common.docker/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.docker' \
|
||||
-e '/common.debian/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.debian' \
|
||||
-e '/common.manylinux_2_28/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_28' \
|
||||
-e '/common.manylinux_2_34/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux_2_34' \
|
||||
-e '/common.manylinux2014/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.manylinux2014' \
|
||||
-e '/common.crosstool/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.crosstool' \
|
||||
-e '/common.buildroot/ r $(DOCKER_COMPOSITE_FOLDER_PATH)common.buildroot' \
|
||||
@ -208,7 +209,7 @@ manylinux2014-aarch64: manylinux2014-aarch64/Dockerfile manylinux2014-x64
|
||||
manylinux2014-aarch64.test: manylinux2014-aarch64
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-aarch64:latest > $(BIN)/dockcross-manylinux2014-aarch64 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux2014-aarch64
|
||||
$(BIN)/dockcross-manylinux2014-aarch64 -i $(ORG)/manylinux2014-aarch64:latest /opt/python/cp38-cp38/bin/python test/run.py
|
||||
$(BIN)/dockcross-manylinux2014-aarch64 -i $(ORG)/manylinux2014-aarch64:latest /opt/python/cp311-cp311/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux_2_28-x64
|
||||
@ -230,6 +231,26 @@ manylinux_2_28-x64.test: manylinux_2_28-x64
|
||||
&& chmod +x $(BIN)/dockcross-manylinux_2_28-x64
|
||||
$(BIN)/dockcross-manylinux_2_28-x64 -i $(ORG)/manylinux_2_28-x64:latest /opt/python/cp310-cp310/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux_2_34-x64
|
||||
#
|
||||
manylinux_2_34-x64: manylinux_2_34-x64/Dockerfile
|
||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||
$(DOCKER) build -t $(ORG)/manylinux_2_34-x64:$(TAG) \
|
||||
-t $(ORG)/manylinux_2_34-x64:latest \
|
||||
--build-arg IMAGE=$(ORG)/manylinux_2_34-x64 \
|
||||
--build-arg VERSION=$(TAG) \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux_2_34-x64/Dockerfile .
|
||||
rm -rf $@/imagefiles
|
||||
|
||||
manylinux_2_34-x64.test: manylinux_2_34-x64
|
||||
$(DOCKER) run $(RM) $(ORG)/manylinux_2_34-x64:latest > $(BIN)/dockcross-manylinux_2_34-x64 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux_2_34-x64
|
||||
$(BIN)/dockcross-manylinux_2_34-x64 -i $(ORG)/manylinux_2_34-x64:latest /opt/python/cp310-cp310/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux2014-x64
|
||||
#
|
||||
@ -248,7 +269,7 @@ manylinux2014-x64: manylinux2014-x64/Dockerfile
|
||||
manylinux2014-x64.test: manylinux2014-x64
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x64:latest > $(BIN)/dockcross-manylinux2014-x64 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux2014-x64
|
||||
$(BIN)/dockcross-manylinux2014-x64 -i $(ORG)/manylinux2014-x64:latest /opt/python/cp38-cp38/bin/python test/run.py
|
||||
$(BIN)/dockcross-manylinux2014-x64 -i $(ORG)/manylinux2014-x64:latest /opt/python/cp311-cp311/bin/python test/run.py
|
||||
|
||||
#
|
||||
# manylinux2014-x86
|
||||
@ -268,7 +289,7 @@ manylinux2014-x86: manylinux2014-x86/Dockerfile
|
||||
manylinux2014-x86.test: manylinux2014-x86
|
||||
$(TEST_DOCKER) run $(RM) $(ORG)/manylinux2014-x86:latest > $(BIN)/dockcross-manylinux2014-x86 \
|
||||
&& chmod +x $(BIN)/dockcross-manylinux2014-x86
|
||||
$(BIN)/dockcross-manylinux2014-x86 -i $(ORG)/manylinux2014-x86:latest /opt/python/cp38-cp38/bin/python test/run.py
|
||||
$(BIN)/dockcross-manylinux2014-x86 -i $(ORG)/manylinux2014-x86:latest /opt/python/cp311-cp311/bin/python test/run.py
|
||||
|
||||
#
|
||||
# base-$(HOST_ARCH)
|
||||
|
12
README.md
12
README.md
@ -18,6 +18,8 @@ Cross compiling toolchains in Docker images.
|
||||
- [Meson](https://mesonbuild.com) is pre-installed.
|
||||
- [Conan.io](https://www.conan.io) can be used as a package manager.
|
||||
- Toolchain files configured for CMake.
|
||||
- [Rustup](https://rustup.rs/) is pre-installed.
|
||||
- Some images (e.g. android) are configured for Rust.
|
||||
- Current directory is mounted as the container\'s workdir, `/work`.
|
||||
- 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.
|
||||
@ -30,6 +32,7 @@ Cross compiling toolchains in Docker images.
|
||||
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.
|
||||
6. `dockcross cargo build`: Build the current Rust project.
|
||||
|
||||
Note that commands are executed verbatim. If any shell processing for environment variable expansion or redirection is required, please use
|
||||
|
||||
@ -113,6 +116,7 @@ The dockcross script will execute the given command-line inside the container, a
|
||||
| dockcross/linux-m68k-uclibc | m68k | GCC + uclibc | Linux |
|
||||
| dockcross/linux-xtensa-uclibc | xtensa | GCC + uclibc | Linux |
|
||||
| dockcross/manylinux_2_28-x64 | x86_64 | GCC | Linux |
|
||||
| dockcross/manylinux_2_34-x64 | x86_64 | GCC | Linux |
|
||||
| dockcross/manylinux2014-x86 | x86 | GCC | Linux |
|
||||
| dockcross/manylinux2014-x64 | x86_64 | GCC | Linux |
|
||||
| dockcross/linux-i686 | x86 | GCC | Linux |
|
||||
@ -381,6 +385,12 @@ Standalone Linux i686 cross compiler.
|
||||
|
||||
Docker [manylinux_2_28](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.6, 3.7, 3.8, 3.9, 3.10 and 3.11. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_28** to \"TRUE\" in the toolchain.
|
||||
|
||||
### dockcross/manylinux_2_34-x64
|
||||
|
||||
 
|
||||
|
||||
Docker [manylinux_2_34](https://github.com/pypa/manylinux) image for building Linux x86_64 / amd64 [Python wheel packages](http://pythonwheels.com/). It includes Python 3.8.10+, 3.9.5+, 3.10.0+. Also has support for the dockcross script, and it has installations of CMake, Ninja, and [scikit-build](http://scikit-build.org). For CMake, it sets **MANYLINUX_2_34** to \"TRUE\" in the toolchain.
|
||||
|
||||
### dockcross/manylinux2014-x64
|
||||
|
||||
 
|
||||
@ -566,7 +576,7 @@ An example Dockerfile would be:
|
||||
```
|
||||
FROM dockcross/linux-armv7
|
||||
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE my_cool_image
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE=my_cool_image
|
||||
RUN apt-get install -y nano
|
||||
```
|
||||
|
||||
|
@ -17,8 +17,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||
LD=${CROSS_ROOT}/bin/ld
|
||||
|
||||
ENV ANDROID_NDK_REVISION 25b
|
||||
ENV ANDROID_API 23
|
||||
ENV ANDROID_NDK_REVISION=25b
|
||||
ENV ANDROID_API=23
|
||||
|
||||
RUN mkdir -p /build && \
|
||||
cd /build && \
|
||||
@ -35,7 +35,13 @@ RUN mkdir -p /build && \
|
||||
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
||||
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
||||
|
||||
# Prepare Rust
|
||||
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||
RUN rustup target add armv7-linux-androideabi
|
||||
COPY config.toml /root/.cargo/
|
||||
|
||||
# Prepare CMake
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -15,10 +15,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
5
android-arm/config.toml
Normal file
5
android-arm/config.toml
Normal file
@ -0,0 +1,5 @@
|
||||
[build]
|
||||
target = "armv7-linux-androideabi"
|
||||
|
||||
[target.armv7-linux-androideabi]
|
||||
linker = "/usr/arm-linux-androideabi/bin/armv7a-linux-androideabi23-clang"
|
@ -21,8 +21,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||
LD=${CROSS_ROOT}/bin/ld
|
||||
|
||||
ENV ANDROID_NDK_REVISION 25b
|
||||
ENV ANDROID_API 23
|
||||
ENV ANDROID_NDK_REVISION=25b
|
||||
ENV ANDROID_API=23
|
||||
|
||||
RUN mkdir -p /build && \
|
||||
cd /build && \
|
||||
@ -39,8 +39,13 @@ RUN mkdir -p /build && \
|
||||
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
||||
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
||||
|
||||
# Prepare Rust
|
||||
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||
RUN rustup target add aarch64-linux-android
|
||||
COPY config.toml /root/.cargo/
|
||||
|
||||
# Prepare CMake
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -14,10 +14,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
5
android-arm64/config.toml
Normal file
5
android-arm64/config.toml
Normal file
@ -0,0 +1,5 @@
|
||||
[build]
|
||||
target = "aarch64-linux-android"
|
||||
|
||||
[target.aarch64-linux-android]
|
||||
linker = "/usr/aarch64-linux-android/bin/aarch64-linux-android-clang"
|
@ -11,8 +11,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||
LD=${CROSS_ROOT}/bin/ld
|
||||
|
||||
ENV ANDROID_NDK_REVISION 25b
|
||||
ENV ANDROID_API 23
|
||||
ENV ANDROID_NDK_REVISION=25b
|
||||
ENV ANDROID_API=23
|
||||
|
||||
RUN mkdir -p /build && \
|
||||
cd /build && \
|
||||
@ -29,8 +29,14 @@ RUN mkdir -p /build && \
|
||||
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
||||
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
||||
|
||||
# Prepare Rust
|
||||
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||
RUN rustup target add i686-linux-android
|
||||
COPY config.toml /root/.cargo/
|
||||
|
||||
# Prepare CMake
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
@ -44,4 +50,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||
|
@ -14,8 +14,8 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
||||
|
5
android-x86/config.toml
Normal file
5
android-x86/config.toml
Normal file
@ -0,0 +1,5 @@
|
||||
[build]
|
||||
target = "i686-linux-android"
|
||||
|
||||
[target.i686-linux-android]
|
||||
linker = "/usr/i686-linux-android/bin/i686-linux-android23-clang"
|
@ -11,8 +11,8 @@ ENV AS=${CROSS_ROOT}/bin/llvm-as \
|
||||
CXX=${CROSS_ROOT}/bin/clang++ \
|
||||
LD=${CROSS_ROOT}/bin/ld
|
||||
|
||||
ENV ANDROID_NDK_REVISION 25b
|
||||
ENV ANDROID_API 23
|
||||
ENV ANDROID_NDK_REVISION=25b
|
||||
ENV ANDROID_API=23
|
||||
|
||||
RUN mkdir -p /build && \
|
||||
cd /build && \
|
||||
@ -29,8 +29,14 @@ RUN mkdir -p /build && \
|
||||
find ${CROSS_ROOT} -exec chmod a+r '{}' \; && \
|
||||
find ${CROSS_ROOT} -executable -exec chmod a+x '{}' \;
|
||||
|
||||
# Prepare Rust
|
||||
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||
RUN rustup target add x86_64-linux-android
|
||||
COPY config.toml /root/.cargo/
|
||||
|
||||
# Prepare CMake
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
@ -44,4 +50,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.schema-version="1.0"
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||
|
@ -14,8 +14,8 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-llog")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "-llog")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} $ENV{CROSS_ROOT})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT $ENV{CROSS_ROOT}/sysroot)
|
||||
|
5
android-x86_64/config.toml
Normal file
5
android-x86_64/config.toml
Normal file
@ -0,0 +1,5 @@
|
||||
[build]
|
||||
target = "x86_64-linux-android"
|
||||
|
||||
[target.x86_64-linux-android]
|
||||
linker = "/usr/x86_64-linux-android/bin/x86_64-linux-android-clang"
|
@ -6,13 +6,13 @@ LABEL maintainer="Chen Tao t.clydechen@gmail.com"
|
||||
# This is for armv7e-m+fp bare metal
|
||||
|
||||
# Crosstool-ng version 1.25.0
|
||||
ENV CT_VERSION 8fa98eeeff9bc53478d97ef722f366fea151ae64
|
||||
ENV CT_VERSION=8fa98eeeff9bc53478d97ef722f366fea151ae64
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
ENV CROSS_TRIPLE arm-none-eabi
|
||||
ENV CROSS_TRIPLE=arm-none-eabi
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -23,13 +23,13 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
OBJCOPY=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-objcopy
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-none-eabi/pkgconfig
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-none-eabi/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
#include "common.label-and-env"
|
||||
|
@ -10,7 +10,7 @@ set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
@ -119,7 +119,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -27,6 +27,7 @@ COPY \
|
||||
imagefiles/build-and-install-ninja.sh \
|
||||
imagefiles/build-and-install-openssl.sh \
|
||||
imagefiles/build-and-install-openssh.sh \
|
||||
imagefiles/build-and-install-rustup.sh \
|
||||
imagefiles/install-cmake-binary.sh \
|
||||
imagefiles/install-liquidprompt-binary.sh \
|
||||
imagefiles/install-python-packages.sh \
|
||||
@ -40,8 +41,9 @@ RUN \
|
||||
/buildscripts/build-and-install-curl.sh && \
|
||||
/buildscripts/build-and-install-git.sh && \
|
||||
/buildscripts/build-and-install-cmake.sh $X86_FLAG && \
|
||||
/buildscripts/build-and-install-rustup.sh && \
|
||||
/buildscripts/install-liquidprompt-binary.sh && \
|
||||
PYTHON=$([ -e /opt/python/cp38-cp38/bin/python ] && echo "/opt/python/cp38-cp38/bin/python" || echo "python3") && \
|
||||
PYTHON=$([ -e /opt/python/cp311-cp311/bin/python ] && echo "/opt/python/cp311-cp311/bin/python" || echo "python3") && \
|
||||
/buildscripts/install-python-packages.sh -python ${PYTHON} && \
|
||||
/buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \
|
||||
/buildscripts/build-and-install-flatcc.sh && \
|
||||
|
@ -16,6 +16,7 @@ RUN \
|
||||
wget \
|
||||
nasm \
|
||||
zip \
|
||||
libatomic \
|
||||
&& \
|
||||
yum clean all && \
|
||||
# Remove sudo provided by devtoolset since it doesn't work with
|
||||
|
30
common/common.manylinux_2_34
Normal file
30
common/common.manylinux_2_34
Normal file
@ -0,0 +1,30 @@
|
||||
RUN \
|
||||
set -x && \
|
||||
yum upgrade -y almalinux-release && \
|
||||
yum -y install \
|
||||
gpg \
|
||||
python3-devel \
|
||||
zlib-devel \
|
||||
gettext \
|
||||
openssh-clients \
|
||||
wget \
|
||||
nasm \
|
||||
zip \
|
||||
&& \
|
||||
yum clean all
|
||||
|
||||
# Image build scripts
|
||||
COPY \
|
||||
manylinux-common/install-python-packages.sh \
|
||||
/buildscripts/
|
||||
|
||||
RUN \
|
||||
set -x && \
|
||||
# Remove sudo provided by devtoolset since it doesn't work with
|
||||
# our sudo wrapper calling gosu.
|
||||
rm -f /opt/rh/gcc-toolset-14/root/usr/bin/sudo && \
|
||||
/buildscripts/install-python-packages.sh && \
|
||||
rm -rf /buildscripts
|
||||
|
||||
# Runtime scripts
|
||||
COPY manylinux-common/pre_exec.sh /dockcross/
|
@ -9,7 +9,7 @@
|
||||
#
|
||||
# For example:
|
||||
#
|
||||
# ENV WINEARCH win64
|
||||
# ENV WINEARCH=win64
|
||||
# ARG MXE_TARGET_ARCH=x86_64
|
||||
# ARG MXE_TARGET_THREAD=
|
||||
# ARG MXE_TARGET_LINK=shared
|
||||
@ -18,7 +18,7 @@
|
||||
# mxe master 2024-07-27
|
||||
ARG MXE_GIT_TAG=9f349e0de62a4a68bfc0f13d835a6c685dae9daa
|
||||
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/src/mxe/usr/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}/share/cmake/mxe-conf.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=/usr/src/mxe/usr/${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}/share/cmake/mxe-conf.cmake
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
@ -125,14 +125,15 @@ RUN \
|
||||
#
|
||||
rm -rf /tmp/wine-*
|
||||
|
||||
ENV PATH ${PATH}:/usr/src/mxe/usr/bin
|
||||
ENV CROSS_TRIPLE ${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}
|
||||
ENV AS=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-as \
|
||||
AR=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gcc \
|
||||
CPP=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-g++ \
|
||||
LD=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=/usr/src/mxe/usr/bin/${CROSS_TRIPLE}-gfortran
|
||||
ENV CROSS_ROOT=/usr/src/mxe/usr
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_TRIPLE=${MXE_TARGET_ARCH}-w64-mingw32.${MXE_TARGET_LINK}${MXE_TARGET_THREAD}
|
||||
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
|
||||
|
||||
WORKDIR /work
|
||||
|
@ -92,7 +92,7 @@ function build_perl {
|
||||
-fsSLO ${PERL_DOWNLOAD_URL}/${perl_fname}.tar.gz
|
||||
|
||||
check_sha256sum ${perl_fname}.tar.gz ${perl_sha256}
|
||||
tar -xzf ${perl_fname}.tar.gz
|
||||
tar -xzf ${perl_fname}.tar.gz --no-same-owner
|
||||
(cd ${perl_fname} && do_perl_build)
|
||||
rm -rf ${perl_fname} ${perl_fname}.tar.gz
|
||||
}
|
||||
|
10
imagefiles/build-and-install-rustup.sh
Executable file
10
imagefiles/build-and-install-rustup.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
if ! command -v curl &> /dev/null; then
|
||||
echo >&2 'error: "curl" not found!'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
@ -26,8 +26,15 @@ if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then
|
||||
|
||||
groupadd -o -g "$BUILDER_GID" "$BUILDER_GROUP" 2> /dev/null
|
||||
useradd -o -m -g "$BUILDER_GID" -u "$BUILDER_UID" "$BUILDER_USER" 2> /dev/null
|
||||
|
||||
# Change ownership of /dev/pts/0 to new user
|
||||
chown "$BUILDER_UID" /dev/pts/0
|
||||
|
||||
export HOME=/home/${BUILDER_USER}
|
||||
shopt -s dotglob
|
||||
# Move rustup/cargo directories as they are large, and not needed as root
|
||||
mv -t $HOME/ /root/.rustup /root/.cargo
|
||||
# Copy the rest
|
||||
cp -r /root/* $HOME/
|
||||
chown -R $BUILDER_UID:$BUILDER_GID $HOME
|
||||
|
||||
@ -38,7 +45,7 @@ if [[ -n $BUILDER_UID ]] && [[ -n $BUILDER_GID ]]; then
|
||||
|
||||
# Enable passwordless sudo capabilities for the user
|
||||
chown root:$BUILDER_GID "$(which gosu)"
|
||||
chmod +s "$(which gosu)"; sync
|
||||
chmod +s "$(which gosu)"
|
||||
|
||||
# Execute project specific pre execution hook
|
||||
if [[ -e /work/.dockcross ]]; then
|
||||
|
@ -7,7 +7,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Buildroot version
|
||||
# buildroot master 2021-09-20
|
||||
ENV BR_VERSION d4877e6f88d5eea54dc74b855556ffc0dd3f399f
|
||||
ENV BR_VERSION=d4877e6f88d5eea54dc74b855556ffc0dd3f399f
|
||||
|
||||
#include "common.buildroot"
|
||||
|
||||
@ -19,8 +19,8 @@ RUN apt-get update \
|
||||
&& 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 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 \
|
||||
@ -29,17 +29,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
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 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 CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
#ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
#ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm64
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm64
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
||||
# This is for 64-bit ARM Linux machine (Ubuntu 18.04 or Debian 9 mini)
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@ -16,9 +16,9 @@ RUN apt-get update \
|
||||
&& 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_TRIPLE=aarch64-unknown-linux-gnu
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -27,17 +27,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 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 CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm64
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm64
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64)
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -1,13 +1,16 @@
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
ENV XCC_PREFIX /usr/xcc
|
||||
ENV CROSS_TRIPLE aarch64-linux-musl
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
||||
ENV XCC_PREFIX=/usr/xcc
|
||||
ENV CROSS_TRIPLE=aarch64-linux-musl
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
||||
|
||||
RUN mkdir -p ${XCC_PREFIX}
|
||||
RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
||||
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
||||
# RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
||||
# RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
||||
# Mirrored for reliability.
|
||||
RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
@ -17,13 +20,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
# Prepare Rust
|
||||
ENV PATH="/root/.cargo/bin/:$PATH"
|
||||
RUN rustup target add aarch64-unknown-linux-musl && cargo install --version 0.28.0 cbindgen
|
||||
COPY config.toml /root/.cargo/
|
||||
|
||||
# Prepare CMake
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
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 arm64
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm64
|
||||
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
@ -32,9 +41,9 @@ 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}
|
||||
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}
|
||||
|
@ -11,7 +11,7 @@ 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})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
7
linux-arm64-musl/config.toml
Normal file
7
linux-arm64-musl/config.toml
Normal file
@ -0,0 +1,7 @@
|
||||
[build]
|
||||
target = "aarch64-unknown-linux-musl"
|
||||
|
||||
[target.aarch64-unknown-linux-musl]
|
||||
ar = "/usr/xcc/aarch64-linux-musl-cross/bin/aarch64-linux-musl-ar"
|
||||
linker = "/usr/xcc/aarch64-linux-musl-cross/bin/aarch64-linux-musl-ld"
|
||||
|
@ -11,10 +11,10 @@ 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})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-aarch64)
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -8,7 +8,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
# musleabi as default glibc
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@ -20,8 +20,8 @@ RUN apt-get update \
|
||||
&& 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
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_TRIPLE=armv5-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 \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -30,17 +30,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 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 CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-musleabihf/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-musleabihf/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -10,10 +10,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
@ -124,7 +124,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
# This is for compiling binaries for arm routers with uclibc (e.g ddwrt, asuswrt)
|
||||
#include "common.crosstool"
|
||||
@ -16,8 +16,8 @@ RUN apt-get update \
|
||||
qemu-user-static \
|
||||
&& apt-get clean --yes
|
||||
|
||||
ENV CROSS_TRIPLE arm-unknown-linux-uclibcgnueabi
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
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 \
|
||||
@ -26,17 +26,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
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 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 CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/{CROSS_ROOT}/pkgconfig/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/{CROSS_ROOT}/pkgconfig/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -7,7 +7,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
# VFP instructions (armhf).
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@ -22,8 +22,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
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_TRIPLE=armv5-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 \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -32,17 +32,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 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 CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabi/pkgconfig
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabi/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
# This is for 32-bit ARMv6 Linux
|
||||
# Raspberry Pi is ARMv6+VFP2
|
||||
@ -19,8 +19,8 @@ RUN apt-get update \
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "armv6-unknown-linux-gnueabihf" target.
|
||||
ENV CROSS_TRIPLE armv6-unknown-linux-gnueabihf
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_TRIPLE=armv6-unknown-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 \
|
||||
@ -29,17 +29,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
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 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 CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -1,13 +1,16 @@
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
ENV XCC_PREFIX /usr/xcc
|
||||
ENV CROSS_TRIPLE armv6-linux-musleabihf
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
||||
ENV XCC_PREFIX=/usr/xcc
|
||||
ENV CROSS_TRIPLE=armv6-linux-musleabihf
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
||||
|
||||
RUN mkdir -p ${XCC_PREFIX}
|
||||
RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
||||
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
||||
# RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
||||
# RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
||||
# Mirrored for reliability
|
||||
RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
@ -18,12 +21,12 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
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
|
||||
@ -37,4 +40,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
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}
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||
|
@ -11,7 +11,7 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
# This is for 32-bit ARMv6 Linux
|
||||
# Raspberry Pi is ARMv6+VFP2
|
||||
@ -19,8 +19,8 @@ RUN apt-get update \
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "armv6-unknown-linux-gnueabihf" target.
|
||||
ENV CROSS_TRIPLE armv6-unknown-linux-gnueabihf
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_TRIPLE=armv6-unknown-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 \
|
||||
@ -29,17 +29,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
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 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 CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -10,10 +10,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
# This is for 32-bit ARMv7 Linux
|
||||
#include "common.crosstool"
|
||||
@ -18,8 +18,8 @@ RUN apt-get update \
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "armv7-unknown-linux-gnueabi" target.
|
||||
ENV CROSS_TRIPLE armv7-unknown-linux-gnueabi
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_TRIPLE=armv7-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 \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -28,17 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 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 CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
# This is for 32-bit ARMv7 Linux
|
||||
#include "common.crosstool"
|
||||
@ -18,8 +18,8 @@ RUN apt-get update \
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
||||
ENV CROSS_TRIPLE armv7-unknown-linux-gnueabi
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_TRIPLE=armv7-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 \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -28,17 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 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 CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -7,7 +7,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
|
||||
# crosstool-ng 1.25.0
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@ -20,9 +20,9 @@ RUN apt-get update \
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "aarch64-unknown-linux-gnueabi" target.
|
||||
ENV CROSS_TRIPLE arm-cortexa8_neon-linux-gnueabihf
|
||||
ENV CROSS_TRIPLE=arm-cortexa8_neon-linux-gnueabihf
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 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
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE=dockcross/linux-armv7a
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/pkgconfig
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
@ -116,7 +116,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -6,7 +6,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
# This is for 32-bit ARMv7 Linux
|
||||
|
||||
# Crosstool-ng version 2024-05-21
|
||||
ENV CT_VERSION crosstool-ng-1.26.0
|
||||
ENV CT_VERSION=crosstool-ng-1.26.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@ -19,9 +19,9 @@ RUN apt-get update \
|
||||
|
||||
|
||||
# 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
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
#ENV CROSS_TRIPLE=armv7-unknown-linux-gnueabi
|
||||
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 \
|
||||
@ -30,19 +30,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
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 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
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE=dockcross/linux-armv7a
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=arm
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -1,13 +1,16 @@
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
ENV XCC_PREFIX /usr/xcc
|
||||
ENV CROSS_TRIPLE armv7l-linux-musleabihf
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
||||
ENV XCC_PREFIX=/usr/xcc
|
||||
ENV CROSS_TRIPLE=armv7l-linux-musleabihf
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}-cross
|
||||
|
||||
RUN mkdir -p ${XCC_PREFIX}
|
||||
RUN curl --max-time 15 --retry 5 -LO http://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
||||
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
||||
# RUN curl --max-time 15 --retry 5 -LO https://musl.cc/${CROSS_TRIPLE}-cross.tgz
|
||||
# RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross.tgz
|
||||
# Mirrored for reliability
|
||||
RUN curl --max-time 15 --retry 5 -LO https://github.com/dockcross/dockcross/releases/download/toolchain-sources/${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||
RUN tar -C ${XCC_PREFIX} -xvf ${CROSS_TRIPLE}-cross-retrieved-2025-06-07.tgz
|
||||
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
@ -18,12 +21,12 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH arm
|
||||
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
|
||||
@ -37,4 +40,4 @@ LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
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}
|
||||
ENV DEFAULT_DOCKCROSS_IMAGE=${IMAGE}:${VERSION}
|
||||
|
@ -11,7 +11,7 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
@ -6,7 +6,7 @@ LABEL maintainer="PJ Reid PJ.Reid@Zetier.com"
|
||||
# This is for 32-bit (i686) intel/amd devices
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@ -18,9 +18,9 @@ RUN apt-get update \
|
||||
&& apt-get clean --yes
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "i686-linux-gnu" target.
|
||||
ENV CROSS_TRIPLE i686-linux-gnu
|
||||
ENV CROSS_TRIPLE=i686-linux-gnu
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -29,15 +29,15 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 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 CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH i686
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=i686
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -9,10 +9,10 @@ set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-x86_64 -cpu qemu32)
|
||||
|
@ -119,7 +119,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -4,13 +4,13 @@ FROM ${ORG}/base:latest
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
ARG QEMU_VERSION=6.0.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
ENV CROSS_TRIPLE m68k-unknown-uclinux-uclibc
|
||||
ENV CROSS_TRIPLE=m68k-unknown-uclinux-uclibc
|
||||
|
||||
WORKDIR /usr/src
|
||||
|
||||
@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
|
||||
make install && \
|
||||
cd .. && rm -rf qemu-${QEMU_VERSION}
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
WORKDIR /work
|
||||
|
||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/mk68-unknown-linux-uclibc/pkgconfig
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/mk68-unknown-linux-uclibc/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH powerpc
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=powerpc
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -6,7 +6,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
# This is for 32-bit Big-Endian MIPS devices with hard floating point enabled
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@ -18,9 +18,9 @@ RUN apt-get update \
|
||||
&& apt-get clean --yes
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-gnu" target.
|
||||
ENV CROSS_TRIPLE mips-unknown-linux-gnu
|
||||
ENV CROSS_TRIPLE=mips-unknown-linux-gnu
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -29,15 +29,15 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 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 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 mips
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=mips
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -9,10 +9,10 @@ set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips)
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -5,7 +5,7 @@ LABEL maintainer="Rene Helmke rene.helmke@fkie.fraunhofer.de"
|
||||
# This is for 32-bit Big-Endian MIPS devices with hard floating point enabled and uclibc.
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@ -17,9 +17,9 @@ RUN apt-get update \
|
||||
&& apt-get clean --yes
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-uclibc" target.
|
||||
ENV CROSS_TRIPLE mips-unknown-linux-uclibc
|
||||
ENV CROSS_TRIPLE=mips-unknown-linux-uclibc
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -28,17 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 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 CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/mips-linux-uclibc/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/mips-linux-uclibc/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH mips
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=mips
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips)
|
||||
|
@ -121,7 +121,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -6,7 +6,7 @@ LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
# This is for 32-bit Big-Endian MIPS devices with hard floating point enabled
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
@ -18,9 +18,9 @@ RUN apt-get update \
|
||||
&& apt-get clean --yes
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "mips-unknown-linux-gnu" target.
|
||||
ENV CROSS_TRIPLE mips-unknown-linux-gnu
|
||||
ENV CROSS_TRIPLE=mips-unknown-linux-gnu
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -29,15 +29,15 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 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 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 mips
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=mips
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -9,10 +9,10 @@ set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips)
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -4,7 +4,7 @@ FROM ${ORG}/base:latest
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
# This is for 32-bit or 64-bit mipsel Linux (multilib)
|
||||
#include "common.crosstool"
|
||||
@ -18,8 +18,8 @@ RUN apt-get update \
|
||||
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "mipsel-unknown-linux-gnu" target.
|
||||
ENV CROSS_TRIPLE mipsel-unknown-linux-gnu
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_TRIPLE=mipsel-unknown-linux-gnu
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -28,17 +28,17 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
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 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 CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/mipsel-unknown-linux-gnu/
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/mipsel-unknown-linux-gnu/
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH mipsel
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=mipsel
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mipsel)
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -4,13 +4,13 @@ FROM ${ORG}/base:latest
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com and Fancy2209"
|
||||
|
||||
# Crosstool-ng version 2024-08-04
|
||||
ENV CT_VERSION crosstool-ng-1.26.0
|
||||
ENV CT_VERSION=crosstool-ng-1.26.0
|
||||
|
||||
ARG QEMU_VERSION=6.0.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
ENV CROSS_TRIPLE powerpc-unknown-linux-gnu
|
||||
ENV CROSS_TRIPLE=powerpc-unknown-linux-gnu
|
||||
|
||||
WORKDIR /usr/src
|
||||
|
||||
@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
|
||||
make install && \
|
||||
cd .. && rm -rf qemu-${QEMU_VERSION}
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
WORKDIR /work
|
||||
|
||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/powerpc-unknown-linux-gnu/pkgconfig
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/powerpc-unknown-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH powerpc
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=powerpc
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-ppc)
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -4,13 +4,13 @@ FROM ${ORG}/base:latest
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version 2023-09-21
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
ARG QEMU_VERSION=6.0.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
ENV CROSS_TRIPLE powerpc64le-unknown-linux-gnu
|
||||
ENV CROSS_TRIPLE=powerpc64le-unknown-linux-gnu
|
||||
|
||||
WORKDIR /usr/src
|
||||
|
||||
@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
|
||||
make install && \
|
||||
cd .. && rm -rf qemu-${QEMU_VERSION}
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
WORKDIR /work
|
||||
|
||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/powerpc64le-unknown-linux-gnu/pkgconfig
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/powerpc64le-unknown-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH powerpc
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=powerpc
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
|
||||
|
@ -120,7 +120,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -4,13 +4,13 @@ FROM ${ORG}/base:latest
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version 2024-08-04
|
||||
ENV CT_VERSION crosstool-ng-1.26.0
|
||||
ENV CT_VERSION=crosstool-ng-1.26.0
|
||||
|
||||
ARG QEMU_VERSION=6.0.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
ENV CROSS_TRIPLE powerpc64le-unknown-linux-gnu
|
||||
ENV CROSS_TRIPLE=powerpc64le-unknown-linux-gnu
|
||||
|
||||
WORKDIR /usr/src
|
||||
|
||||
@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
|
||||
make install && \
|
||||
cd .. && rm -rf qemu-${QEMU_VERSION}
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
WORKDIR /work
|
||||
|
||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/powerpc64le-unknown-linux-gnu/pkgconfig
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/powerpc64le-unknown-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH powerpc
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=powerpc
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
|
||||
|
@ -121,7 +121,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -4,13 +4,13 @@ FROM ${ORG}/base:latest
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
ARG QEMU_VERSION=6.0.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
ENV CROSS_TRIPLE riscv32-unknown-linux-gnu
|
||||
ENV CROSS_TRIPLE=riscv32-unknown-linux-gnu
|
||||
|
||||
WORKDIR /usr/src
|
||||
|
||||
@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
|
||||
make install && \
|
||||
cd .. && rm -rf qemu-${QEMU_VERSION}
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
WORKDIR /work
|
||||
|
||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/riscv32-unknown-linux-gnu/pkgconfig
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/riscv32-unknown-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH riscv32
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=riscv32
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
|
||||
|
@ -124,7 +124,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
@ -4,13 +4,13 @@ FROM ${ORG}/base:latest
|
||||
LABEL maintainer="Matt McCormick matt@mmmccormick.com"
|
||||
|
||||
# Crosstool-ng version 2022-05-19
|
||||
ENV CT_VERSION crosstool-ng-1.25.0
|
||||
ENV CT_VERSION=crosstool-ng-1.25.0
|
||||
|
||||
ARG QEMU_VERSION=6.0.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
ENV CROSS_TRIPLE riscv64-unknown-linux-gnu
|
||||
ENV CROSS_TRIPLE=riscv64-unknown-linux-gnu
|
||||
|
||||
WORKDIR /usr/src
|
||||
|
||||
@ -22,7 +22,7 @@ RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
|
||||
make install && \
|
||||
cd .. && rm -rf qemu-${QEMU_VERSION}
|
||||
|
||||
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
@ -31,19 +31,19 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
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 QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
WORKDIR /work
|
||||
|
||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH /usr/lib/riscv64-unknown-linux-gnu/pkgconfig
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/riscv64-unknown-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
|
||||
ENV ARCH riscv64
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=riscv64
|
||||
|
||||
#include "common.label-and-env"
|
||||
|
@ -11,10 +11,10 @@ set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
|
||||
|
@ -124,7 +124,7 @@ CT_LOG_EXTRA=y
|
||||
# CT_LOG_DEBUG is not set
|
||||
CT_LOG_LEVEL_MAX="EXTRA"
|
||||
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||
CT_LOG_PROGRESS_BAR=y
|
||||
CT_LOG_PROGRESS_BAR=n
|
||||
CT_LOG_TO_FILE=y
|
||||
CT_LOG_FILE_COMPRESS=y
|
||||
# end of Paths and misc options
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user