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 UBLK support 117CONFIG_UBLK=n 118 119# Build vhost library. 120CONFIG_VHOST=y 121 122# Build vhost initiator (Virtio) driver. 123CONFIG_VIRTIO=y 124 125# Build custom vfio-user transport for NVMf target and NVMe initiator. 126CONFIG_VFIO_USER=n 127CONFIG_VFIO_USER_DIR= 128 129# Build with xNVMe 130CONFIG_XNVME=n 131 132# Enable the dependencies for building the DPDK accel compress module 133CONFIG_DPDK_COMPRESSDEV=n 134 135# Enable the dependencies for building the compress vbdev, includes the reduce library 136CONFIG_VBDEV_COMPRESS=n 137 138# Enable mlx5_pci dpdk compress PMD, enabled automatically if CONFIG_VBDEV_COMPRESS=y and libmlx5 exists 139CONFIG_VBDEV_COMPRESS_MLX5=n 140 141# Enable mlx5_pci dpdk crypto PMD, enabled automatically if CONFIG_CRYPTO=y and libmlx5 exists 142CONFIG_CRYPTO_MLX5=n 143 144# Requires libiscsi development libraries. 145CONFIG_ISCSI_INITIATOR=n 146 147# Enable the dependencies for building the crypto vbdev 148CONFIG_CRYPTO=n 149 150# Build spdk shared libraries in addition to the static ones. 151CONFIG_SHARED=n 152 153# Build with VTune support. 154CONFIG_VTUNE=n 155CONFIG_VTUNE_DIR= 156 157# Build Intel IPSEC_MB library 158CONFIG_IPSEC_MB=n 159 160# Enable OCF module 161CONFIG_OCF=n 162CONFIG_OCF_PATH= 163CONFIG_CUSTOMOCF=n 164 165# Build ISA-L library 166CONFIG_ISAL=y 167 168# Build ISA-L-crypto library 169CONFIG_ISAL_CRYPTO=y 170 171# Build with IO_URING support 172CONFIG_URING=n 173 174# Build IO_URING bdev with ZNS support 175CONFIG_URING_ZNS=n 176 177# Path to custom built IO_URING library 178CONFIG_URING_PATH= 179 180# Path to custom built OPENSSL library 181CONFIG_OPENSSL_PATH= 182 183# Build with FUSE support 184CONFIG_FUSE=n 185 186# Build with RAID5f support 187CONFIG_RAID5F=n 188 189# Build with IDXD support 190# In this mode, SPDK fully controls the DSA device. 191CONFIG_IDXD=n 192 193# Build with USDT support 194CONFIG_USDT=n 195 196# Build with IDXD kernel support. 197# In this mode, SPDK shares the DSA device with the kernel. 198CONFIG_IDXD_KERNEL=n 199 200# arc4random is available in stdlib.h 201CONFIG_HAVE_ARC4RANDOM=n 202 203# uuid_generate_sha1 is available in uuid/uuid.h 204CONFIG_HAVE_UUID_GENERATE_SHA1=n 205 206# Is DPDK using libbsd? 207CONFIG_HAVE_LIBBSD=n 208 209# Is DPDK using libarchive? 210CONFIG_HAVE_LIBARCHIVE=n 211 212# execinfo.h is available 213CONFIG_HAVE_EXECINFO_H=n 214 215# Path to IPSEC_MB used by DPDK 216CONFIG_IPSEC_MB_DIR= 217 218# Generate Storage Management Agent's protobuf interface 219CONFIG_SMA=n 220 221# Build with Avahi support 222CONFIG_AVAHI=n 223 224# Setup DPDK's RTE_MAX_LCORES 225CONFIG_MAX_LCORES= 226