@@ -129,6 +129,53 @@ RUN mkdir /tools/blobs
129129RUN cp /tools/esp-idf/examples/get-started/hello_world/build/bootloader/bootloader.bin /tools/blobs/
130130RUN cp /tools/esp-idf/examples/get-started/hello_world/build/partition_table/partition-table.bin /tools/blobs/
131131
132+ # ##############################################################################
133+ # Build image for tool required by Renesas builds
134+ # ##############################################################################
135+ FROM nuttx-toolchain-base AS nuttx-toolchain-renesas
136+ # Build Renesas RX GCC toolchain
137+ RUN apt-get install -y -qq build-essential flex bison texinfo libncurses5-dev m4 make g++ wget
138+
139+ # Download toolchain source code
140+ RUN mkdir -p /tools/renesas-tools/source/binutils && \
141+ curl -s -L "https://gcc-renesas.com/downloads/d.php?f=rx/binutils/4.8.4.201803-gnurx/rx_binutils2.24_2018Q3.tar.gz" \
142+ | tar -C renesas-tools/source/binutils --strip-components=1 -xz
143+ RUN mkdir -p /tools/renesas-tools/source/gcc && \
144+ curl -s -L "https://gcc-renesas.com/downloads/d.php?f=rx/gcc/4.8.4.201803-gnurx/rx_gcc_4.8.4_2018Q3.tar.gz" \
145+ | tar -C renesas-tools/source/gcc --strip-components=1 -xz
146+ RUN mkdir -p /tools/renesas-tools/source/newlib && \
147+ curl -s -L "https://gcc-renesas.com/downloads/d.php?f=rx/newlib/4.8.4.201803-gnurx/rx_newlib2.2.0_2018Q3.tar.gz" \
148+ | tar -C renesas-tools/source/newlib --strip-components=1 -xz
149+
150+ # Install binutils
151+ RUN cd renesas-tools/source/binutils && \
152+ chmod +x ./configure ./mkinstalldirs && \
153+ mkdir -p /tools/renesas-tools/build/binutils && cd /tools/renesas-tools/build/binutils && \
154+ /tools/renesas-tools/source/binutils/configure --target=rx-elf --prefix=/tools/renesas-toolchain/rx-elf-gcc --disable-werror &&\
155+ make && make install
156+ ENV PATH="/tools/renesas-toolchain/rx-elf-gcc/bin:$PATH"
157+
158+ # Install gcc
159+ RUN cd renesas-tools/source/gcc && \
160+ chmod +x ./contrib/download_prerequisites ./configure ./move-if-change ./libgcc/mkheader.sh && \
161+ ./contrib/download_prerequisites && \
162+ sed -i 's/@tex/\n &/g' ./gcc/doc/gcc.texi && sed -i 's/@end tex/\n &/g' ./gcc/doc/gcc.texi && \
163+ mkdir -p /tools/renesas-tools/build/gcc && cd /tools/renesas-tools/build/gcc && \
164+ /tools/renesas-tools/source/gcc/configure --target=rx-elf --prefix=/tools/renesas-toolchain/rx-elf-gcc \
165+ --disable-shared --disable-multilib --disable-libssp --disable-libstdcxx-pch --disable-werror --enable-lto \
166+ --enable-gold --with-pkgversion=GCC_Build_1.02 --with-newlib --enable-languages=c && \
167+ make && make install
168+ ENV PATH="/tools/renesas-toolchain/rx-elf-gcc/bin:$PATH"
169+
170+ # Install newlib
171+ RUN cd renesas-tools/source/newlib && \
172+ chmod +x ./configure && \
173+ mkdir -p /tools/renesas-tools/build/newlib && cd /tools/renesas-tools/build/newlib && \
174+ /tools/renesas-tools/source/newlib/configure --target=rx-elf --prefix=/tools/renesas-toolchain/rx-elf-gcc && \
175+ make && make install
176+ RUN cd /tools/renesas-tools/build/gcc && \
177+ make && make install
178+
132179
133180# ##############################################################################
134181# Final Docker image used for running CI system. This includes all toolchains
@@ -206,4 +253,8 @@ RUN mkdir -p /tools/blobs/esp32core
206253COPY --from=nuttx-toolchain-esp32 /tools/blobs/* /tools/blobs/esp32core/
207254RUN pip3 install esptool
208255
256+ # Renesas toolchain
257+ COPY --from=nuttx-toolchain-renesas /tools/renesas-toolchain/rx-elf-gcc/ renesas-toolchain/rx-elf-gcc/
258+ ENV PATH="/tools/renesas-toolchain/rx-elf-gcc/bin:$PATH"
259+
209260CMD [ "/bin/bash" ]
0 commit comments