# docker.io/acmel/linux-perf-tools-build-fedora:24-x-ARC-uClibc
FROM docker.io/fedora:24
MAINTAINER Arnaldo Carvalho de Melo <acme@kernel.org>
ENV TOOLCHAIN=arc_gnu_2017.09-rc2_prebuilt_uclibc_le_arc700_linux_install
ENV CROSS=arc-linux-
# binutils for ar, used without cross compiler prefix in libelf build
# The second dnf line is to be able to build a kernel, do a make header_install, etc,
# So that we can build samples/bpf/
ENV SOURCEFILE=${TOOLCHAIN}.tar.gz
RUN dnf -y install make flex bison binutils gcc wget tar bzip2 bc findutils xz
RUN wget https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2017.09-rc2/${SOURCEFILE}
#COPY ${SOURCEFILE} .
RUN tar xf ${SOURCEFILE} && \
    rm -f ${SOURCEFILE} && \
    export TARGET=arc-snps-linux-uclibc && \
    export INSTALLDIR=/${TOOLCHAIN}/${TARGET}/sysroot/ && \
    export PATH=/${TOOLCHAIN}/bin:$PATH && \
    export TARGETMACH=${TARGET} && \
    export ZLIB_VER=1.2.11 && \
    export CC=${CROSS}gcc && \
    export LD=${CROSS}ld && \
    export AS=${CROSS}as && \
    export AR=${CROSS}ar && \
    wget -q http://zlib.net/zlib-${ZLIB_VER}.tar.gz && \
    tar xf zlib-${ZLIB_VER}.tar.gz && \
    cd zlib-${ZLIB_VER} && \
    ./configure --prefix=${INSTALLDIR} && \
    make && \
    make install && \
    cd .. && \
    rm -rf zlib-${ZLIB_VER} && \
    rm -f zlib-${ZLIB_VER}.tar.gz && \
    dnf -y clean all && \
    rm -rf /usr/share/doc /usr/share/gtk-doc /usr/share/locale /usr/share/man && \
    unset TARGET INSTALLDIR TARGETMACH CC LD AS
RUN mkdir -m 777 -p /git /tmp/build/perf /tmp/build/objtool /tmp/build/linux && \
    groupadd -r perfbuilder && \
    useradd -m -r -g perfbuilder perfbuilder && \
    chown -R perfbuilder.perfbuilder /tmp/build/ /git/
USER perfbuilder
COPY rx_and_build.sh /
ENV EXTRA_MAKE_ARGS=NO_LIBBPF=1
ENV ARCH=arc
ENV CROSS_COMPILE=/${TOOLCHAIN}/bin/${CROSS}
ENV EXTRA_CFLAGS=-matomic
ENTRYPOINT ["/rx_and_build.sh"]

#    wget -q http://www.mr511.de/software/libelf-0.8.9.tar.gz && \
#    tar xf libelf-0.8.9.tar.gz && \
#    cd libelf-0.8.9 && \
#    ./configure --enable-elf64 --host=${TARGET} --prefix=${INSTALLDIR}/usr && \
#    make && \
#    make install && \
#    cd .. && \
#    rm -rf libelf-0.8.9* && \

#    wget -q http://www.lysator.liu.se/~nisse/misc/argp-standalone-1.4-test2.tar.gz && \
#    tar xf argp-standalone-1.4-test2.tar.gz && \
#    cd argp-standalone-1.4-test2 && \
#    ./configure --host=${TARGET} --prefix=${INSTALLDIR} && \
#    make && \
#    make install && \
#    cd .. && \
#    rm -rf argp-standalone-1.4-test2 && \
#    rm -f argp-standalone-1.4-test2.tar.gz && \
#    wget -q https://fedorahosted.org/releases/e/l/elfutils/0.166/elfutils-0.166.tar.bz2 && \
#    tar xf elfutils-0.166.tar.bz2 && \
#    cd elfutils-0.166 && \
#    ./configure --host=${TARGET} --prefix=${INSTALLDIR} && \
#    make && \
#    make install && \
#    cd .. && \
#    rm -rf elfutils-0.166 && \
#    rm -rf elfutils-0.166.tar.bz2 && \
