dockcross/linux-x64-tinycc/Dockerfile.in
2022-12-16 16:07:56 +01:00

45 lines
1.1 KiB
Docker

ARG ORG=dockcross
FROM ${ORG}/base:latest
LABEL maintainer="Matt McCormick matt.mccormick@kitware.com"
# This image use Tinycc as C compiler and GCC as C++ compiler
ARG REPO_URL=https://github.com/mirror/tinycc.git
ENV REPO_URL=${REPO_URL}
RUN apt-get update && \
apt-get -y install \
libtbb-dev \
&& apt-get clean --yes
# Disable options: --with-libgcc --disable-static
RUN git clone --recurse-submodules --remote-submodules ${REPO_URL} \
&& cd tinycc \
&& ./configure --cpu=x86_64 \
&& make -j$(nproc) \
&& make test \
&& make install
ENV PATH="/usr/local/bin:${PATH}"
# Test if compiler work
RUN tcc -v
ENV CROSS_TRIPLE x86_64-linux-gnu
ENV CROSS_ROOT /usr/bin
ENV AS=/usr/bin/${CROSS_TRIPLE}-as \
AR=/usr/bin/${CROSS_TRIPLE}-ar \
CC=/usr/local/bin/tcc \
CPP=/usr/bin/${CROSS_TRIPLE}-cpp \
CXX=/usr/bin/${CROSS_TRIPLE}-g++ \
LD=/usr/bin/${CROSS_TRIPLE}-ld \
FC=/usr/bin/${CROSS_TRIPLE}-gfortran
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"