configure: Make code compliant with shellcheck

Make sure to at least cover directives check_format.sh is looking
for.

Signed-off-by: Michal Berger <michalx.berger@intel.com>
Change-Id: I51750c9c8ee627de4dbab8e0e4933eb39e84c527
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6025
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
This commit is contained in:
Michal Berger 2021-01-21 13:05:25 +01:00 committed by Tomasz Zawadzki
parent 5ccabc8f27
commit bb0f78a278

90
configure vendored
View File

@ -133,8 +133,8 @@ done
# Detect the compiler toolchain # Detect the compiler toolchain
$rootdir/scripts/detect_cc.sh --cc="$CC" --cxx="$CXX" --lto="${CONFIG[LTO]}" --ld="$LD" --cross-prefix="${CONFIG[CROSS_PREFIX]}" > $rootdir/mk/cc.mk $rootdir/scripts/detect_cc.sh --cc="$CC" --cxx="$CXX" --lto="${CONFIG[LTO]}" --ld="$LD" --cross-prefix="${CONFIG[CROSS_PREFIX]}" > $rootdir/mk/cc.mk
CC=$(cat $rootdir/mk/cc.mk | grep "DEFAULT_CC=" | sed s/DEFAULT_CC=//) CC=$(grep "DEFAULT_CC=" "$rootdir/mk/cc.mk" | sed s/DEFAULT_CC=//)
CC_TYPE=$(cat $rootdir/mk/cc.mk | grep "CC_TYPE=" | cut -d "=" -f 2) CC_TYPE=$(grep "CC_TYPE=" "$rootdir/mk/cc.mk" | cut -d "=" -f 2)
arch=$($CC -dumpmachine) arch=$($CC -dumpmachine)
sys_name=$(uname -s) sys_name=$(uname -s)
@ -448,9 +448,9 @@ for i in "$@"; do
done done
if [[ $arch == x86_64* ]]; then if [[ $arch == x86_64* ]]; then
BUILD_CMD=($CC -o /dev/null -x c $CPPFLAGS $CFLAGS $LDFLAGS -march=native) BUILD_CMD=("$CC" -o /dev/null -x c $CPPFLAGS $CFLAGS $LDFLAGS "-march=native")
else else
BUILD_CMD=($CC -o /dev/null -x c $CPPFLAGS $CFLAGS $LDFLAGS) BUILD_CMD=("$CC" -o /dev/null -x c $CPPFLAGS $CFLAGS $LDFLAGS)
fi fi
BUILD_CMD+=(-I/usr/local/include -L/usr/local/lib) BUILD_CMD+=(-I/usr/local/include -L/usr/local/lib)
@ -540,7 +540,7 @@ if [ "${CONFIG[VTUNE]}" = "y" ]; then
fi fi
fi fi
if [ "${CONFIG[ASAN]}" = "y" -a "${CONFIG[TSAN]}" = "y" ]; then if [[ "${CONFIG[ASAN]}" = "y" && "${CONFIG[TSAN]}" = "y" ]]; then
echo "ERROR: ASAN and TSAN cannot be enabled at the same time." echo "ERROR: ASAN and TSAN cannot be enabled at the same time."
exit 1 exit 1
fi fi
@ -572,15 +572,15 @@ if [ "${CONFIG[RDMA]}" = "y" ]; then
if ! echo -e '#include <infiniband/verbs.h>\n#include <rdma/rdma_verbs.h>\n' \ if ! echo -e '#include <infiniband/verbs.h>\n#include <rdma/rdma_verbs.h>\n' \
'int main(void) { return 0; }\n' \ 'int main(void) { return 0; }\n' \
| ${BUILD_CMD[@]} -libverbs -lrdmacm - 2> /dev/null; then | "${BUILD_CMD[@]}" -libverbs -lrdmacm - 2> /dev/null; then
echo --with-rdma requires libverbs and librdmacm. echo "--with-rdma requires libverbs and librdmacm."
echo Please install then re-run this script. echo "Please install then re-run this script."
exit 1 exit 1
fi fi
if echo -e '#include <infiniband/verbs.h>\n' \ if echo -e '#include <infiniband/verbs.h>\n' \
'int main(void) { return !!IBV_WR_SEND_WITH_INV; }\n' \ 'int main(void) { return !!IBV_WR_SEND_WITH_INV; }\n' \
| ${BUILD_CMD[@]} -c - 2> /dev/null; then | "${BUILD_CMD[@]}" -c - 2> /dev/null; then
CONFIG[RDMA_SEND_WITH_INVAL]="y" CONFIG[RDMA_SEND_WITH_INVAL]="y"
else else
CONFIG[RDMA_SEND_WITH_INVAL]="n" CONFIG[RDMA_SEND_WITH_INVAL]="n"
@ -602,7 +602,7 @@ than or equal to 4.14 will see significantly reduced performance.
if echo -e '#include <rdma/rdma_cma.h>\n' \ if echo -e '#include <rdma/rdma_cma.h>\n' \
'int main(void) { return !!RDMA_OPTION_ID_ACK_TIMEOUT; }\n' \ 'int main(void) { return !!RDMA_OPTION_ID_ACK_TIMEOUT; }\n' \
| ${BUILD_CMD[@]} -c - 2> /dev/null; then | "${BUILD_CMD[@]}" -c - 2> /dev/null; then
CONFIG[RDMA_SET_ACK_TIMEOUT]="y" CONFIG[RDMA_SET_ACK_TIMEOUT]="y"
else else
CONFIG[RDMA_SET_ACK_TIMEOUT]="n" CONFIG[RDMA_SET_ACK_TIMEOUT]="n"
@ -615,13 +615,13 @@ than or equal to 4.14 will see significantly reduced performance.
'#include <rdma/rdma_cma.h>\n' \ '#include <rdma/rdma_cma.h>\n' \
'int main(void) { return rdma_establish(NULL) || ' \ 'int main(void) { return rdma_establish(NULL) || ' \
'!!IBV_QP_INIT_ATTR_SEND_OPS_FLAGS || !!MLX5_OPCODE_RDMA_WRITE; }\n' \ '!!IBV_QP_INIT_ATTR_SEND_OPS_FLAGS || !!MLX5_OPCODE_RDMA_WRITE; }\n' \
| ${BUILD_CMD[@]} -lmlx5 -I${rootdir}/include -c - 2> /dev/null; then | "${BUILD_CMD[@]}" -lmlx5 -I${rootdir}/include -c - 2> /dev/null; then
echo "mlx5_dv provider is not supported" echo "mlx5_dv provider is not supported"
exit 1 exit 1
fi fi
fi fi
echo "Using "${CONFIG[RDMA_PROV]}" RDMA provider" echo "Using '${CONFIG[RDMA_PROV]}' RDMA provider"
fi fi
if [[ "${CONFIG[FC]}" = "y" ]]; then if [[ "${CONFIG[FC]}" = "y" ]]; then
@ -663,27 +663,27 @@ fi
if [[ "${CONFIG[PMDK]}" = "y" ]]; then if [[ "${CONFIG[PMDK]}" = "y" ]]; then
if ! echo -e '#include <libpmemblk.h>\nint main(void) { return 0; }\n' \ if ! echo -e '#include <libpmemblk.h>\nint main(void) { return 0; }\n' \
| ${BUILD_CMD[@]} -lpmemblk - 2> /dev/null; then | "${BUILD_CMD[@]}" -lpmemblk - 2> /dev/null; then
echo --with-pmdk requires libpmemblk. echo "--with-pmdk requires libpmemblk."
echo Please install then re-run this script. echo "Please install then re-run this script."
exit 1 exit 1
fi fi
fi fi
if [[ "${CONFIG[REDUCE]}" = "y" ]]; then if [[ "${CONFIG[REDUCE]}" = "y" ]]; then
if ! echo -e '#include <libpmem.h>\nint main(void) { return 0; }\n' \ if ! echo -e '#include <libpmem.h>\nint main(void) { return 0; }\n' \
| ${BUILD_CMD[@]} -lpmem - 2> /dev/null; then | "${BUILD_CMD[@]}" -lpmem - 2> /dev/null; then
echo --with-reduce requires libpmem. echo "--with-reduce requires libpmem."
echo Please install then re-run this script. echo "Please install then re-run this script."
exit 1 exit 1
fi fi
fi fi
if [[ "${CONFIG[NVME_CUSE]}" = "y" ]]; then if [[ "${CONFIG[NVME_CUSE]}" = "y" ]]; then
if ! echo -e '#define FUSE_USE_VERSION 31\n#include <fuse3/cuse_lowlevel.h>\n#include <fuse3/fuse_lowlevel.h>\n#include <fuse3/fuse_opt.h>\nint main(void) { return 0; }\n' \ if ! echo -e '#define FUSE_USE_VERSION 31\n#include <fuse3/cuse_lowlevel.h>\n#include <fuse3/fuse_lowlevel.h>\n#include <fuse3/fuse_opt.h>\nint main(void) { return 0; }\n' \
| ${BUILD_CMD[@]} -lfuse3 -D_FILE_OFFSET_BITS=64 - 2> /dev/null; then | "${BUILD_CMD[@]}" -lfuse3 -D_FILE_OFFSET_BITS=64 - 2> /dev/null; then
echo --with-cuse requires libfuse3. echo "--with-cuse requires libfuse3."
echo Please install then re-run this script. echo "Please install then re-run this script."
exit 1 exit 1
fi fi
fi fi
@ -691,9 +691,9 @@ fi
if [[ "${CONFIG[RBD]}" = "y" ]]; then if [[ "${CONFIG[RBD]}" = "y" ]]; then
if ! echo -e '#include <rbd/librbd.h>\n#include <rados/librados.h>\n' \ if ! echo -e '#include <rbd/librbd.h>\n#include <rados/librados.h>\n' \
'int main(void) { return 0; }\n' \ 'int main(void) { return 0; }\n' \
| ${BUILD_CMD[@]} -lrados -lrbd - 2> /dev/null; then | "${BUILD_CMD[@]}" -lrados -lrbd - 2> /dev/null; then
echo --with-rbd requires librados and librbd. echo "--with-rbd requires librados and librbd."
echo Please install then re-run this script. echo "Please install then re-run this script."
exit 1 exit 1
fi fi
fi fi
@ -705,39 +705,39 @@ if [[ "${CONFIG[ISCSI_INITIATOR]}" = "y" ]]; then
'#error\n' \ '#error\n' \
'#endif\n' \ '#endif\n' \
'int main(void) { return 0; }\n' \ 'int main(void) { return 0; }\n' \
| ${BUILD_CMD[@]} -L/usr/lib64/iscsi -liscsi - 2> /dev/null; then | "${BUILD_CMD[@]}" -L/usr/lib64/iscsi -liscsi - 2> /dev/null; then
echo --with-iscsi-initiator requires libiscsi with echo "--with-iscsi-initiator requires libiscsi with"
echo 'LIBISCSI_API_VERSION >= 20150621.' echo "LIBISCSI_API_VERSION >= 20150621."
echo Please install then re-run this script. echo "Please install then re-run this script."
exit 1 exit 1
fi fi
fi fi
if [[ "${CONFIG[ASAN]}" = "y" ]]; then if [[ "${CONFIG[ASAN]}" = "y" ]]; then
if ! echo -e 'int main(void) { return 0; }\n' \ if ! echo -e 'int main(void) { return 0; }\n' \
| ${BUILD_CMD[@]} -fsanitize=address - 2> /dev/null; then | "${BUILD_CMD[@]}" -fsanitize=address - 2> /dev/null; then
echo --enable-asan requires libasan. echo "--enable-asan requires libasan."
echo Please install then re-run this script. echo "Please install then re-run this script."
exit 1 exit 1
fi fi
fi fi
if [[ "${CONFIG[UBSAN]}" = "y" ]]; then if [[ "${CONFIG[UBSAN]}" = "y" ]]; then
if ! echo -e 'int main(void) { return 0; }\n' \ if ! echo -e 'int main(void) { return 0; }\n' \
| ${BUILD_CMD[@]} -fsanitize=undefined - 2> /dev/null; then | "${BUILD_CMD[@]}" -fsanitize=undefined - 2> /dev/null; then
echo --enable-ubsan requires libubsan. echo "--enable-ubsan requires libubsan."
echo Please install then re-run this script. echo "Please install then re-run this script."
echo If installed, please check that the GCC version is at least 6.4 \ echo "If installed, please check that the GCC version is at least 6.4"
and synchronize CC accordingly. echo "and synchronize CC accordingly."
exit 1 exit 1
fi fi
fi fi
if [[ "${CONFIG[TSAN]}" = "y" ]]; then if [[ "${CONFIG[TSAN]}" = "y" ]]; then
if ! echo -e 'int main(void) { return 0; }\n' \ if ! echo -e 'int main(void) { return 0; }\n' \
| ${BUILD_CMD[@]} -fsanitize=thread - 2> /dev/null; then | "${BUILD_CMD[@]}" -fsanitize=thread - 2> /dev/null; then
echo --enable-tsan requires libtsan. echo "--enable-tsan requires libtsan."
echo Please install then re-run this script. echo "Please install then re-run this script."
exit 1 exit 1
fi fi
fi fi
@ -780,28 +780,28 @@ if [[ "${CONFIG[FUSE]}" = "y" ]]; then
fi fi
if [ "${CONFIG[CET]}" = "y" ]; then if [ "${CONFIG[CET]}" = "y" ]; then
if ! echo -e 'int main(void) { return 0; }\n' | ${BUILD_CMD[@]} -fcf-protection - 2> /dev/null; then if ! echo -e 'int main(void) { return 0; }\n' | "${BUILD_CMD[@]}" -fcf-protection - 2> /dev/null; then
echo --enable-cet requires compiler/linker that supports CET. echo "--enable-cet requires compiler/linker that supports CET."
echo Please install then re-run this script. echo "Please install then re-run this script."
exit 1 exit 1
fi fi
fi fi
# We are now ready to generate final configuration. But first do sanity # We are now ready to generate final configuration. But first do sanity
# check to see if all keys in CONFIG array have its reflection in CONFIG file. # check to see if all keys in CONFIG array have its reflection in CONFIG file.
if [ $(egrep -c "^\s*CONFIG_[[:alnum:]_]+=" $rootdir/CONFIG) -ne ${#CONFIG[@]} ]; then if (($(grep -cE "^\s*CONFIG_[[:alnum:]_]+=" "$rootdir/CONFIG") != ${#CONFIG[@]})); then
echo "" echo ""
echo "BUG: Some configuration options are not present in CONFIG file. Please update this file." echo "BUG: Some configuration options are not present in CONFIG file. Please update this file."
echo "Missing options in CONFIG (+) file and in current config (-): " echo "Missing options in CONFIG (+) file and in current config (-): "
diff -u --label "CONFIG file" --label "CONFIG[@]" \ diff -u --label "CONFIG file" --label "CONFIG[@]" \
<(sed -r -e '/^\s*$/d; /^\s*#.*/d; s/(CONFIG_[[:alnum:]_]+)=.*/\1/g' CONFIG | sort) \ <(sed -r -e '/^\s*$/d; /^\s*#.*/d; s/(CONFIG_[[:alnum:]_]+)=.*/\1/g' CONFIG | sort) \
<(printf "CONFIG_%s\n" ${!CONFIG[@]} | sort) <(printf "CONFIG_%s\n" "${!CONFIG[@]}" | sort)
exit 1 exit 1
fi fi
echo -n "Creating mk/config.mk..." echo -n "Creating mk/config.mk..."
cp -f $rootdir/CONFIG $rootdir/mk/config.mk cp -f $rootdir/CONFIG $rootdir/mk/config.mk
for key in ${!CONFIG[@]}; do for key in "${!CONFIG[@]}"; do
sed -i.bak -r "s#^\s*CONFIG_${key}=.*#CONFIG_${key}\?=${CONFIG[$key]}#g" $rootdir/mk/config.mk sed -i.bak -r "s#^\s*CONFIG_${key}=.*#CONFIG_${key}\?=${CONFIG[$key]}#g" $rootdir/mk/config.mk
done done
# On FreeBSD sed -i 'SUFFIX' - SUFFIX is mandatory. So no way but to delete the backed file. # On FreeBSD sed -i 'SUFFIX' - SUFFIX is mandatory. So no way but to delete the backed file.