mirror of
https://github.com/bensuperpc/dockcross.git
synced 2026-07-26 04:48:08 +02:00
Introduce linux-loongarch64
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
ARG ORG=dockcross
|
||||
FROM ${ORG}/base:latest
|
||||
|
||||
LABEL maintainer="Gleb Popov arrowd@FreeBSD.org"
|
||||
|
||||
# Crosstool-ng version 2025-09-07
|
||||
ENV CT_VERSION=crosstool-ng-1.28.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y \
|
||||
qemu-user \
|
||||
qemu-user-static \
|
||||
&& apt-get clean --yes
|
||||
|
||||
# The CROSS_TRIPLE is a configured alias of the "loongarch64-unknown-linux-gnu" target.
|
||||
ENV CROSS_TRIPLE=loongarch64-unknown-linux-gnu
|
||||
|
||||
ENV CROSS_ROOT=${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gcc \
|
||||
CPP=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-cpp \
|
||||
CXX=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-g++ \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ld \
|
||||
FC=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-gfortran
|
||||
|
||||
ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
|
||||
ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
|
||||
|
||||
COPY Toolchain.cmake /usr/lib/${CROSS_TRIPLE}/
|
||||
ENV CMAKE_TOOLCHAIN_FILE=/usr/lib/${CROSS_TRIPLE}/Toolchain.cmake
|
||||
|
||||
ENV PKG_CONFIG_PATH=/usr/lib/loongarch64-unknown-linux-gnu/pkgconfig
|
||||
|
||||
# Linux kernel cross compilation variables
|
||||
ENV PATH=${PATH}:${CROSS_ROOT}/bin
|
||||
ENV CROSS_COMPILE=${CROSS_TRIPLE}-
|
||||
ENV ARCH=loongarch64
|
||||
|
||||
#include "common.label-and-env"
|
||||
@@ -0,0 +1,20 @@
|
||||
set(CMAKE_SYSTEM_NAME Linux)
|
||||
set(CMAKE_SYSTEM_VERSION 1)
|
||||
set(CMAKE_SYSTEM_PROCESSOR loongarch64)
|
||||
|
||||
set(cross_triple $ENV{CROSS_TRIPLE})
|
||||
set(cross_root $ENV{CROSS_ROOT})
|
||||
|
||||
set(CMAKE_C_COMPILER $ENV{CC})
|
||||
set(CMAKE_CXX_COMPILER $ENV{CXX})
|
||||
set(CMAKE_Fortran_COMPILER $ENV{FC})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-I ${cross_root}/include/")
|
||||
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH} ${cross_root} ${cross_root}/${cross_triple})
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-loongarch64)
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user