view cbc_llvm.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 \
        wget \
        libssl-dev \
        vim \
        build-essential \
        ninja-build \
        clang \
        cmake \
        gcc-multilib \
        g++-multilib
    DEBIAN_FRONTEND=noninteractive \
    apt-get install -y \
        crossbuild-essential-armhf

    # 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

    # install cbc_llvm
    hg clone http://www.cr.ie.u-ryukyu.ac.jp/hg/CbC/CbC_llvm/
    mkdir -p /usr/local/cbc_llvm
    mkdir -p /CbC_llvm/builddir
    cd /CbC_llvm/builddir
    cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_BUILD_DOCS=OFF -DLLVM_ENABLE_PROJECTS="clang;lld" \
        -DCMAKE_INSTALL_PREFIX=/usr/local/cbc_llvm -DCMAKE_CROSSCOMPILING=True \
        /CbC_llvm/llvm
    ninja
    ninja install

%environment
    CC=/usr/local/cbc_llvm/bin/clang
    CXX=/usr/local/cbc_llvm/bin/clang++
    LLVM_DIR=CbC_llvm
    export CC CXX LLVM_DIR
    export PATH=/usr/local/cbc_llvm/bin:$PATH