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# Place profile data in this directory 38CONFIG_PGO_DIR= 39 40# Build with code coverage instrumentation. 41CONFIG_COVERAGE=n 42 43# Build with Address Sanitizer enabled 44CONFIG_ASAN=n 45 46# Build with Undefined Behavior Sanitizer enabled 47CONFIG_UBSAN=n 48 49# Build with LLVM fuzzing enabled 50CONFIG_FUZZER=n 51CONFIG_FUZZER_LIB= 52 53# Build with Thread Sanitizer enabled 54CONFIG_TSAN=n 55 56# Build functional tests 57CONFIG_TESTS=y 58 59# Build unit tests 60CONFIG_UNIT_TESTS=y 61 62# Build examples 63CONFIG_EXAMPLES=y 64 65# Build apps 66CONFIG_APPS=y 67 68# Build with Control-flow Enforcement Technology (CET) 69CONFIG_CET=n 70 71# Directory that contains the desired SPDK environment library. 72# By default, this is implemented using DPDK. 73CONFIG_ENV= 74 75# This directory should contain 'include' and 'lib' directories for your DPDK 76# installation. 77CONFIG_DPDK_DIR= 78# Automatically set via pkg-config when bare --with-dpdk is set 79CONFIG_DPDK_LIB_DIR= 80CONFIG_DPDK_INC_DIR= 81CONFIG_DPDK_PKG_CONFIG=n 82 83# This directory should contain 'include' and 'lib' directories for WPDK. 84CONFIG_WPDK_DIR= 85 86# Build SPDK FIO plugin. Requires CONFIG_FIO_SOURCE_DIR set to a valid 87# fio source code directory. 88CONFIG_FIO_PLUGIN=n 89 90# This directory should contain the source code directory for fio 91# which is required for building the SPDK FIO plugin. 92CONFIG_FIO_SOURCE_DIR=/usr/src/fio 93 94# Enable RDMA support for the NVMf target. 95# Requires ibverbs development libraries. 96CONFIG_RDMA=n 97CONFIG_RDMA_SEND_WITH_INVAL=n 98CONFIG_RDMA_SET_ACK_TIMEOUT=n 99CONFIG_RDMA_SET_TOS=n 100CONFIG_RDMA_PROV=verbs 101 102# Enable NVMe Character Devices. 103CONFIG_NVME_CUSE=y 104 105# Enable FC support for the NVMf target. 106# Requires FC low level driver (from FC vendor) 107CONFIG_FC=n 108CONFIG_FC_PATH= 109 110# Build Ceph RBD support in bdev modules 111# Requires librbd development libraries 112CONFIG_RBD=n 113 114# Build DAOS support in bdev modules 115# Requires daos development libraries 116CONFIG_DAOS=n 117CONFIG_DAOS_DIR= 118 119# Build UBLK support 120CONFIG_UBLK=n 121 122# Build vhost library. 123CONFIG_VHOST=y 124 125# Build vhost initiator (Virtio) driver. 126CONFIG_VIRTIO=y 127 128# Build custom vfio-user transport for NVMf target and NVMe initiator. 129CONFIG_VFIO_USER=n 130CONFIG_VFIO_USER_DIR= 131 132# Build with xNVMe 133CONFIG_XNVME=n 134 135# Enable the dependencies for building the DPDK accel compress module 136CONFIG_DPDK_COMPRESSDEV=n 137 138# Enable the dependencies for building the compress vbdev, includes the reduce library 139CONFIG_VBDEV_COMPRESS=n 140 141# Enable mlx5_pci dpdk compress PMD, enabled automatically if CONFIG_VBDEV_COMPRESS=y and libmlx5 exists 142CONFIG_VBDEV_COMPRESS_MLX5=n 143 144# Enable mlx5_pci dpdk crypto PMD, enabled automatically if CONFIG_CRYPTO=y and libmlx5 exists 145CONFIG_CRYPTO_MLX5=n 146 147# Requires libiscsi development libraries. 148CONFIG_ISCSI_INITIATOR=n 149 150# Enable the dependencies for building the crypto vbdev 151CONFIG_CRYPTO=n 152 153# Build spdk shared libraries in addition to the static ones. 154CONFIG_SHARED=n 155 156# Build with VTune support. 157CONFIG_VTUNE=n 158CONFIG_VTUNE_DIR= 159 160# Build Intel IPSEC_MB library 161CONFIG_IPSEC_MB=n 162 163# Enable OCF module 164CONFIG_OCF=n 165CONFIG_OCF_PATH= 166CONFIG_CUSTOMOCF=n 167 168# Build ISA-L library 169CONFIG_ISAL=y 170 171# Build ISA-L-crypto library 172CONFIG_ISAL_CRYPTO=y 173 174# Build with IO_URING support 175CONFIG_URING=n 176 177# Build IO_URING bdev with ZNS support 178CONFIG_URING_ZNS=n 179 180# Path to custom built IO_URING library 181CONFIG_URING_PATH= 182 183# Path to custom built OPENSSL library 184CONFIG_OPENSSL_PATH= 185 186# Build with FUSE support 187CONFIG_FUSE=n 188 189# Build with RAID5f support 190CONFIG_RAID5F=n 191 192# Build with IDXD support 193# In this mode, SPDK fully controls the DSA device. 194CONFIG_IDXD=n 195 196# Build with USDT support 197CONFIG_USDT=n 198 199# Build with IDXD kernel support. 200# In this mode, SPDK shares the DSA device with the kernel. 201CONFIG_IDXD_KERNEL=n 202 203# arc4random is available in stdlib.h 204CONFIG_HAVE_ARC4RANDOM=n 205 206# uuid_generate_sha1 is available in uuid/uuid.h 207CONFIG_HAVE_UUID_GENERATE_SHA1=n 208 209# Is DPDK using libbsd? 210CONFIG_HAVE_LIBBSD=n 211 212# Is DPDK using libarchive? 213CONFIG_HAVE_LIBARCHIVE=n 214 215# execinfo.h is available 216CONFIG_HAVE_EXECINFO_H=n 217 218# Path to IPSEC_MB used by DPDK 219CONFIG_IPSEC_MB_DIR= 220 221# Generate Storage Management Agent's protobuf interface 222CONFIG_SMA=n 223 224# Build with Avahi support 225CONFIG_AVAHI=n 226 227# Setup DPDK's RTE_MAX_LCORES 228CONFIG_MAX_LCORES= 229 230# Build all Go components 231CONFIG_GOLANG=n 232