view cbc_gcc_cross.def @ 0:e90bb8bec611 default tip

init
author Ken Miyahira <e175733@ie.u-ryukyu.ac.jp>
date Fri, 25 Dec 2020 19:02:23 +0900
parents
children
line wrap: on
line source

BootStrap: docker
From: ubuntu:20.04

%post
    apt-get update
    apt-get upgrade -y
    DEBIAN_FRONTEND=noninteractive \
    apt-get install -y \
        mercurial \
        build-essential \
        wget \
        libmpc-dev \
        libgmp-dev \
        libmpfr-dev \
        flex \
        libssl-dev \
        ninja-build \
        g++-multilib \
        gcc-multilib \
        cmake \
        ninja-build
    DEBIAN_FRONTEND=noninteractive \
    apt-get install -y \
        crossbuild-essential-armhf

    # install cbc_gcc
    hg clone http://www.cr.ie.u-ryukyu.ac.jp/hg/CbC/CbC_gcc/
    mkdir -p /usr/local/cbc_gcc
    mkdir -p /CbC_gcc/builddir
    cd /CbC_gcc/builddir
    sh /CbC_gcc/configure -v --prefix=/usr/local/cbc_gcc --target=arm-linux-gnueabihf \
        --enable-languages=c,lto --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard \
        --disable-multilib --disable-nls --enable-checking=tree,rtl,assert,types "CFLAGS=-g3 -O0" \
        --disable-libstdcxx --disable-libssp --disable-libstdcxx-pch --disable-libmudflap \
        --with-newlib --with-sysroot=/ --with-as=/usr/arm-linux-gnueabihf/bin/as --with-ld=/usr/arm-linux-gnueabihf/bin/ld
    ./config.status
    make -j$(nproc) all-gcc
    make install-gcc

    # setup linker
    ln -s /usr/arm-linux-gnueabihf/lib/crt*.o /usr/local/cbc_gcc/lib/gcc/arm-linux-gnueabihf/10.0.1/ && \
    ln -s /usr/lib/gcc-cross/arm-linux-gnueabihf/9/crt*.o /usr/local/cbc_gcc/lib/gcc/arm-linux-gnueabihf/10.0.1/ && \
    ln -s /usr/lib/gcc-cross/arm-linux-gnueabihf/9/libgcc* /usr/local/cbc_gcc/lib/gcc/arm-linux-gnueabihf/10.0.1/

    # download arm-none-eabi
    wget "https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2?revision=ca0cbf9c-9de2-491c-ac48-898b5bbc0443&la=en&hash=68760A8AE66026BCF99F05AC017A6A50C6FD832A" -O /tmp/arm.tar.bz2 && \
    tar -jxvf /tmp/arm.tar.bz2 -C /opt && \
    mv /opt/gcc-arm-none-eabi-10-2020-q4-major /opt/tools

%environment
    export LANG=C
    export PATH=/usr/local/cbc_gcc/bin:$PATH