CI: Add bloaty utility to the ci tools
Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
diff --git a/cibuild.sh b/cibuild.sh
index 7c7fcdf..acd6dd7 100755
--- a/cibuild.sh
+++ b/cibuild.sh
@@ -36,12 +36,12 @@
case $os in
Darwin)
- install="python-tools u-boot-tools discoteq-flock elf-toolchain gen-romfs kconfig-frontends arm-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain avr-gcc-toolchain"
+ install="python-tools u-boot-tools discoteq-flock elf-toolchain gen-romfs kconfig-frontends bloaty arm-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain avr-gcc-toolchain"
mkdir -p ${prebuilt}/homebrew
export HOMEBREW_CACHE=${prebuilt}/homebrew
;;
Linux)
- install="python-tools gen-romfs gperf kconfig-frontends arm-gcc-toolchain mips-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain c-cache"
+ install="python-tools gen-romfs gperf kconfig-frontends bloaty arm-gcc-toolchain mips-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain c-cache"
;;
esac
@@ -137,6 +137,19 @@
fi
}
+function bloaty {
+ add_path $prebuilt/bloaty/bin
+ if [ ! -f "$prebuilt/bloaty/bin/bloaty" ]; then
+ git clone --depth 1 --branch v1.1 https://github.com/google/bloaty bloaty-src
+ cd bloaty-src
+ mkdir -p $prebuilt/bloaty
+ cmake -DCMAKE_SYSTEM_PREFIX_PATH=$prebuilt/bloaty
+ make install -j 6
+ cd $prebuilt
+ rm -rf bloaty-src
+ fi
+}
+
function arm-gcc-toolchain {
add_path $prebuilt/gcc-arm-none-eabi/bin
diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile
index 46c2246..aff7977 100644
--- a/docker/linux/Dockerfile
+++ b/docker/linux/Dockerfile
@@ -25,12 +25,15 @@
###############################################################################
FROM builder-base AS nuttx-tools
-RUN apt-get install -y -qq \
+RUN apt-get update -qq && apt-get install -y -qq \
flex \
bison \
gperf \
libncurses5-dev \
- make
+ make \
+ cmake \
+ g++ \
+ git
RUN mkdir /tools
WORKDIR /tools
@@ -49,6 +52,12 @@
&& cd genromfs \
&& make install PREFIX=/tools/genromfs
+RUN mkdir bloaty -p \
+ && git clone --depth 1 --branch v1.1 https://github.com/google/bloaty bloaty \
+ && cd bloaty \
+ && cmake -DCMAKE_SYSTEM_PREFIX_PATH=/tools/bloaty \
+ && make install
+
CMD [ "/bin/bash" ]
###############################################################################
@@ -96,7 +105,7 @@
curl -s -L "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-rc2-linux-amd64.tar.xz" \
| tar -C xtensa-esp32-elf-gcc --strip-components 1 -xJ
-RUN apt-get install -y -qq --no-install-recommends \
+RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends \
git bison gperf python python-pip python-setuptools make cmake ninja-build ccache libffi-dev libssl-dev libusb-1.0
RUN git clone --depth 1 --shallow-submodules --recursive https://github.com/espressif/esp-idf.git
# This is unfortunatly going to re-download some of the same toolchains, but will only be used in the context of esp-idf
@@ -174,6 +183,8 @@
ENV PATH="/tools/genromfs/usr/bin:$PATH"
COPY --from=nuttx-tools /tools/kconfig-frontends/ kconfig-frontends/
ENV PATH="/tools/kconfig-frontends/bin:$PATH"
+COPY --from=nuttx-tools /tools/bloaty/ bloaty/
+ENV PATH="/tools/bloaty/bin:$PATH"
# ARM toolchain
COPY --from=nuttx-toolchain-arm /tools/gcc-arm-none-eabi/ gcc-arm-none-eabi/