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# Enable UADK dpdk crypto PMD 148CONFIG_DPDK_UADK=n 149 150# Requires libiscsi development libraries. 151CONFIG_ISCSI_INITIATOR=n 152 153# Enable the dependencies for building the crypto vbdev 154CONFIG_CRYPTO=n 155 156# Build spdk shared libraries in addition to the static ones. 157CONFIG_SHARED=n 158 159# Build with VTune support. 160CONFIG_VTUNE=n 161CONFIG_VTUNE_DIR= 162 163# Build Intel IPSEC_MB library 164CONFIG_IPSEC_MB=n 165 166# Enable OCF module 167CONFIG_OCF=n 168CONFIG_OCF_PATH= 169CONFIG_CUSTOMOCF=n 170 171# Build ISA-L library 172CONFIG_ISAL=y 173 174# Build ISA-L-crypto library 175CONFIG_ISAL_CRYPTO=y 176 177# Build with IO_URING support 178CONFIG_URING=n 179 180# Build IO_URING bdev with ZNS support 181CONFIG_URING_ZNS=n 182 183# Path to custom built IO_URING library 184CONFIG_URING_PATH= 185 186# Path to custom built OPENSSL library 187CONFIG_OPENSSL_PATH= 188 189# Build with FUSE support 190CONFIG_FUSE=n 191 192# Build with RAID5f support 193CONFIG_RAID5F=n 194 195# Build with IDXD support 196# In this mode, SPDK fully controls the DSA device. 197CONFIG_IDXD=n 198 199# Build with USDT support 200CONFIG_USDT=n 201 202# Build with IDXD kernel support. 203# In this mode, SPDK shares the DSA device with the kernel. 204CONFIG_IDXD_KERNEL=n 205 206# arc4random is available in stdlib.h 207CONFIG_HAVE_ARC4RANDOM=n 208 209# uuid_generate_sha1 is available in uuid/uuid.h 210CONFIG_HAVE_UUID_GENERATE_SHA1=n 211 212# Is DPDK using libbsd? 213CONFIG_HAVE_LIBBSD=n 214 215# Is DPDK using libarchive? 216CONFIG_HAVE_LIBARCHIVE=n 217 218# execinfo.h is available 219CONFIG_HAVE_EXECINFO_H=n 220 221# libkeytuils is available 222CONFIG_HAVE_KEYUTILS=n 223 224# OpenSSL has EVP_MAC definitions 225CONFIG_HAVE_EVP_MAC=n 226 227# Path to IPSEC_MB used by DPDK 228CONFIG_IPSEC_MB_DIR= 229 230# Generate Storage Management Agent's protobuf interface 231CONFIG_SMA=n 232 233# Build with Avahi support 234CONFIG_AVAHI=n 235 236# Setup DPDK's RTE_MAX_LCORES 237CONFIG_MAX_LCORES=128 238 239# Maximum number of iobuf NUMA nodes supported 240CONFIG_MAX_NUMA_NODES=1 241 242# Build all Go components 243CONFIG_GOLANG=n 244 245# Build fsdev 246CONFIG_FSDEV=y 247 248# Build with aio fsdev 249CONFIG_AIO_FSDEV=y 250 251# struct stat has st_atime field 252CONFIG_HAVE_STRUCT_STAT_ST_ATIM=n 253 254# struct stat has st_atimespec field 255CONFIG_HAVE_STRUCT_STAT_ST_ATIMESPEC=n 256 257# libc contains the copy_file_range 258CONFIG_COPY_FILE_RANGE=n 259 260# liblz4 is available 261CONFIG_HAVE_LZ4=n 262