1# SPDX-License-Identifier: BSD-3-Clause 2# Copyright (C) 2015 Intel Corporation. 3# All rights reserved. 4# Copyright (c) 2021, 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 5# Copyright (c) 2022 Dell Inc, or its subsidiaries. 6# 7 8# configure options: __CONFIGURE_OPTIONS__ 9 10# Installation prefix 11CONFIG_PREFIX="/usr/local" 12 13# Target architecture 14CONFIG_ARCH=native 15 16# Destination directory for the libraries 17CONFIG_LIBDIR= 18 19# Prefix for cross compilation 20CONFIG_CROSS_PREFIX= 21 22# Build with debug logging. Turn off for performance testing and normal usage 23CONFIG_DEBUG=n 24 25# Treat warnings as errors (fail the build on any warning). 26CONFIG_WERROR=n 27 28# Build with link-time optimization. 29CONFIG_LTO=n 30 31# Generate profile guided optimization data. 32CONFIG_PGO_CAPTURE=n 33 34# Use profile guided optimization data. 35CONFIG_PGO_USE=n 36 37# Build with code coverage instrumentation. 38CONFIG_COVERAGE=n 39 40# Build with Address Sanitizer enabled 41CONFIG_ASAN=n 42 43# Build with Undefined Behavior Sanitizer enabled 44CONFIG_UBSAN=n 45 46# Build with LLVM fuzzing enabled 47CONFIG_FUZZER=n 48CONFIG_FUZZER_LIB= 49 50# Build with Thread Sanitizer enabled 51CONFIG_TSAN=n 52 53# Build functional tests 54CONFIG_TESTS=y 55 56# Build unit tests 57CONFIG_UNIT_TESTS=y 58 59# Build examples 60CONFIG_EXAMPLES=y 61 62# Build apps 63CONFIG_APPS=y 64 65# Build with Control-flow Enforcement Technology (CET) 66CONFIG_CET=n 67 68# Directory that contains the desired SPDK environment library. 69# By default, this is implemented using DPDK. 70CONFIG_ENV= 71 72# This directory should contain 'include' and 'lib' directories for your DPDK 73# installation. 74CONFIG_DPDK_DIR= 75# Automatically set via pkg-config when bare --with-dpdk is set 76CONFIG_DPDK_LIB_DIR= 77CONFIG_DPDK_INC_DIR= 78CONFIG_DPDK_PKG_CONFIG=n 79 80# This directory should contain 'include' and 'lib' directories for WPDK. 81CONFIG_WPDK_DIR= 82 83# Build SPDK FIO plugin. Requires CONFIG_FIO_SOURCE_DIR set to a valid 84# fio source code directory. 85CONFIG_FIO_PLUGIN=n 86 87# This directory should contain the source code directory for fio 88# which is required for building the SPDK FIO plugin. 89CONFIG_FIO_SOURCE_DIR=/usr/src/fio 90 91# Enable RDMA support for the NVMf target. 92# Requires ibverbs development libraries. 93CONFIG_RDMA=n 94CONFIG_RDMA_SEND_WITH_INVAL=n 95CONFIG_RDMA_SET_ACK_TIMEOUT=n 96CONFIG_RDMA_SET_TOS=n 97CONFIG_RDMA_PROV=verbs 98 99# Enable NVMe Character Devices. 100CONFIG_NVME_CUSE=n 101 102# Enable FC support for the NVMf target. 103# Requires FC low level driver (from FC vendor) 104CONFIG_FC=n 105CONFIG_FC_PATH= 106 107# Build Ceph RBD support in bdev modules 108# Requires librbd development libraries 109CONFIG_RBD=n 110 111# Build DAOS support in bdev modules 112# Requires daos development libraries 113CONFIG_DAOS=n 114CONFIG_DAOS_DIR= 115 116# Build vhost library. 117CONFIG_VHOST=y 118 119# Build vhost initiator (Virtio) driver. 120CONFIG_VIRTIO=y 121 122# Build custom vfio-user transport for NVMf target and NVMe initiator. 123CONFIG_VFIO_USER=n 124CONFIG_VFIO_USER_DIR= 125 126# Build with PMDK backends 127CONFIG_PMDK=n 128CONFIG_PMDK_DIR= 129 130# Build with xNVMe 131CONFIG_XNVME=n 132 133# Enable the dependencies for building the compress vbdev, includes the reduce library 134CONFIG_VBDEV_COMPRESS=n 135 136# Enable mlx5_pci dpdk compress PMD, enabled automatically if CONFIG_VBDEV_COMPRESS=y and libmlx5 exists 137CONFIG_VBDEV_COMPRESS_MLX5=n 138 139# Enable mlx5_pci dpdk crypto PMD, enabled automatically if CONFIG_CRYPTO=y and libmlx5 exists 140CONFIG_CRYPTO_MLX5=n 141 142# Requires libiscsi development libraries. 143CONFIG_ISCSI_INITIATOR=n 144 145# Enable the dependencies for building the crypto vbdev 146CONFIG_CRYPTO=n 147 148# Build spdk shared libraries in addition to the static ones. 149CONFIG_SHARED=n 150 151# Build with VTune support. 152CONFIG_VTUNE=n 153CONFIG_VTUNE_DIR= 154 155# Build Intel IPSEC_MB library 156CONFIG_IPSEC_MB=n 157 158# Enable OCF module 159CONFIG_OCF=n 160CONFIG_OCF_PATH= 161CONFIG_CUSTOMOCF=n 162 163# Build ISA-L library 164CONFIG_ISAL=y 165 166# Build ISA-L-crypto library 167CONFIG_ISAL_CRYPTO=y 168 169# Build with IO_URING support 170CONFIG_URING=n 171 172# Build IO_URING bdev with ZNS support 173CONFIG_URING_ZNS=n 174 175# Path to custom built IO_URING library 176CONFIG_URING_PATH= 177 178# Path to custom built OPENSSL library 179CONFIG_OPENSSL_PATH= 180 181# Build with FUSE support 182CONFIG_FUSE=n 183 184# Build with RAID5f support 185CONFIG_RAID5F=n 186 187# Build with IDXD support 188# In this mode, SPDK fully controls the DSA device. 189CONFIG_IDXD=n 190 191# Build with USDT support 192CONFIG_USDT=n 193 194# Build with IDXD kernel support. 195# In this mode, SPDK shares the DSA device with the kernel. 196CONFIG_IDXD_KERNEL=n 197 198# arc4random is available in stdlib.h 199CONFIG_HAVE_ARC4RANDOM=n 200 201# Is DPDK using libbsd? 202CONFIG_HAVE_LIBBSD=n 203 204# Is DPDK using libarchive? 205CONFIG_HAVE_LIBARCHIVE=n 206 207# Path to IPSEC_MB used by DPDK 208CONFIG_IPSEC_MB_DIR= 209 210# Generate Storage Management Agent's protobuf interface 211CONFIG_SMA=n 212 213# Build with Avahi support 214CONFIG_AVAHI=n 215