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