mirror of
https://github.com/bensuperpc/dockcross.git
synced 2024-12-22 16:24:27 +01:00
Implement "ct-ng" building, add "linux-mips".
Add a mechanism to construct a full cross-compiler environment using the "crosstool-ng" cross-compiler building utility. This is implemented in the new "common.crosstool" include, and augments the "dockcross/base" base image. Update Makefile to consolidate Dockerfile generation, notably the "sed"-based inclusion directives. Finally, employ all of this to generate a "linux-mips" 32-bit hard-float MIPS cross-compiler Dockcross image.
This commit is contained in:
parent
fd4115953d
commit
7dd46fa045
33
Makefile
33
Makefile
@ -13,11 +13,17 @@ ORG = dockcross
|
|||||||
BIN = ./bin
|
BIN = ./bin
|
||||||
|
|
||||||
# These images are built using the "build implicit rule"
|
# These images are built using the "build implicit rule"
|
||||||
STANDARD_IMAGES = android-arm linux-x86 linux-x64 linux-arm64 linux-armv5 linux-armv6 linux-armv7 linux-mipsel linux-ppc64le windows-x86 windows-x64
|
STANDARD_IMAGES = android-arm linux-x86 linux-x64 linux-arm64 linux-armv5 linux-armv6 linux-armv7 linux-mips linux-mipsel linux-ppc64le windows-x86 windows-x64
|
||||||
|
|
||||||
|
# Generated Dockerfiles.
|
||||||
|
GEN_IMAGES = linux-mips manylinux-x86 manylinux-x64 browser-asmjs
|
||||||
|
GEN_IMAGE_DOCKERFILES = $(addsuffix /Dockerfile,$(GEN_IMAGES))
|
||||||
|
|
||||||
# These images are expected to have explicit rules for *both* build and testing
|
# These images are expected to have explicit rules for *both* build and testing
|
||||||
NON_STANDARD_IMAGES = browser-asmjs manylinux-x64 manylinux-x86
|
NON_STANDARD_IMAGES = browser-asmjs manylinux-x64 manylinux-x86
|
||||||
|
|
||||||
|
DOCKER_COMPOSITE_SOURCES = common.docker common.debian common.manylinux common.crosstool
|
||||||
|
|
||||||
# This list all available images
|
# This list all available images
|
||||||
IMAGES = $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES)
|
IMAGES = $(STANDARD_IMAGES) $(NON_STANDARD_IMAGES)
|
||||||
|
|
||||||
@ -43,11 +49,22 @@ images: base $(IMAGES)
|
|||||||
#
|
#
|
||||||
test: base.test $(addsuffix .test,$(IMAGES))
|
test: base.test $(addsuffix .test,$(IMAGES))
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generic Targets (can specialize later).
|
||||||
|
#
|
||||||
|
|
||||||
|
$(GEN_IMAGE_DOCKERFILES) Dockerfile: %Dockerfile: %Dockerfile.in $(DOCKER_COMPOSITE_SOURCES)
|
||||||
|
sed \
|
||||||
|
-e '/common.docker/ r common.docker' \
|
||||||
|
-e '/common.debian/ r common.debian' \
|
||||||
|
-e '/common.manylinux/ r common.manylinux' \
|
||||||
|
-e '/common.crosstool/ r common.crosstool' \
|
||||||
|
$< > $@
|
||||||
|
|
||||||
#
|
#
|
||||||
# browser-asmjs
|
# browser-asmjs
|
||||||
#
|
#
|
||||||
browser-asmjs: browser-asmjs/Dockerfile.in common.docker common.debian
|
browser-asmjs: browser-asmjs/Dockerfile
|
||||||
sed -e '/common.docker/ r common.docker' -e '/common.debian/ r common.debian' $@/Dockerfile.in > $@/Dockerfile
|
|
||||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||||
cp -r test browser-asmjs/
|
cp -r test browser-asmjs/
|
||||||
$(DOCKER) build -t $(ORG)/browser-asmjs:latest \
|
$(DOCKER) build -t $(ORG)/browser-asmjs:latest \
|
||||||
@ -67,9 +84,6 @@ browser-asmjs.test: browser-asmjs
|
|||||||
|
|
||||||
#
|
#
|
||||||
# manylinux-x64
|
# manylinux-x64
|
||||||
#
|
|
||||||
manylinux-x64/Dockerfile: manylinux-x64/Dockerfile.in common.docker common.manylinux
|
|
||||||
sed -e '/common.docker/ r common.docker' -e '/common.manylinux/ r common.manylinux' manylinux-x64/Dockerfile.in > manylinux-x64/Dockerfile
|
|
||||||
|
|
||||||
manylinux-x64: manylinux-x64/Dockerfile
|
manylinux-x64: manylinux-x64/Dockerfile
|
||||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||||
@ -88,8 +102,6 @@ manylinux-x64.test: manylinux-x64
|
|||||||
#
|
#
|
||||||
# manylinux-x86
|
# manylinux-x86
|
||||||
#
|
#
|
||||||
manylinux-x86/Dockerfile: manylinux-x86/Dockerfile.in common.docker common.manylinux
|
|
||||||
sed -e '/common.docker/ r common.docker' -e '/common.manylinux/ r common.manylinux' manylinux-x86/Dockerfile.in > manylinux-x86/Dockerfile
|
|
||||||
|
|
||||||
manylinux-x86: manylinux-x86/Dockerfile
|
manylinux-x86: manylinux-x86/Dockerfile
|
||||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||||
@ -108,8 +120,6 @@ manylinux-x86.test: manylinux-x86
|
|||||||
#
|
#
|
||||||
# base
|
# base
|
||||||
#
|
#
|
||||||
Dockerfile: Dockerfile.in common.docker common.debian
|
|
||||||
sed -e '/common.docker/ r common.docker' -e '/common.debian/ r common.debian' Dockerfile.in > Dockerfile
|
|
||||||
|
|
||||||
base: Dockerfile imagefiles/
|
base: Dockerfile imagefiles/
|
||||||
$(DOCKER) build -t $(ORG)/base:latest \
|
$(DOCKER) build -t $(ORG)/base:latest \
|
||||||
@ -131,7 +141,8 @@ $(VERBOSE).SILENT: display_images
|
|||||||
#
|
#
|
||||||
# build implicit rule
|
# build implicit rule
|
||||||
#
|
#
|
||||||
$(STANDARD_IMAGES): base
|
|
||||||
|
$(STANDARD_IMAGES): %: %/Dockerfile base
|
||||||
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
mkdir -p $@/imagefiles && cp -r imagefiles $@/
|
||||||
$(DOCKER) build -t $(ORG)/$@:latest \
|
$(DOCKER) build -t $(ORG)/$@:latest \
|
||||||
--build-arg IMAGE=$(ORG)/$@ \
|
--build-arg IMAGE=$(ORG)/$@ \
|
||||||
|
46
common.crosstool
Normal file
46
common.crosstool
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# crosstool.common
|
||||||
|
#
|
||||||
|
# Common Docker instructions to install "crosstool-ng" and build a full
|
||||||
|
# cross-compiler suite from a crosstool-ng configuration, CROSSTOOL_CONFIG.
|
||||||
|
#
|
||||||
|
# This import complements the "dockcross/base" image, adding:
|
||||||
|
# - "ct-ng", a cross-compiler building utilty.
|
||||||
|
# - A cross-compiler suite configured in "crosstool-ng.config".
|
||||||
|
#
|
||||||
|
# The generated cross-compiler will have a CROSS_ROOT of:
|
||||||
|
# ${XCC_PREFIX}/${CROSS_TRIPLE}
|
||||||
|
#
|
||||||
|
# A given platform will need to supply the appropriate "crosstool-ng.config" to
|
||||||
|
# generate its cross-compiler. This can be built using "ct-ng menuconfig" to
|
||||||
|
# generate a configuration.
|
||||||
|
|
||||||
|
# Install Debian packages required for `ct-ng`.
|
||||||
|
RUN apt-get update --yes && apt-get install --no-install-recommends --yes \
|
||||||
|
gawk \
|
||||||
|
gperf \
|
||||||
|
help2man \
|
||||||
|
texinfo \
|
||||||
|
&& apt-get clean --yes
|
||||||
|
|
||||||
|
ENV XCC_PREFIX=/usr/xcc
|
||||||
|
|
||||||
|
# Add the crosstool-ng script and image-specific toolchain configuration into
|
||||||
|
# /dockcross/.
|
||||||
|
#
|
||||||
|
# Afterwards, we will leave the "ct-ng" config in the image as a reference
|
||||||
|
# for users.
|
||||||
|
COPY \
|
||||||
|
imagefiles/install-crosstool-ng-toolchain.sh \
|
||||||
|
crosstool-ng.config \
|
||||||
|
/dockcross/
|
||||||
|
|
||||||
|
# Build and install the toolchain, cleaning up artifacts afterwards.
|
||||||
|
RUN mkdir /dockcross/crosstool \
|
||||||
|
&& cd /dockcross/crosstool \
|
||||||
|
&& /dockcross/install-crosstool-ng-toolchain.sh \
|
||||||
|
-p "${XCC_PREFIX}" \
|
||||||
|
-c /dockcross/crosstool-ng.config \
|
||||||
|
&& rm -rf /dockcross/crosstool /dockcross/install-crosstool-ng-toolchain.sh
|
||||||
|
|
||||||
|
# Restore our default workdir (from "dockcross/base").
|
||||||
|
WORKDIR /work
|
94
imagefiles/install-crosstool-ng-toolchain.sh
Executable file
94
imagefiles/install-crosstool-ng-toolchain.sh
Executable file
@ -0,0 +1,94 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# This script operates in a current working directory. It downloads
|
||||||
|
# "crosstool-ng", installs the base package, and then configures and installs
|
||||||
|
# a toolchain based on the supplied prefix and configuration.
|
||||||
|
#
|
||||||
|
# Artifacts:
|
||||||
|
# - "crosstool-ng" data in the current working directory (can be deleted).
|
||||||
|
# - Configured Toolchain installed in the supplied <prefix>.
|
||||||
|
|
||||||
|
set -x
|
||||||
|
set -e
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
# Our base directory is the current working directory. All local artifacts will
|
||||||
|
# be generated underneath of here.
|
||||||
|
ROOT=${PWD}
|
||||||
|
|
||||||
|
usage() { echo "Usage: $0 -p <prefix> -c <config-path>" 1>&2; exit 1; }
|
||||||
|
|
||||||
|
# Resolve our input parameters.
|
||||||
|
#
|
||||||
|
# Note: we use "readlink" to resolve them to absolute paths so we can freelhy
|
||||||
|
# change directories during installation.
|
||||||
|
CT_PREFIX=
|
||||||
|
CONFIG_PATH=
|
||||||
|
while getopts "p:c:" o; do
|
||||||
|
case "${o}" in
|
||||||
|
p)
|
||||||
|
CT_PREFIX=$(readlink -f ${OPTARG})
|
||||||
|
;;
|
||||||
|
c)
|
||||||
|
CONFIG_PATH=$(readlink -f ${OPTARG})
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $((OPTIND-1))
|
||||||
|
|
||||||
|
if [ -z ${CT_PREFIX} ]; then
|
||||||
|
echo "ERROR: You must supply an installation prefix (-p)."
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
if [ -z ${CONFIG_PATH} ] || [ ! -f ${CONFIG_PATH} ]; then
|
||||||
|
echo "ERROR: Missing config path (-c)."
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
|
||||||
|
##
|
||||||
|
# Build "crosstool-ng".
|
||||||
|
##
|
||||||
|
|
||||||
|
CTNG=${ROOT}/ct-ng
|
||||||
|
mkdir -p "${CTNG}"
|
||||||
|
cd "${CTNG}"
|
||||||
|
|
||||||
|
# Download and install the "crosstool-ng" source.
|
||||||
|
REV=1.23.0
|
||||||
|
wget --progress=bar:force \
|
||||||
|
"https://github.com/crosstool-ng/crosstool-ng/archive/crosstool-ng-${REV}.tar.gz"
|
||||||
|
tar -xf "crosstool-ng-${REV}.tar.gz"
|
||||||
|
cd "crosstool-ng-crosstool-ng-${REV}"
|
||||||
|
|
||||||
|
# Bootstrap and install the tool.
|
||||||
|
BOOTSTRAP_PREFIX="${CTNG}/prefix"
|
||||||
|
./bootstrap
|
||||||
|
./configure \
|
||||||
|
--prefix "${BOOTSTRAP_PREFIX}"
|
||||||
|
make -j$(nproc)
|
||||||
|
make install
|
||||||
|
|
||||||
|
##
|
||||||
|
# Use "crosstool-ng" to build the toolchain.
|
||||||
|
##
|
||||||
|
|
||||||
|
# Override installation prefix, since we want to define it externally.
|
||||||
|
export CT_PREFIX
|
||||||
|
|
||||||
|
# Allow installation as root, since we aren't really worried about system
|
||||||
|
# damage b/c we're running in a container and this saves us the trouble of
|
||||||
|
# having to generate a crosstool user.
|
||||||
|
export CT_ALLOW_BUILD_AS_ROOT_SURE=1
|
||||||
|
|
||||||
|
# Create our build directory and copy our configuration into it.
|
||||||
|
BUILD="${ROOT}/toolchain"
|
||||||
|
mkdir -p "${BUILD}"
|
||||||
|
cd "${BUILD}"
|
||||||
|
|
||||||
|
cp "${CONFIG_PATH}" "${BUILD}/.config"
|
||||||
|
|
||||||
|
# Build and install the toolchain!
|
||||||
|
"${BOOTSTRAP_PREFIX}/bin/ct-ng" build
|
42
linux-mips/Dockerfile.in
Normal file
42
linux-mips/Dockerfile.in
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
FROM dockcross/base:latest
|
||||||
|
|
||||||
|
# This is for 32-bit Big-Endian MIPS devices with hard floating point enabled
|
||||||
|
|
||||||
|
#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 "mips-unknown-linux-gnu" target.
|
||||||
|
ENV CROSS_TRIPLE mips-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
|
||||||
|
|
||||||
|
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-mips
|
||||||
|
|
||||||
|
COPY Toolchain.cmake ${CROSS_ROOT}/
|
||||||
|
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/Toolchain.cmake
|
||||||
|
|
||||||
|
# Build-time metadata as defined at http://label-schema.org
|
||||||
|
ARG BUILD_DATE
|
||||||
|
ARG IMAGE
|
||||||
|
ARG VCS_REF
|
||||||
|
ARG VCS_URL
|
||||||
|
LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||||
|
org.label-schema.name=$IMAGE \
|
||||||
|
org.label-schema.vcs-ref=$VCS_REF \
|
||||||
|
org.label-schema.vcs-url=$VCS_URL \
|
||||||
|
org.label-schema.schema-version="1.0"
|
17
linux-mips/Toolchain.cmake
Normal file
17
linux-mips/Toolchain.cmake
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
set(CMAKE_SYSTEM_NAME Linux)
|
||||||
|
set(CMAKE_SYSTEM_VERSION 1)
|
||||||
|
set(CMAKE_SYSTEM_PROCESSOR mips)
|
||||||
|
|
||||||
|
set(cross_triple "mips-unknown-linux-gnu")
|
||||||
|
set(cross_root /usr/xcc/${cross_triple})
|
||||||
|
|
||||||
|
set(CMAKE_C_COMPILER ${cross_root}/bin/${cross_triple}-gcc)
|
||||||
|
set(CMAKE_CXX_COMPILER ${cross_root}/bin/${cross_triple}-g++)
|
||||||
|
set(CMAKE_Fortran_COMPILER ${cross_root}/bin/${cross_triple}-gfortran)
|
||||||
|
|
||||||
|
set(CMAKE_FIND_ROOT_PATH ${cross_root}/lib ${cross_root}/${cross_triple}/lib)
|
||||||
|
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_CROSSCOMPILING_EMULATOR /usr/bin/qemu-mips)
|
519
linux-mips/crosstool-ng.config
Normal file
519
linux-mips/crosstool-ng.config
Normal file
@ -0,0 +1,519 @@
|
|||||||
|
#
|
||||||
|
# Automatically generated file; DO NOT EDIT.
|
||||||
|
# Crosstool-NG Configuration
|
||||||
|
#
|
||||||
|
CT_CONFIGURE_has_static_link=y
|
||||||
|
CT_CONFIGURE_has_wget=y
|
||||||
|
CT_CONFIGURE_has_curl=y
|
||||||
|
CT_CONFIGURE_has_stat_flavor_GNU=y
|
||||||
|
CT_CONFIGURE_has_make_3_81_or_newer=y
|
||||||
|
CT_CONFIGURE_has_libtoolize_2_4_or_newer=y
|
||||||
|
CT_CONFIGURE_has_autoconf_2_63_or_newer=y
|
||||||
|
CT_CONFIGURE_has_autoreconf_2_63_or_newer=y
|
||||||
|
CT_CONFIGURE_has_gnu_m4_1_4_12_or_newer=y
|
||||||
|
CT_CONFIGURE_has_git=y
|
||||||
|
CT_MODULES=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Paths and misc options
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# crosstool-NG behavior
|
||||||
|
#
|
||||||
|
# CT_OBSOLETE is not set
|
||||||
|
# CT_EXPERIMENTAL is not set
|
||||||
|
# CT_DEBUG_CT is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Paths
|
||||||
|
#
|
||||||
|
CT_LOCAL_TARBALLS_DIR="${HOME}/src"
|
||||||
|
CT_SAVE_TARBALLS=y
|
||||||
|
CT_WORK_DIR="${CT_TOP_DIR}/.build"
|
||||||
|
CT_BUILD_TOP_DIR="${CT_WORK_DIR}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
|
||||||
|
CT_PREFIX_DIR="${CT_PREFIX:-${HOME}/x-tools}/${CT_HOST:+HOST-${CT_HOST}/}${CT_TARGET}"
|
||||||
|
CT_RM_RF_PREFIX_DIR=y
|
||||||
|
CT_REMOVE_DOCS=y
|
||||||
|
CT_PREFIX_DIR_RO=y
|
||||||
|
CT_STRIP_HOST_TOOLCHAIN_EXECUTABLES=y
|
||||||
|
# CT_STRIP_TARGET_TOOLCHAIN_EXECUTABLES is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Downloading
|
||||||
|
#
|
||||||
|
CT_DOWNLOAD_AGENT_WGET=y
|
||||||
|
# CT_DOWNLOAD_AGENT_CURL is not set
|
||||||
|
# CT_DOWNLOAD_AGENT_NONE is not set
|
||||||
|
# CT_FORBID_DOWNLOAD is not set
|
||||||
|
# CT_FORCE_DOWNLOAD is not set
|
||||||
|
CT_CONNECT_TIMEOUT=10
|
||||||
|
CT_DOWNLOAD_WGET_OPTIONS="--passive-ftp --tries=3 -nc --progress=dot:binary"
|
||||||
|
# CT_ONLY_DOWNLOAD is not set
|
||||||
|
# CT_USE_MIRROR is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Extracting
|
||||||
|
#
|
||||||
|
# CT_FORCE_EXTRACT is not set
|
||||||
|
CT_OVERRIDE_CONFIG_GUESS_SUB=y
|
||||||
|
# CT_ONLY_EXTRACT is not set
|
||||||
|
CT_PATCH_BUNDLED=y
|
||||||
|
# CT_PATCH_LOCAL is not set
|
||||||
|
# CT_PATCH_BUNDLED_LOCAL is not set
|
||||||
|
# CT_PATCH_LOCAL_BUNDLED is not set
|
||||||
|
# CT_PATCH_BUNDLED_FALLBACK_LOCAL is not set
|
||||||
|
# CT_PATCH_LOCAL_FALLBACK_BUNDLED is not set
|
||||||
|
# CT_PATCH_NONE is not set
|
||||||
|
CT_PATCH_ORDER="bundled"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Build behavior
|
||||||
|
#
|
||||||
|
CT_PARALLEL_JOBS=0
|
||||||
|
CT_LOAD=""
|
||||||
|
CT_USE_PIPES=y
|
||||||
|
CT_EXTRA_CFLAGS_FOR_BUILD=""
|
||||||
|
CT_EXTRA_LDFLAGS_FOR_BUILD=""
|
||||||
|
CT_EXTRA_CFLAGS_FOR_HOST=""
|
||||||
|
CT_EXTRA_LDFLAGS_FOR_HOST=""
|
||||||
|
# CT_CONFIG_SHELL_SH is not set
|
||||||
|
# CT_CONFIG_SHELL_ASH is not set
|
||||||
|
CT_CONFIG_SHELL_BASH=y
|
||||||
|
# CT_CONFIG_SHELL_CUSTOM is not set
|
||||||
|
CT_CONFIG_SHELL="${bash}"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Logging
|
||||||
|
#
|
||||||
|
# CT_LOG_ERROR is not set
|
||||||
|
# CT_LOG_WARN is not set
|
||||||
|
# CT_LOG_INFO is not set
|
||||||
|
CT_LOG_EXTRA=y
|
||||||
|
# CT_LOG_ALL is not set
|
||||||
|
# CT_LOG_DEBUG is not set
|
||||||
|
CT_LOG_LEVEL_MAX="EXTRA"
|
||||||
|
# CT_LOG_SEE_TOOLS_WARN is not set
|
||||||
|
CT_LOG_PROGRESS_BAR=y
|
||||||
|
CT_LOG_TO_FILE=y
|
||||||
|
CT_LOG_FILE_COMPRESS=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Target options
|
||||||
|
#
|
||||||
|
CT_ARCH="mips"
|
||||||
|
# CT_ARCH_alpha is not set
|
||||||
|
# CT_ARCH_arm is not set
|
||||||
|
# CT_ARCH_avr is not set
|
||||||
|
# CT_ARCH_m68k is not set
|
||||||
|
CT_ARCH_mips=y
|
||||||
|
# CT_ARCH_nios2 is not set
|
||||||
|
# CT_ARCH_powerpc is not set
|
||||||
|
# CT_ARCH_s390 is not set
|
||||||
|
# CT_ARCH_sh is not set
|
||||||
|
# CT_ARCH_sparc is not set
|
||||||
|
# CT_ARCH_x86 is not set
|
||||||
|
# CT_ARCH_xtensa is not set
|
||||||
|
CT_ARCH_alpha_AVAILABLE=y
|
||||||
|
CT_ARCH_arm_AVAILABLE=y
|
||||||
|
CT_ARCH_avr_AVAILABLE=y
|
||||||
|
CT_ARCH_m68k_AVAILABLE=y
|
||||||
|
CT_ARCH_microblaze_AVAILABLE=y
|
||||||
|
CT_ARCH_mips_AVAILABLE=y
|
||||||
|
CT_ARCH_nios2_AVAILABLE=y
|
||||||
|
CT_ARCH_powerpc_AVAILABLE=y
|
||||||
|
CT_ARCH_s390_AVAILABLE=y
|
||||||
|
CT_ARCH_sh_AVAILABLE=y
|
||||||
|
CT_ARCH_sparc_AVAILABLE=y
|
||||||
|
CT_ARCH_x86_AVAILABLE=y
|
||||||
|
CT_ARCH_xtensa_AVAILABLE=y
|
||||||
|
CT_ARCH_SUFFIX=""
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generic target options
|
||||||
|
#
|
||||||
|
# CT_MULTILIB is not set
|
||||||
|
CT_DEMULTILIB=y
|
||||||
|
CT_ARCH_USE_MMU=y
|
||||||
|
CT_ARCH_SUPPORTS_BOTH_ENDIAN=y
|
||||||
|
CT_ARCH_DEFAULT_BE=y
|
||||||
|
CT_ARCH_BE=y
|
||||||
|
# CT_ARCH_LE is not set
|
||||||
|
CT_ARCH_ENDIAN="big"
|
||||||
|
CT_ARCH_SUPPORTS_32=y
|
||||||
|
CT_ARCH_SUPPORTS_64=y
|
||||||
|
CT_ARCH_DEFAULT_32=y
|
||||||
|
CT_ARCH_BITNESS=32
|
||||||
|
CT_ARCH_32=y
|
||||||
|
# CT_ARCH_64 is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Target optimisations
|
||||||
|
#
|
||||||
|
CT_ARCH_SUPPORTS_WITH_ARCH=y
|
||||||
|
CT_ARCH_SUPPORTS_WITH_TUNE=y
|
||||||
|
CT_ARCH_SUPPORTS_WITH_FLOAT=y
|
||||||
|
CT_ARCH_ARCH=""
|
||||||
|
CT_ARCH_TUNE=""
|
||||||
|
# CT_ARCH_FLOAT_AUTO is not set
|
||||||
|
CT_ARCH_FLOAT_HW=y
|
||||||
|
# CT_ARCH_FLOAT_SW is not set
|
||||||
|
CT_TARGET_CFLAGS=""
|
||||||
|
CT_TARGET_LDFLAGS=""
|
||||||
|
CT_ARCH_FLOAT="hard"
|
||||||
|
|
||||||
|
#
|
||||||
|
# mips other options
|
||||||
|
#
|
||||||
|
CT_ARCH_mips_o32=y
|
||||||
|
CT_ARCH_mips_ABI="32"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Toolchain options
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# General toolchain options
|
||||||
|
#
|
||||||
|
CT_FORCE_SYSROOT=y
|
||||||
|
CT_USE_SYSROOT=y
|
||||||
|
CT_SYSROOT_NAME="sysroot"
|
||||||
|
CT_SYSROOT_DIR_PREFIX=""
|
||||||
|
CT_WANTS_STATIC_LINK=y
|
||||||
|
CT_WANTS_STATIC_LINK_CXX=y
|
||||||
|
# CT_STATIC_TOOLCHAIN is not set
|
||||||
|
CT_TOOLCHAIN_PKGVERSION=""
|
||||||
|
CT_TOOLCHAIN_BUGURL=""
|
||||||
|
|
||||||
|
#
|
||||||
|
# Tuple completion and aliasing
|
||||||
|
#
|
||||||
|
CT_TARGET_VENDOR=""
|
||||||
|
CT_TARGET_ALIAS_SED_EXPR="s/-unknown//"
|
||||||
|
CT_TARGET_ALIAS=""
|
||||||
|
|
||||||
|
#
|
||||||
|
# Toolchain type
|
||||||
|
#
|
||||||
|
CT_CROSS=y
|
||||||
|
# CT_CANADIAN is not set
|
||||||
|
CT_TOOLCHAIN_TYPE="cross"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Build system
|
||||||
|
#
|
||||||
|
CT_BUILD=""
|
||||||
|
CT_BUILD_PREFIX=""
|
||||||
|
CT_BUILD_SUFFIX=""
|
||||||
|
|
||||||
|
#
|
||||||
|
# Misc options
|
||||||
|
#
|
||||||
|
# CT_TOOLCHAIN_ENABLE_NLS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Operating System
|
||||||
|
#
|
||||||
|
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
|
||||||
|
CT_KERNEL="linux"
|
||||||
|
CT_KERNEL_VERSION="4.10.8"
|
||||||
|
# CT_KERNEL_bare_metal is not set
|
||||||
|
CT_KERNEL_linux=y
|
||||||
|
CT_KERNEL_bare_metal_AVAILABLE=y
|
||||||
|
CT_KERNEL_linux_AVAILABLE=y
|
||||||
|
# CT_KERNEL_LINUX_CUSTOM is not set
|
||||||
|
CT_KERNEL_V_4_10=y
|
||||||
|
# CT_KERNEL_V_4_9 is not set
|
||||||
|
# CT_KERNEL_V_4_4 is not set
|
||||||
|
# CT_KERNEL_V_4_1 is not set
|
||||||
|
# CT_KERNEL_V_3_16 is not set
|
||||||
|
# CT_KERNEL_V_3_12 is not set
|
||||||
|
# CT_KERNEL_V_3_10 is not set
|
||||||
|
# CT_KERNEL_V_3_4 is not set
|
||||||
|
# CT_KERNEL_V_3_2 is not set
|
||||||
|
CT_KERNEL_windows_AVAILABLE=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Common kernel options
|
||||||
|
#
|
||||||
|
CT_SHARED_LIBS=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# linux other options
|
||||||
|
#
|
||||||
|
CT_KERNEL_LINUX_VERBOSITY_0=y
|
||||||
|
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
|
||||||
|
# CT_KERNEL_LINUX_VERBOSITY_2 is not set
|
||||||
|
CT_KERNEL_LINUX_VERBOSE_LEVEL=0
|
||||||
|
CT_KERNEL_LINUX_INSTALL_CHECK=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Binary utilities
|
||||||
|
#
|
||||||
|
CT_ARCH_BINFMT_ELF=y
|
||||||
|
CT_BINUTILS="binutils"
|
||||||
|
CT_BINUTILS_binutils=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# GNU binutils
|
||||||
|
#
|
||||||
|
CT_BINUTILS_VERSION="2.28"
|
||||||
|
# CT_BINUTILS_SHOW_LINARO is not set
|
||||||
|
CT_BINUTILS_V_2_28=y
|
||||||
|
# CT_BINUTILS_V_2_27 is not set
|
||||||
|
# CT_BINUTILS_V_2_26 is not set
|
||||||
|
CT_BINUTILS_2_27_or_later=y
|
||||||
|
CT_BINUTILS_2_26_or_later=y
|
||||||
|
CT_BINUTILS_2_25_1_or_later=y
|
||||||
|
CT_BINUTILS_2_25_or_later=y
|
||||||
|
CT_BINUTILS_2_24_or_later=y
|
||||||
|
CT_BINUTILS_2_23_2_or_later=y
|
||||||
|
CT_BINUTILS_HAS_HASH_STYLE=y
|
||||||
|
CT_BINUTILS_HAS_GOLD=y
|
||||||
|
CT_BINUTILS_HAS_PLUGINS=y
|
||||||
|
CT_BINUTILS_HAS_PKGVERSION_BUGURL=y
|
||||||
|
CT_BINUTILS_FORCE_LD_BFD_DEFAULT=y
|
||||||
|
CT_BINUTILS_LINKER_LD=y
|
||||||
|
CT_BINUTILS_LINKERS_LIST="ld"
|
||||||
|
CT_BINUTILS_LINKER_DEFAULT="bfd"
|
||||||
|
CT_BINUTILS_PLUGINS=y
|
||||||
|
CT_BINUTILS_EXTRA_CONFIG_ARRAY=""
|
||||||
|
# CT_BINUTILS_FOR_TARGET is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# binutils other options
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# C-library
|
||||||
|
#
|
||||||
|
CT_LIBC="glibc"
|
||||||
|
CT_LIBC_VERSION="2.25"
|
||||||
|
CT_LIBC_glibc=y
|
||||||
|
# CT_LIBC_uClibc is not set
|
||||||
|
CT_LIBC_avr_libc_AVAILABLE=y
|
||||||
|
CT_LIBC_glibc_AVAILABLE=y
|
||||||
|
CT_THREADS="nptl"
|
||||||
|
# CT_CC_GLIBC_SHOW_LINARO is not set
|
||||||
|
CT_LIBC_GLIBC_V_2_25=y
|
||||||
|
# CT_LIBC_GLIBC_V_2_24 is not set
|
||||||
|
# CT_LIBC_GLIBC_V_2_23 is not set
|
||||||
|
CT_LIBC_GLIBC_2_23_or_later=y
|
||||||
|
CT_LIBC_GLIBC_2_20_or_later=y
|
||||||
|
CT_LIBC_GLIBC_2_17_or_later=y
|
||||||
|
CT_LIBC_mingw_AVAILABLE=y
|
||||||
|
CT_LIBC_musl_AVAILABLE=y
|
||||||
|
CT_LIBC_newlib_AVAILABLE=y
|
||||||
|
CT_LIBC_none_AVAILABLE=y
|
||||||
|
CT_LIBC_uClibc_AVAILABLE=y
|
||||||
|
CT_LIBC_SUPPORT_THREADS_ANY=y
|
||||||
|
CT_LIBC_SUPPORT_THREADS_NATIVE=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Common C library options
|
||||||
|
#
|
||||||
|
CT_THREADS_NATIVE=y
|
||||||
|
# CT_CREATE_LDSO_CONF is not set
|
||||||
|
CT_LIBC_XLDD=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# glibc other options
|
||||||
|
#
|
||||||
|
CT_LIBC_GLIBC_NEEDS_PORTS=y
|
||||||
|
CT_LIBC_glibc_family=y
|
||||||
|
CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY=""
|
||||||
|
CT_LIBC_GLIBC_CONFIGPARMS=""
|
||||||
|
CT_LIBC_GLIBC_EXTRA_CFLAGS=""
|
||||||
|
# CT_LIBC_DISABLE_VERSIONING is not set
|
||||||
|
CT_LIBC_OLDEST_ABI=""
|
||||||
|
CT_LIBC_GLIBC_FORCE_UNWIND=y
|
||||||
|
CT_LIBC_ADDONS_LIST=""
|
||||||
|
# CT_LIBC_LOCALES is not set
|
||||||
|
# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set
|
||||||
|
CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y
|
||||||
|
# CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set
|
||||||
|
CT_LIBC_GLIBC_MIN_KERNEL="4.10.8"
|
||||||
|
|
||||||
|
#
|
||||||
|
# C compiler
|
||||||
|
#
|
||||||
|
CT_CC="gcc"
|
||||||
|
CT_CC_CORE_PASSES_NEEDED=y
|
||||||
|
CT_CC_CORE_PASS_1_NEEDED=y
|
||||||
|
CT_CC_CORE_PASS_2_NEEDED=y
|
||||||
|
CT_CC_gcc=y
|
||||||
|
CT_CC_GCC_VERSION="6.3.0"
|
||||||
|
# CT_CC_GCC_SHOW_LINARO is not set
|
||||||
|
CT_CC_GCC_V_6_3_0=y
|
||||||
|
# CT_CC_GCC_V_5_4_0 is not set
|
||||||
|
# CT_CC_GCC_V_4_9_4 is not set
|
||||||
|
CT_CC_GCC_4_8_or_later=y
|
||||||
|
CT_CC_GCC_4_9_or_later=y
|
||||||
|
CT_CC_GCC_5_or_later=y
|
||||||
|
CT_CC_GCC_6=y
|
||||||
|
CT_CC_GCC_6_or_later=y
|
||||||
|
CT_CC_GCC_ENABLE_PLUGINS=y
|
||||||
|
CT_CC_GCC_HAS_LIBMPX=y
|
||||||
|
CT_CC_GCC_ENABLE_CXX_FLAGS=""
|
||||||
|
CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=""
|
||||||
|
CT_CC_GCC_EXTRA_CONFIG_ARRAY=""
|
||||||
|
CT_CC_GCC_STATIC_LIBSTDCXX=y
|
||||||
|
# CT_CC_GCC_SYSTEM_ZLIB is not set
|
||||||
|
CT_CC_GCC_CONFIG_TLS=m
|
||||||
|
|
||||||
|
#
|
||||||
|
# Optimisation features
|
||||||
|
#
|
||||||
|
CT_CC_GCC_USE_GRAPHITE=y
|
||||||
|
CT_CC_GCC_USE_LTO=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Settings for libraries running on target
|
||||||
|
#
|
||||||
|
CT_CC_GCC_ENABLE_TARGET_OPTSPACE=y
|
||||||
|
# CT_CC_GCC_LIBMUDFLAP is not set
|
||||||
|
# CT_CC_GCC_LIBGOMP is not set
|
||||||
|
# CT_CC_GCC_LIBSSP is not set
|
||||||
|
# CT_CC_GCC_LIBQUADMATH is not set
|
||||||
|
# CT_CC_GCC_LIBSANITIZER is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Misc. obscure options.
|
||||||
|
#
|
||||||
|
CT_CC_CXA_ATEXIT=y
|
||||||
|
# CT_CC_GCC_DISABLE_PCH is not set
|
||||||
|
CT_CC_GCC_SJLJ_EXCEPTIONS=m
|
||||||
|
CT_CC_GCC_LDBL_128=m
|
||||||
|
# CT_CC_GCC_BUILD_ID is not set
|
||||||
|
CT_CC_GCC_LNK_HASH_STYLE_DEFAULT=y
|
||||||
|
# CT_CC_GCC_LNK_HASH_STYLE_SYSV is not set
|
||||||
|
# CT_CC_GCC_LNK_HASH_STYLE_GNU is not set
|
||||||
|
# CT_CC_GCC_LNK_HASH_STYLE_BOTH is not set
|
||||||
|
CT_CC_GCC_LNK_HASH_STYLE=""
|
||||||
|
CT_CC_GCC_DEC_FLOAT_AUTO=y
|
||||||
|
# CT_CC_GCC_DEC_FLOAT_BID is not set
|
||||||
|
# CT_CC_GCC_DEC_FLOAT_DPD is not set
|
||||||
|
# CT_CC_GCC_DEC_FLOATS_NO is not set
|
||||||
|
CT_CC_GCC_HAS_ARCH_OPTIONS=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# archictecture-specific options
|
||||||
|
#
|
||||||
|
CT_CC_GCC_mips_llsc=m
|
||||||
|
CT_CC_GCC_mips_synci=m
|
||||||
|
CT_CC_GCC_mips_plt=y
|
||||||
|
CT_CC_SUPPORT_CXX=y
|
||||||
|
CT_CC_SUPPORT_FORTRAN=y
|
||||||
|
CT_CC_SUPPORT_JAVA=y
|
||||||
|
CT_CC_SUPPORT_ADA=y
|
||||||
|
CT_CC_SUPPORT_OBJC=y
|
||||||
|
CT_CC_SUPPORT_OBJCXX=y
|
||||||
|
CT_CC_SUPPORT_GOLANG=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Additional supported languages:
|
||||||
|
#
|
||||||
|
CT_CC_LANG_CXX=y
|
||||||
|
# CT_CC_LANG_FORTRAN is not set
|
||||||
|
# CT_CC_LANG_JAVA is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Debug facilities
|
||||||
|
#
|
||||||
|
# CT_DEBUG_duma is not set
|
||||||
|
CT_DEBUG_gdb=y
|
||||||
|
CT_GDB_CROSS=y
|
||||||
|
# CT_GDB_CROSS_STATIC is not set
|
||||||
|
# CT_GDB_CROSS_SIM is not set
|
||||||
|
# CT_GDB_CROSS_PYTHON is not set
|
||||||
|
CT_GDB_CROSS_EXTRA_CONFIG_ARRAY=""
|
||||||
|
# CT_GDB_NATIVE is not set
|
||||||
|
CT_GDB_GDBSERVER=y
|
||||||
|
CT_GDB_GDBSERVER_HAS_IPA_LIB=y
|
||||||
|
# CT_GDB_GDBSERVER_BUILD_IPA_LIB is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# gdb version
|
||||||
|
#
|
||||||
|
CT_GDB_VERSION="7.12.1"
|
||||||
|
CT_GDB_V_7_12_1=y
|
||||||
|
# CT_GDB_V_7_11_1 is not set
|
||||||
|
CT_GDB_7_12_or_later=y
|
||||||
|
CT_GDB_7_2_or_later=y
|
||||||
|
CT_GDB_7_0_or_later=y
|
||||||
|
CT_GDB_HAS_PKGVERSION_BUGURL=y
|
||||||
|
CT_GDB_HAS_PYTHON=y
|
||||||
|
CT_GDB_INSTALL_GDBINIT=y
|
||||||
|
# CT_DEBUG_ltrace is not set
|
||||||
|
# CT_DEBUG_strace is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Companion libraries
|
||||||
|
#
|
||||||
|
CT_COMPLIBS_NEEDED=y
|
||||||
|
CT_LIBICONV_NEEDED=y
|
||||||
|
CT_GETTEXT_NEEDED=y
|
||||||
|
CT_GMP_NEEDED=y
|
||||||
|
CT_MPFR_NEEDED=y
|
||||||
|
CT_ISL_NEEDED=y
|
||||||
|
CT_MPC_NEEDED=y
|
||||||
|
CT_EXPAT_NEEDED=y
|
||||||
|
CT_NCURSES_NEEDED=y
|
||||||
|
CT_COMPLIBS=y
|
||||||
|
CT_LIBICONV=y
|
||||||
|
CT_GETTEXT=y
|
||||||
|
CT_GMP=y
|
||||||
|
CT_MPFR=y
|
||||||
|
CT_ISL=y
|
||||||
|
CT_MPC=y
|
||||||
|
CT_EXPAT=y
|
||||||
|
CT_NCURSES=y
|
||||||
|
# CT_ZLIB is not set
|
||||||
|
CT_LIBICONV_V_1_15=y
|
||||||
|
# CT_LIBICONV_V_1_14 is not set
|
||||||
|
CT_LIBICONV_VERSION="1.15"
|
||||||
|
CT_GETTEXT_V_0_19_8_1=y
|
||||||
|
CT_GETTEXT_VERSION="0.19.8.1"
|
||||||
|
CT_GMP_V_6_1_2=y
|
||||||
|
CT_GMP_5_0_2_or_later=y
|
||||||
|
CT_GMP_VERSION="6.1.2"
|
||||||
|
CT_MPFR_V_3_1_5=y
|
||||||
|
CT_MPFR_VERSION="3.1.5"
|
||||||
|
CT_ISL_V_0_16_1=y
|
||||||
|
# CT_ISL_V_0_15 is not set
|
||||||
|
CT_ISL_V_0_16_or_later=y
|
||||||
|
CT_ISL_V_0_15_or_later=y
|
||||||
|
CT_ISL_V_0_14_or_later=y
|
||||||
|
CT_ISL_V_0_12_or_later=y
|
||||||
|
CT_ISL_VERSION="0.16.1"
|
||||||
|
CT_MPC_V_1_0_3=y
|
||||||
|
CT_MPC_VERSION="1.0.3"
|
||||||
|
CT_EXPAT_V_2_2_0=y
|
||||||
|
CT_EXPAT_VERSION="2.2.0"
|
||||||
|
CT_NCURSES_V_6_0=y
|
||||||
|
CT_NCURSES_VERSION="6.0"
|
||||||
|
CT_NCURSES_HOST_CONFIG_ARGS=""
|
||||||
|
CT_NCURSES_HOST_DISABLE_DB=y
|
||||||
|
CT_NCURSES_HOST_FALLBACKS="linux,xterm,xterm-color,xterm-256color,vt100"
|
||||||
|
CT_NCURSES_TARGET_CONFIG_ARGS=""
|
||||||
|
# CT_NCURSES_TARGET_DISABLE_DB is not set
|
||||||
|
CT_NCURSES_TARGET_FALLBACKS=""
|
||||||
|
|
||||||
|
#
|
||||||
|
# Companion libraries common options
|
||||||
|
#
|
||||||
|
# CT_COMPLIBS_CHECK is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Companion tools
|
||||||
|
#
|
||||||
|
# CT_COMP_TOOLS_FOR_HOST is not set
|
||||||
|
# CT_COMP_TOOLS_autoconf is not set
|
||||||
|
CT_COMP_TOOLS_automake=y
|
||||||
|
CT_AUTOMAKE_V_1_15=y
|
||||||
|
CT_AUTOMAKE_VERSION="1.15"
|
||||||
|
CT_COMP_TOOLS_libtool=y
|
||||||
|
CT_LIBTOOL_V_2_4_6=y
|
||||||
|
CT_LIBTOOL_VERSION="2.4.6"
|
||||||
|
# CT_COMP_TOOLS_m4 is not set
|
||||||
|
# CT_COMP_TOOLS_make is not set
|
Loading…
Reference in New Issue
Block a user