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