From 680457d398793e7ec55cfa02aead561f002fc340 Mon Sep 17 00:00:00 2001 From: Chao Song Date: Thu, 30 Jun 2022 15:44:02 +0800 Subject: [PATCH] Dockerfile: Install sparse package for code analysis The sparse tool can be used for static code analysis, which helps to detect coding faults at compile-time. Signed-off-by: Chao Song --- Dockerfile | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Dockerfile b/Dockerfile index 64f5226..cfe76ac 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,6 +6,7 @@ ARG CMAKE_VERSION=3.20.5 ARG RENODE_VERSION=1.13.0 ARG LLVM_VERSION=12 ARG BSIM_VERSION=v1.0.3 +ARG SPARSE_VERSION=9212270048c3bd23f56c20a83d4f89b870b2b26e ARG WGET_ARGS="-q --show-progress --progress=bar:force:noscroll --no-check-certificate" ARG UID=1000 @@ -170,6 +171,15 @@ RUN wget ${WGET_ARGS} -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key apt-get update && \ apt-get install -y clang-$LLVM_VERSION lldb-$LLVM_VERSION lld-$LLVM_VERSION clangd-$LLVM_VERSION llvm-$LLVM_VERSION-dev +# Install sparse package for static analysis +RUN mkdir -p /opt/sparse && \ + cd /opt/sparse && \ + git clone https://git.kernel.org/pub/scm/devel/sparse/sparse.git && \ + cd sparse && git checkout ${SPARSE_VERSION} && \ + make -j8 && \ + PREFIX=/opt/sparse make install && \ + rm -rf /opt/sparse/sparse + # Install Zephyr SDK RUN mkdir -p /opt/toolchains && \ cd /opt/toolchains && \