X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=scripts%2Fcommon%2Fscan-build.sh;h=9f3caea8ef02edfe836942ce907471d0ef677515;hb=8a4ac991c2ffb7eb730fb9585133a3012ca7ff73;hp=f0819bee5e1e53583274281c761623f3ee131a5b;hpb=ae3ca8a0e72315a894909240d775887ee2fc83c2;p=lttng-ci.git diff --git a/scripts/common/scan-build.sh b/scripts/common/scan-build.sh index f0819be..9f3caea 100755 --- a/scripts/common/scan-build.sh +++ b/scripts/common/scan-build.sh @@ -1,4 +1,4 @@ -#!/bin/bash -exu +#!/bin/bash # # Copyright (C) 2015 Jonathan Rajotte-Julien # Copyright (C) 2019 Michael Jeanson @@ -16,9 +16,21 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +set -exu -# do not exit immediately if any command fails -set +e +# Required variables +WORKSPACE=${WORKSPACE:-} + +DEPS_INC="$WORKSPACE/deps/build/include" +DEPS_LIB="$WORKSPACE/deps/build/lib" +DEPS_PKGCONFIG="$DEPS_LIB/pkgconfig" +DEPS_BIN="$WORKSPACE/deps/build/bin" + +export PATH="$DEPS_BIN:$PATH" +export LD_LIBRARY_PATH="$DEPS_LIB:${LD_LIBRARY_PATH:-}" +export PKG_CONFIG_PATH="$DEPS_PKGCONFIG" +export CPPFLAGS="-I$DEPS_INC" +export LDFLAGS="-L$DEPS_LIB" SRCDIR="$WORKSPACE/src/$PROJECT_NAME" TMPDIR="$WORKSPACE/tmp" @@ -35,12 +47,18 @@ mkdir -p "$TMPDIR" export TMPDIR +# Builds configured with '-Werror=missing-include-dirs' if this directory +# doesn't exist +mkdir -p "$DEPS_INC" + # temp directory to store the scan-build report -SCAN_BUILD_TMPDIR=$( mktemp -d ) +SCAN_BUILD_TMPDIR=$(mktemp -d) case "$PROJECT_NAME" in babeltrace) export BABELTRACE_DEV_MODE=1 + export BABELTRACE_DEBUG_MODE=1 + export BABELTRACE_MINIMAL_LOG_LEVEL=TRACE CONF_OPTS="--enable-python-bindings --enable-python-bindings-doc --enable-python-plugins" BUILD_TYPE="autotools" ;; @@ -59,11 +77,7 @@ lttng-tools) lttng-ust) CONF_OPTS="--enable-java-agent-all --enable-python-agent" BUILD_TYPE="autotools" - export CLASSPATH="/usr/share/java/log4j-1.2.jar" - ;; -linux-rseq) - CONF_OPTS="" - BUILD_TYPE="linux-rseq" + export CLASSPATH="/usr/share/java/log4j-api.jar:/usr/share/java/log4j-core.jar:/usr/share/java/log4j-1.2.jar" ;; *) echo "Generic project, no configure options." @@ -72,27 +86,6 @@ linux-rseq) ;; esac -# liburcu dependency -if [ -d "$WORKSPACE/deps/liburcu" ]; then - URCU_INCS="$WORKSPACE/deps/liburcu/build/include/" - URCU_LIBS="$WORKSPACE/deps/liburcu/build/lib/" - - export CPPFLAGS="-I$URCU_INCS ${CPPFLAGS:-}" - export LDFLAGS="-L$URCU_LIBS ${LDFLAGS:-}" - export LD_LIBRARY_PATH="$URCU_LIBS:${LD_LIBRARY_PATH:-}" -fi - - -# lttng-ust dependency -if [ -d "$WORKSPACE/deps/lttng-ust" ]; then - UST_INCS="$WORKSPACE/deps/lttng-ust/build/include/" - UST_LIBS="$WORKSPACE/deps/lttng-ust/build/lib/" - - export CPPFLAGS="-I$UST_INCS ${CPPFLAGS:-}" - export LDFLAGS="-L$UST_LIBS ${LDFLAGS:-}" - export LD_LIBRARY_PATH="$UST_LIBS:${LD_LIBRARY_PATH:-}" -fi - if [ -d "$WORKSPACE/src/linux" ]; then export KERNELDIR="$WORKSPACE/src/linux" fi @@ -101,7 +94,6 @@ fi cd "$SRCDIR" # Build -echo -e "\033[33;1mRunning Coverity Scan Analysis Tool...\033[0m" case "$BUILD_TYPE" in autotools) # Prepare build dir for autotools based projects @@ -112,11 +104,6 @@ autotools) scan-build -k -o "${SCAN_BUILD_TMPDIR}" make -j"$NPROC" V=1 ;; -linux-rseq) - make defconfig - make -j"$NPROC" prepare - scan-build -k -o "${SCAN_BUILD_TMPDIR}" make -j"$NPROC" kernel/rseq.o kernel/do_on_cpu/core.o kernel/do_on_cpu/interpreter.o kernel/do_on_cpu/validate.o V=1 - ;; *) echo "Unsupported build type: $BUILD_TYPE" exit 1