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 DAOS support in bdev modules 108# Requires daos development libraries 109CONFIG_DAOS=n 110 111# Build vhost library. 112CONFIG_VHOST=y 113 114# Build vhost initiator (Virtio) driver. 115CONFIG_VIRTIO=y 116 117# Build custom vfio-user transport for NVMf target and NVMe initiator. 118CONFIG_VFIO_USER=n 119CONFIG_VFIO_USER_DIR= 120 121# Build with PMDK backends 122CONFIG_PMDK=n 123CONFIG_PMDK_DIR= 124 125# Build with xNVMe 126CONFIG_XNVME=n 127 128# Enable the dependencies for building the compress vbdev 129CONFIG_REDUCE=n 130 131# Enable mlx5_pci dpdk compress PMD, enabled automatically if CONFIG_REDUCE=y and libmlx5 exists 132CONFIG_REDUCE_MLX5=n 133 134# Enable mlx5_pci dpdk crypto PMD, enabled automatically if CONFIG_CRYPTO=y and libmlx5 exists 135CONFIG_CRYPTO_MLX5=n 136 137# Requires libiscsi development libraries. 138CONFIG_ISCSI_INITIATOR=n 139 140# Enable the dependencies for building the crypto vbdev 141CONFIG_CRYPTO=n 142 143# Build spdk shared libraries in addition to the static ones. 144CONFIG_SHARED=n 145 146# Build with VTune suport. 147CONFIG_VTUNE=n 148CONFIG_VTUNE_DIR= 149 150# Build Intel IPSEC_MB library 151CONFIG_IPSEC_MB=n 152 153# Enable OCF module 154CONFIG_OCF=n 155CONFIG_OCF_PATH= 156CONFIG_CUSTOMOCF=n 157 158# Build ISA-L library 159CONFIG_ISAL=y 160 161# Build with IO_URING support 162CONFIG_URING=n 163 164# Path to custom built IO_URING library 165CONFIG_URING_PATH= 166 167# Path to custom built OPENSSL library 168CONFIG_OPENSSL_PATH= 169 170# Build with FUSE support 171CONFIG_FUSE=n 172 173# Build with RAID5f support 174CONFIG_RAID5F=n 175 176# Build with IDXD support 177# In this mode, SPDK fully controls the DSA device. 178CONFIG_IDXD=n 179 180# Build with USDT support 181CONFIG_USDT=n 182 183# Build with IDXD kernel support. 184# In this mode, SPDK shares the DSA device with the kernel. 185CONFIG_IDXD_KERNEL=n 186 187# arc4random is available in stdlib.h 188CONFIG_HAVE_ARC4RANDOM=n 189 190# Is DPDK using libbsd? 191CONFIG_HAVE_LIBBSD=n 192 193# Path to IPSEC_MB used by DPDK 194CONFIG_IPSEC_MB_DIR= 195 196# Generate Storage Management Agent's protobuf interface 197CONFIG_SMA=n 198