Compare commits

..

1 Commits

Author SHA1 Message Date
13f60c23b8 Update linux-armv7 to latest crosstool-ng version
GCC 11
Linux 5.12.12
GLIBC 2.33
Binutils 2.36

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2021-06-26 14:23:08 +02:00
31 changed files with 1498 additions and 3818 deletions

View File

@ -41,7 +41,7 @@ jobs:
strategy:
fail-fast: false
matrix:
arch_name: [android-arm, android-arm64, android-x86, android-x86_64, web-wasm, linux-arm64, linux-arm64-musl, linux-armv5, linux-armv5-musl, linux-armv6, linux-armv6-musl, linux-armv7, linux-armv7a, linux-armv7l-musl, linux-x64-clang, linux-s390x, linux-x64, linux-x86, linux-mips, linux-ppc64le, manylinux1-x64, manylinux1-x86, manylinux2010-x64, manylinux2010-x86, manylinux2014-x64, manylinux2014-x86, manylinux2014-aarch64, windows-static-x64, windows-static-x64-posix, windows-static-x86, windows-shared-x64, windows-shared-x64-posix, windows-shared-x86]
arch_name: [android-arm, android-arm64, android-x86, android-x86_64, web-wasm, linux-arm64, linux-arm64-musl, linux-armv5, linux-armv5-musl, linux-armv6, linux-armv6-musl, linux-armv7, linux-armv7a, linux-armv7l-musl, linux-s390x, linux-x64, linux-x86, linux-ppc64le, manylinux1-x64, manylinux1-x86, manylinux2010-x64, manylinux2010-x86, manylinux2014-x64, manylinux2014-x86, manylinux2014-aarch64, windows-static-x64, windows-static-x64-posix, windows-static-x86, windows-shared-x64, windows-shared-x64-posix, windows-shared-x86]
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v2

View File

@ -13,11 +13,10 @@ ORG = dockcross
BIN = ./bin
# These images are built using the "build implicit rule"
STANDARD_IMAGES = linux-s390x android-arm android-arm64 android-x86 android-x86_64 linux-x86 linux-x64 linux-arm64 linux-x64-clang linux-arm64-musl linux-armv5 linux-armv5-musl linux-armv6 linux-armv6-musl linux-armv7 linux-armv7a linux-armv7l-musl linux-mips linux-ppc64le windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix
STANDARD_IMAGES = linux-s390x android-arm android-arm64 android-x86 android-x86_64 linux-x86 linux-x64 linux-arm64 linux-arm64-musl linux-armv5 linux-armv5-musl linux-armv6 linux-armv6-musl linux-armv7 linux-armv7a linux-armv7l-musl linux-mips linux-mipsel linux-ppc64le windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix
# Generated Dockerfiles.
GEN_IMAGES = linux-s390x android-arm android-arm64 linux-x86 linux-x64 linux-mips linux-x64-clang manylinux1-x64 manylinux1-x86 manylinux2010-x64 manylinux2010-x86 manylinux2014-x64 manylinux2014-x86 manylinux2014-aarch64 web-wasm linux-arm64 linux-arm64-musl windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix linux-armv7 linux-armv7a linux-armv7l-musl linux-armv6 linux-armv6-musl linux-armv5 linux-armv5-musl linux-ppc64le
GEN_IMAGES = linux-s390x android-arm android-arm64 linux-x86 linux-x64 linux-mips linux-mipsel manylinux1-x64 manylinux1-x86 manylinux2010-x64 manylinux2010-x86 manylinux2014-x64 manylinux2014-x86 manylinux2014-aarch64 web-wasm linux-arm64 linux-arm64-musl windows-static-x86 windows-static-x64 windows-static-x64-posix windows-shared-x86 windows-shared-x64 windows-shared-x64-posix linux-armv7 linux-armv7a linux-armv7l-musl linux-armv6 linux-armv6-musl linux-armv5 linux-armv5-musl linux-ppc64le
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
# These images are expected to have explicit rules for *both* build and testing
@ -289,4 +288,4 @@ test.prerequisites:
$(addsuffix .test,base $(IMAGES)): test.prerequisites
.PHONY: base images $(IMAGES) test %.test clean purge
.PHONY: base images $(IMAGES) test %.test clean

View File

@ -187,6 +187,13 @@ dockcross/linux-armv7l-musl
|linux-armv7l-musl-images| Toolchain configured for ARMv7-L, using `musl <https://www.musl-libc.org/>`_ as base "libc".
.. |linux-mipsel-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-mipsel.svg
:target: https://microbadger.com/images/dockcross/linux-mipsel
dockcross/linux-mipsel
|linux-mipsel-images| Linux mipsel cross compiler toolchain for little endian MIPS GNU systems.
.. |linux-mips-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-mips.svg
:target: https://microbadger.com/images/dockcross/linux-mips
@ -216,12 +223,6 @@ dockcross/linux-x64
|linux-x64-images| Linux x86_64 / amd64 compiler. Since the Docker image is
natively x86_64, this is not actually a cross compiler.
.. |linux-x64-clang-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-x64-clang.svg
:target: https://microbadger.com/images/dockcross/linux-x64-clang
dockcross/linux-x64-clang
|linux-x64-clang-images| Linux clang x86_64 / amd64 compiler. Since the Docker image is
natively x86_64, this is not actually a cross compiler.
.. |linux-x86-images| image:: https://images.microbadger.com/badges/image/dockcross/linux-x86.svg
:target: https://microbadger.com/images/dockcross/linux-x86

View File

@ -1,7 +1,7 @@
WORKDIR /usr/src
ARG GIT_VERSION=2.32.0
ARG CMAKE_VERSION=3.20.5
ARG GIT_VERSION=2.31.1
ARG CMAKE_VERSION=3.17.1
# Image build scripts
COPY \
@ -23,7 +23,7 @@ RUN \
/buildscripts/build-and-install-openssh.sh && \
/buildscripts/build-and-install-curl.sh && \
/buildscripts/build-and-install-git.sh && \
if [ "$CMAKE_BIN" = "true" ]; then CMAKE_VERSION=3.17.1 && /buildscripts/install-cmake-binary.sh $X86_FLAG;else /buildscripts/build-and-install-cmake.sh $X86_FLAG;fi && \
/buildscripts/install-cmake-binary.sh $X86_FLAG && \
/buildscripts/install-liquidprompt-binary.sh && \
PYTHON=$([ -e /opt/python/cp38-cp38/bin/python ] && echo "/opt/python/cp38-cp38/bin/python" || echo "python3") && \
/buildscripts/install-python-packages.sh -python ${PYTHON} && \

View File

@ -35,10 +35,8 @@ mkdir /usr/src/CMake-build
cd /usr/src/CMake-build
${WRAPPER} /usr/src/CMake/bootstrap \
--parallel=$(nproc) \
-- -DCMAKE_USE_OPENSSL=OFF
${WRAPPER} make -j$(nproc)
--parallel=$(grep -c processor /proc/cpuinfo)
${WRAPPER} make -j$(grep -c processor /proc/cpuinfo)
mkdir /usr/src/CMake-ssl-build
cd /usr/src/CMake-ssl-build
@ -50,7 +48,7 @@ ${WRAPPER} /usr/src/CMake-build/bin/cmake \
-DCMAKE_USE_OPENSSL:BOOL=ON \
-DOPENSSL_ROOT_DIR:PATH=/usr/local/ssl \
../CMake
${WRAPPER} make -j$(nproc) install
${WRAPPER} make -j$(grep -c processor /proc/cpuinfo) install
# Cleanup install tree
cd /usr/src/cmake-$CMAKE_VERSION

View File

@ -18,7 +18,7 @@ function do_curl_build {
# We do this shared to avoid obnoxious linker issues where git couldn't
# link properly. If anyone wants to make this build statically go for it.
LIBS=-ldl CFLAGS=-Wl,--exclude-libs,ALL ./configure --with-ssl --disable-static > /dev/null
make -j$(nproc) > /dev/null
make > /dev/null
make install > /dev/null
}

View File

@ -32,7 +32,7 @@ rm -f git-${GIT_VERSION}.tar.gz
pushd git-${GIT_VERSION}
./configure --prefix=/usr/local --with-curl
make -j$(nproc)
make
make install
popd

View File

@ -59,7 +59,7 @@ PERL_DOWNLOAD_URL=https://www.cpan.org/src/5.0
function do_perl_build {
${WRAPPER} sh Configure -des -Dprefix=/opt/perl > /dev/null
${WRAPPER} make -j$(nproc) > /dev/null
${WRAPPER} make > /dev/null
${WRAPPER} make install > /dev/null
}
@ -78,7 +78,7 @@ function build_perl {
function do_openssl_build {
${WRAPPER} ./config no-shared -fPIC $CONFIG_FLAG --prefix=/usr/local/ssl --openssldir=/usr/local/ssl > /dev/null
${WRAPPER} make -j$(nproc) > /dev/null
${WRAPPER} make > /dev/null
${WRAPPER} make install_sw > /dev/null
}

View File

@ -111,9 +111,6 @@ cp "${CONFIG_PATH}" "${BUILD}/.config"
# As mentioned in ct-ng config, need to unset LD_LIBRARY_PATH.
unset LD_LIBRARY_PATH
# Fix build error on manylinux2014-aarch64
unset CC
unset CXX
# Build and install the toolchain!
# Print last 250 lines if build fail

View File

@ -3,8 +3,7 @@ FROM dockcross/base:latest
# This is for 64-bit ARM Linux machine
# Crosstool-ng version
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
ENV CT_VERSION 9e10cb6fbaab6d83e1305b2d53ab585d14989667
ENV CT_VERSION crosstool-ng-1.23.0
#include "common.crosstool"

File diff suppressed because it is too large Load Diff

View File

@ -5,9 +5,6 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
# VFP instructions (armhf).
# musleabi as default glibc
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
ENV CT_VERSION 9e10cb6fbaab6d83e1305b2d53ab585d14989667
#include "common.crosstool"
# The cross-compiling emulator

File diff suppressed because it is too large Load Diff

View File

@ -5,8 +5,7 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
# VFP instructions (armhf).
# Crosstool-ng version
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
ENV CT_VERSION 9e10cb6fbaab6d83e1305b2d53ab585d14989667
ENV CT_VERSION crosstool-ng-1.23.0
#include "common.crosstool"

File diff suppressed because it is too large Load Diff

View File

@ -3,8 +3,8 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
# This is for 32-bit ARMv7 Linux
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
ENV CT_VERSION 9e10cb6fbaab6d83e1305b2d53ab585d14989667
# Crosstool-ng version
ENV CT_VERSION crosstool-ng-1.23.0
#include "common.crosstool"

File diff suppressed because it is too large Load Diff

View File

@ -3,8 +3,7 @@ FROM dockcross/base:latest
# This is for 32-bit Big-Endian MIPS devices with hard floating point enabled
# Crosstool-ng version
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
ENV CT_VERSION 9e10cb6fbaab6d83e1305b2d53ab585d14989667
ENV CT_VERSION crosstool-ng-1.23.0
#include "common.crosstool"

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,40 @@
FROM dockcross/base:latest
MAINTAINER Sergi Alvarez "pancake@nopcode.org"
# This is for ARMv5 "legacy" (mipsel) devices which do NOT support hard float
# VFP instructions (mipshf).
# From https://wiki.debian.org/CrossToolchains, installing for jessie
RUN echo "deb http://emdebian.org/tools/debian/ jessie main" > /etc/apt/sources.list.d/emdebian.list \
&& curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | apt-key add - \
&& sed -i 's/httpredir.debian.org/http.debian.net/' /etc/apt/sources.list \
&& dpkg --add-architecture mipsel \
&& apt-get update && apt-get install -y crossbuild-essential-mipsel
# The cross-compiling emulator
RUN apt-get update && apt-get install -y \
qemu-user \
qemu-user-static
ENV CROSS_TRIPLE mipsel-linux-gnu
ENV CROSS_ROOT /usr/bin
ENV AS=${CROSS_ROOT}/${CROSS_TRIPLE}-as \
AR=${CROSS_ROOT}/${CROSS_TRIPLE}-ar \
CC=${CROSS_ROOT}/${CROSS_TRIPLE}-gcc \
CPP=${CROSS_ROOT}/${CROSS_TRIPLE}-cpp-4.9 \
CXX=${CROSS_ROOT}/${CROSS_TRIPLE}-g++ \
LD=${CROSS_ROOT}/${CROSS_TRIPLE}-ld \
FC=${CROSS_ROOT}/${CROSS_TRIPLE}-gfortran
ENV QEMU_LD_PREFIX ${CROSS_ROOT}/libc
ENV QEMU_SET_ENV "LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${CROSS_ROOT}/libc/lib/${CROSS_TRIPLE}/"
COPY Toolchain.cmake ${CROSS_ROOT}/
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
# Linux kernel cross compilation variables
ENV PATH ${PATH}:${CROSS_ROOT}/bin
ENV CROSS_COMPILE ${CROSS_TRIPLE}-
ENV ARCH mips
#include "common.label-and-env"

View File

@ -0,0 +1,16 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR mipsel)
set(cross_triple "mipsel-linux-gnu")
set(CMAKE_C_COMPILER $ENV{CC})
set(CMAKE_CXX_COMPILER $ENV{CXX})
set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT} $ENV{CROSS_ROOT}/libc/usr)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mipsel)

View File

@ -2,24 +2,21 @@ FROM dockcross/base:latest
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
# Crosstool-ng version
# We use a git commit while waiting for 1.25 to release (1.24 is several years old)
ENV CT_VERSION 9e10cb6fbaab6d83e1305b2d53ab585d14989667
ENV QEMU_VERSION 6.0.0
ENV CT_VERSION crosstool-ng-1.23.0
#include "common.crosstool"
ENV CROSS_TRIPLE powerpc64le-unknown-linux-gnu
ENV CROSS_TRIPLE powerpc64le-linux-gnu
WORKDIR /usr/src
RUN apt-get install -y libglib2.0-dev zlib1g-dev libpixman-1-dev && \
curl -L http://wiki.qemu-project.org/download/qemu-${QEMU_VERSION}.tar.bz2 | tar xj && \
cd qemu-${QEMU_VERSION} && \
curl -L http://wiki.qemu-project.org/download/qemu-3.1.0.tar.bz2 | tar xj && \
cd qemu-3.1.0 && \
./configure --target-list=ppc64le-linux-user --prefix=/usr && \
make -j$(nproc) && \
make install && \
cd .. && rm -rf qemu-${QEMU_VERSION}
cd .. && rm -rf qemu-3.1.0
ENV CROSS_ROOT ${XCC_PREFIX}/${CROSS_TRIPLE}
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
@ -38,7 +35,7 @@ WORKDIR /work
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
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-linux-gnu/pkgconfig
# Linux kernel cross compilation variables
ENV PATH ${PATH}:${CROSS_ROOT}/bin

View File

@ -2,7 +2,7 @@ set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR ppc64le)
set(cross_triple "powerpc64le-unknown-linux-gnu")
set(cross_triple "powerpc64le-linux-gnu")
set(cross_root /usr/xcc/${cross_triple})
set(CMAKE_C_COMPILER $ENV{CC})

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,10 @@
#------------------------------------------------------------------------------#
# OFFICIAL DEBIAN REPOS
#------------------------------------------------------------------------------#
###### Debian Main Repos
deb http://deb.debian.org/debian/ oldstable main contrib non-free
deb http://deb.debian.org/debian/ oldstable-updates main contrib non-free
deb http://deb.debian.org/debian-security oldstable/updates main

View File

@ -1,35 +0,0 @@
FROM dockcross/base:latest
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
# flang
RUN echo "deb http://apt.llvm.org/buster/ llvm-toolchain-buster main" >> /etc/apt/sources.list \
&& echo "deb-src http://apt.llvm.org/buster/ llvm-toolchain-buster main" >> /etc/apt/sources.list \
&& wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - \
&& apt-get update \
&& apt-get purge --autoremove -y gcc g++ software-properties-common \
&& apt-get -y install clang libc++-dev libc++abi-dev clang-format clang-tidy lldb \
&& apt-get clean --yes \
&& rm -rf /var/lib/apt/lists/* \
&& update-alternatives --install /usr/bin/cc cc /usr/bin/clang 90 \
&& update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 90 \
&& update-alternatives --install /usr/bin/cpp cpp /usr/bin/clang++ 90 \
&& cc --version \
&& c++ --version \
&& cpp --version
ENV CROSS_TRIPLE x86_64-linux-gnu
ENV CROSS_ROOT /usr/bin
ENV CC=/usr/bin/clang \
CPP=/usr/bin/cpp \
CXX=/usr/bin/clang++ \
LD=/usr/bin/lld \
FC=/usr/bin/flang
# AS=/usr/bin/${CROSS_TRIPLE}-as
# AR=/usr/bin/${CROSS_TRIPLE}-ar
COPY ${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
ENV CMAKE_TOOLCHAIN_FILE /usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
#include "common.label-and-env"

View File

@ -1,12 +0,0 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
set(cross_triple "x86_64-linux-gnu")
set(CMAKE_C_COMPILER $ENV{CC})
set(CMAKE_CXX_COMPILER $ENV{CXX})
set(CMAKE_Fortran_COMPILER $ENV{FC})
set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/${cross_triple}-noop)

View File

@ -1,2 +0,0 @@
#!/bin/sh
exec "$@"

View File

@ -2,7 +2,6 @@ FROM quay.io/pypa/manylinux1_x86_64:latest
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux1-x64
ENV CMAKE_BIN true
#include "common.manylinux"

View File

@ -2,7 +2,6 @@ FROM quay.io/pypa/manylinux1_i686:latest
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux1-x86
ENV CMAKE_BIN true
#include "common.manylinux"

View File

@ -6,10 +6,6 @@ FROM dockcross/manylinux2014-x64
# This is for 64-bit ARM Manylinux machine
# Crosstool-ng version
# Issues with crosstool-ng-1.24.0 and up : https://github.com/dockcross/dockcross/issues/367
ENV CT_VERSION crosstool-ng-1.23.0
#include "common-manylinux.crosstool"
# The cross-compiling emulator