From 71a8e5658cc0ab14069aa2c6f86bb3fb1d46e2d4 Mon Sep 17 00:00:00 2001 From: Michal Berger Date: Fri, 24 Sep 2021 11:07:07 +0200 Subject: [PATCH] autobuild: Consider use of clang while building DPDK Our CI has a separate job dedicated for clang builds. Consider that while specifying arguments to make sure they are compatible with the actual compiler that is being used during the test. Also, be strict as to what compilers can be used for the test - gcc and clang only. Signed-off-by: Michal Berger Change-Id: Ia1a4e9fea9a46e37c07fffe5077c4dacbe13102a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9614 Reviewed-by: Pawel Piatek Reviewed-by: Krzysztof Karas Reviewed-by: Jim Harris Reviewed-by: Tomasz Zawadzki Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins --- autobuild.sh | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/autobuild.sh b/autobuild.sh index eab130722..93a78fb5a 100755 --- a/autobuild.sh +++ b/autobuild.sh @@ -55,10 +55,17 @@ function ocf_precompile() { function build_native_dpdk() { local external_dpdk_dir local external_dpdk_base_dir - local gcc_version + local compiler_version + local compiler - gcc_version=$(gcc -dumpversion) - gcc_version=${gcc_version//./} + compiler=${CC:-gcc} + if [[ $compiler != *clang* && $compiler != *gcc* ]]; then + echo "Unsupported compiler detected ($compiler), failing the test" >&2 + return 1 + fi + + compiler_version=$("$compiler" -dumpversion) + compiler_version=${compiler_version%%.*} external_dpdk_dir="$SPDK_RUN_EXTERNAL_DPDK" external_dpdk_base_dir="$(dirname $external_dpdk_dir)" @@ -75,11 +82,11 @@ function build_native_dpdk() { dpdk_cflags="-fPIC -g -fcommon" dpdk_ldflags="" - if [[ $gcc_version -ge 5 ]]; then + if [[ $compiler == *gcc* && $compiler_version -ge 5 ]]; then dpdk_cflags+=" -Werror" fi - if [[ $gcc_version -ge 10 ]]; then + if [[ $compiler == *gcc* && $compiler_version -ge 10 ]]; then dpdk_cflags+=" -Wno-stringop-overflow" fi