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