From 2bc71094b5a0a889d1c8ddd8df3004ecac22858a Mon Sep 17 00:00:00 2001 From: Michal Berger Date: Mon, 22 Nov 2021 20:02:33 +0100 Subject: [PATCH] configure: Adjust help for bash-completion bash-completion provides its own _configure() to complete options for most of the ./configure scripts out there. To make full use of it, our ./configure should provide all --with{,out}-* options as part of the help output. Also, add some missing --without-* options to cmdline lookup. Signed-off-by: Michal Berger Change-Id: I3498ce906d68422f54e5c6d992acf927bbce787a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10355 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Tomasz Zawadzki Reviewed-by: Konrad Sztyber --- configure | 97 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 50 insertions(+), 47 deletions(-) diff --git a/configure b/configure index 772293f37..31ed9fc34 100755 --- a/configure +++ b/configure @@ -44,63 +44,63 @@ function usage() { echo " disable features and components." echo "" echo "Valid dependencies are listed below." - echo " dpdk Build against a custom dpdk version. By default, the dpdk" - echo " submodule in spdk tree will be used." + echo " --with-dpdk[=DIR] Build against a custom dpdk version. By default, the dpdk" + echo " --without-dpdk submodule in spdk tree will be used." echo " example: /usr/share/dpdk/x86_64-default-linuxapp-gcc" - echo " env Use an alternate environment implementation instead of DPDK." + echo " --with-env=DIR Use an alternate environment implementation instead of DPDK." echo " Implies --without-dpdk." - echo " idxd Build the IDXD library and accel framework plug-in module." - echo " Disabled while experimental. Only built for x86 when enabled." - echo " crypto Build vbdev crypto module." - echo " No path required." - echo " fio Build fio_plugin." - echo " default: /usr/src/fio" - echo " vhost Build vhost target. Enabled by default." - echo " No path required." - echo " virtio Build vhost initiator and virtio-pci bdev modules." - echo " No path required." - echo " vfio-user Build custom vfio-user transport for NVMf target and NVMe initiator." - echo " example: /usr/src/libvfio-user" - echo " pmdk Build persistent memory bdev." - echo " example: /usr/share/pmdk" - echo " reduce Build vbdev compression module." - echo " No path required." - echo " rbd Build Ceph RBD bdev module." - echo " No path required." - echo " rdma Build RDMA transport for NVMf target and initiator." - echo " Accepts optional RDMA provider name. Can be \"verbs\" or \"mlx5_dv\"." + echo " --with-idxd Build the IDXD library and accel framework plug-in module." + echo " --without-idxd Disabled while experimental. Only built for x86 when enabled." + echo " --with-crypto Build vbdev crypto module." + echo " --without-crypto No path required." + echo " --with-fio[=DIR] Build fio_plugin." + echo " --without-fio default: /usr/src/fio" + echo " --with-vhost Build vhost target. Enabled by default." + echo " --without-vhost No path required." + echo " --with-virtio Build vhost initiator and virtio-pci bdev modules." + echo " --without-virtio No path required." + echo " --with-vfio-user[=DIR] Build custom vfio-user transport for NVMf target and NVMe initiator." + echo " --without-vfio-user example: /usr/src/libvfio-user" + echo " --with-pmdk[=DIR] Build persistent memory bdev." + echo " --without-pmdk example: /usr/share/pmdk" + echo " --with-reduce Build vbdev compression module." + echo " --without-reduce No path required." + echo " --with-rbd Build Ceph RBD bdev module." + echo " --without-rbd No path required." + echo " --with-rdma[=DIR] Build RDMA transport for NVMf target and initiator." + echo " --without-rdma Accepts optional RDMA provider name. Can be \"verbs\" or \"mlx5_dv\"." echo " If no provider specified, \"verbs\" provider is used by default." - echo " fc Build FC transport for NVMf target." - echo " If an argument is provided, it is considered a directory containing" + echo " --with-fc[=DIR] Build FC transport for NVMf target." + echo " --without-fc If an argument is provided, it is considered a directory containing" echo " libufc.a and fc_lld.h. Otherwise the regular system paths will" echo " be searched." - echo " shared Build spdk shared libraries." - echo " No path required." - echo " iscsi-initiator Build with iscsi bdev module." - echo " No path required." - echo " vtune Required to profile I/O under Intel VTune Amplifier XE." - echo " example: /opt/intel/vtune_amplifier_xe_version" - echo " ocf Build OCF library and bdev module." - echo " If argument is directory, interpret it as root of OCF repo" + echo " --with-shared Build spdk shared libraries." + echo " --without-shared No path required." + echo " --with-iscsi-initiator Build with iscsi bdev module." + echo " --without-iscsi-initiator No path required." + echo " --with-vtune=DIR Required to profile I/O under Intel VTune Amplifier XE." + echo " --without-vtune example: /opt/intel/vtune_amplifier_xe_version" + echo " --with-ocf[=DIR] Build OCF library and bdev module." + echo " --without-ocf If argument is directory, interpret it as root of OCF repo" echo " If argument is file, interpret it as compiled OCF lib" echo " If no argument is specified, OCF git submodule is used by default" echo " example: /usr/src/ocf/" - echo " isal Build with ISA-L. Enabled by default on x86 and aarch64 architectures." - echo " No path required." - echo " uring Build I/O uring bdev or socket module." - echo " If an argument is provided, it is considered a directory containing" + echo " --with-isal Build with ISA-L. Enabled by default on x86 and aarch64 architectures." + echo " --without-isal No path required." + echo " --with-uring[=DIR] Build I/O uring bdev or socket module." + echo " --without-uring If an argument is provided, it is considered a directory containing" echo " liburing.a and io_uring.h. Otherwise the regular system paths will" echo " be searched." - echo " fuse Build FUSE components for mounting a blobfs filesystem." - echo " No path required." - echo " nvme-cuse Build NVMe driver with support for CUSE-based character devices." - echo " No path required." - echo " raid5 Build with bdev_raid module RAID5 support." - echo " No path required." - echo " wpdk Build using WPDK to provide support for Windows (experimental)." - echo " The argument must be a directory containing lib and include." - echo " usdt Build with userspace DTrace probes enabled." - echo " No path required." + echo " --with-fuse Build FUSE components for mounting a blobfs filesystem." + echo " --without-fuse No path required." + echo " --with-nvme-cuse Build NVMe driver with support for CUSE-based character devices." + echo " --without-nvme-cuse No path required." + echo " --with-raid5 Build with bdev_raid module RAID5 support." + echo " --without-raid5 No path required." + echo " --with-wpdk=DIR Build using WPDK to provide support for Windows (experimental)." + echo " --without-wpdk The argument must be a directory containing lib and include." + echo " --with-usdt Build with userspace DTrace probes enabled." + echo " --without-usdt No path required." echo "" echo "Environment variables:" echo "" @@ -306,6 +306,9 @@ for i in "$@"; do check_dir "$i" CONFIG[WPDK_DIR]=$(readlink -f ${i#*=}) ;; + --without-wpdk) + CONFIG[WPDK_DIR]= + ;; --with-env=*) CONFIG[ENV]="${i#*=}" ;;