1# 2# BSD LICENSE 3# 4# Copyright (c) Intel Corporation. 5# All rights reserved. 6# Copyright (c) 2021 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 7# 8# Redistribution and use in source and binary forms, with or without 9# modification, are permitted provided that the following conditions 10# are met: 11# 12# * Redistributions of source code must retain the above copyright 13# notice, this list of conditions and the following disclaimer. 14# * Redistributions in binary form must reproduce the above copyright 15# notice, this list of conditions and the following disclaimer in 16# the documentation and/or other materials provided with the 17# distribution. 18# * Neither the name of Intel Corporation nor the names of its 19# contributors may be used to endorse or promote products derived 20# from this software without specific prior written permission. 21# 22# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 25# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 26# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 27# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 28# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 29# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 30# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 32# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33# 34 35# Installation prefix 36CONFIG_PREFIX="/usr/local" 37 38# Target architecture 39CONFIG_ARCH=native 40 41# Prefix for cross compilation 42CONFIG_CROSS_PREFIX= 43 44# Build with debug logging. Turn off for performance testing and normal usage 45CONFIG_DEBUG=n 46 47# Treat warnings as errors (fail the build on any warning). 48CONFIG_WERROR=n 49 50# Build with link-time optimization. 51CONFIG_LTO=n 52 53# Generate profile guided optimization data. 54CONFIG_PGO_CAPTURE=n 55 56# Use profile guided optimization data. 57CONFIG_PGO_USE=n 58 59# Build with code coverage instrumentation. 60CONFIG_COVERAGE=n 61 62# Build with Address Sanitizer enabled 63CONFIG_ASAN=n 64 65# Build with Undefined Behavior Sanitizer enabled 66CONFIG_UBSAN=n 67 68# Build with LLVM fuzzing enabled 69CONFIG_FUZZER=n 70CONFIG_FUZZER_LIB= 71 72# Build with Thread Sanitizer enabled 73CONFIG_TSAN=n 74 75# Build functional tests 76CONFIG_TESTS=y 77 78# Build unit tests 79CONFIG_UNIT_TESTS=y 80 81# Build examples 82CONFIG_EXAMPLES=y 83 84# Build apps 85CONFIG_APPS=y 86 87# Build with Control-flow Enforcement Technology (CET) 88CONFIG_CET=n 89 90# Directory that contains the desired SPDK environment library. 91# By default, this is implemented using DPDK. 92CONFIG_ENV= 93 94# This directory should contain 'include' and 'lib' directories for your DPDK 95# installation. 96CONFIG_DPDK_DIR= 97# Automatically set via pkg-config when bare --with-dpdk is set 98CONFIG_DPDK_LIB_DIR= 99CONFIG_DPDK_INC_DIR= 100CONFIG_DPDK_PKG_CONFIG=n 101 102# This directory should contain 'include' and 'lib' directories for WPDK. 103CONFIG_WPDK_DIR= 104 105# Build SPDK FIO plugin. Requires CONFIG_FIO_SOURCE_DIR set to a valid 106# fio source code directory. 107CONFIG_FIO_PLUGIN=n 108 109# This directory should contain the source code directory for fio 110# which is required for building the SPDK FIO plugin. 111CONFIG_FIO_SOURCE_DIR=/usr/src/fio 112 113# Enable RDMA support for the NVMf target. 114# Requires ibverbs development libraries. 115CONFIG_RDMA=n 116CONFIG_RDMA_SEND_WITH_INVAL=n 117CONFIG_RDMA_SET_ACK_TIMEOUT=n 118CONFIG_RDMA_PROV=verbs 119 120# Enable NVMe Character Devices. 121CONFIG_NVME_CUSE=n 122 123# Enable FC support for the NVMf target. 124# Requires FC low level driver (from FC vendor) 125CONFIG_FC=n 126CONFIG_FC_PATH= 127 128# Build Ceph RBD support in bdev modules 129# Requires librbd development libraries 130CONFIG_RBD=n 131 132# Build vhost library. 133CONFIG_VHOST=y 134 135# Build vhost initiator (Virtio) driver. 136CONFIG_VIRTIO=y 137 138# Build custom vfio-user transport for NVMf target and NVMe initiator. 139CONFIG_VFIO_USER=n 140CONFIG_VFIO_USER_DIR= 141 142# Build with PMDK backends 143CONFIG_PMDK=n 144CONFIG_PMDK_DIR= 145 146# Enable the dependencies for building the compress vbdev 147CONFIG_REDUCE=n 148 149# Enable mlx5_pci dpdk compress PMD, enabled automatically if CONFIG_REDUCE=y and libmlx5 exists 150CONFIG_REDUCE_MLX5=n 151 152# Enable mlx5_pci dpdk crypto PMD, enabled automatically if CONFIG_CRYPTO=y and libmlx5 exists 153CONFIG_CRYPTO_MLX5=n 154 155# Requires libiscsi development libraries. 156CONFIG_ISCSI_INITIATOR=n 157 158# Enable the dependencies for building the crypto vbdev 159CONFIG_CRYPTO=n 160 161# Build spdk shared libraries in addition to the static ones. 162CONFIG_SHARED=n 163 164# Build with VTune suport. 165CONFIG_VTUNE=n 166CONFIG_VTUNE_DIR= 167 168# Build Intel IPSEC_MB library 169CONFIG_IPSEC_MB=n 170 171# Enable OCF module 172CONFIG_OCF=n 173CONFIG_OCF_PATH= 174CONFIG_CUSTOMOCF=n 175 176# Build ISA-L library 177CONFIG_ISAL=y 178 179# Build with IO_URING support 180CONFIG_URING=n 181 182# Path to custom built IO_URING library 183CONFIG_URING_PATH= 184 185# Build with FUSE support 186CONFIG_FUSE=n 187 188# Build with RAID5 support 189CONFIG_RAID5=n 190 191# Build with IDXD support 192# In this mode, SPDK fully controls the DSA device. 193CONFIG_IDXD=n 194 195# Build with USDT support 196CONFIG_USDT=n 197 198# Build with IDXD kernel support. 199# In this mode, SPDK shares the DSA device with the kernel. 200CONFIG_IDXD_KERNEL=n 201 202# Is DPDK using libbsd? 203CONFIG_HAVE_LIBBSD=n 204 205# Path to IPSEC_MB used by DPDK 206CONFIG_IPSEC_MB_DIR= 207