1# 2# BSD LICENSE 3# 4# Copyright (c) Intel Corporation. 5# All rights reserved. 6# 7# Redistribution and use in source and binary forms, with or without 8# modification, are permitted provided that the following conditions 9# are met: 10# 11# * Redistributions of source code must retain the above copyright 12# notice, this list of conditions and the following disclaimer. 13# * Redistributions in binary form must reproduce the above copyright 14# notice, this list of conditions and the following disclaimer in 15# the documentation and/or other materials provided with the 16# distribution. 17# * Neither the name of Intel Corporation nor the names of its 18# contributors may be used to endorse or promote products derived 19# from this software without specific prior written permission. 20# 21# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32# 33 34# Installation prefix 35CONFIG_PREFIX="/usr/local" 36 37# Target architecture 38CONFIG_ARCH=native 39 40# Prefix for cross compilation 41CONFIG_CROSS_PREFIX= 42 43# Build with debug logging. Turn off for performance testing and normal usage 44CONFIG_DEBUG=n 45 46# Treat warnings as errors (fail the build on any warning). 47CONFIG_WERROR=n 48 49# Build with link-time optimization. 50CONFIG_LTO=n 51 52# Generate profile guided optimization data. 53CONFIG_PGO_CAPTURE=n 54 55# Use profile guided optimization data. 56CONFIG_PGO_USE=n 57 58# Build with code coverage instrumentation. 59CONFIG_COVERAGE=n 60 61# Build with Address Sanitizer enabled 62CONFIG_ASAN=n 63 64# Build with Undefined Behavior Sanitizer enabled 65CONFIG_UBSAN=n 66 67# Build with Thread Sanitizer enabled 68CONFIG_TSAN=n 69 70# Build functional tests 71CONFIG_TESTS=y 72 73# Build unit tests 74CONFIG_UNIT_TESTS=y 75 76# Build examples 77CONFIG_EXAMPLES=y 78 79# Build with Control-flow Enforcement Technology (CET) 80CONFIG_CET=n 81 82# Directory that contains the desired SPDK environment library. 83# By default, this is implemented using DPDK. 84CONFIG_ENV= 85 86# This directory should contain 'include' and 'lib' directories for your DPDK 87# installation. 88CONFIG_DPDK_DIR= 89 90# This directory should contain 'include' and 'lib' directories for WPDK. 91CONFIG_WPDK_DIR= 92 93# Build SPDK FIO plugin. Requires CONFIG_FIO_SOURCE_DIR set to a valid 94# fio source code directory. 95CONFIG_FIO_PLUGIN=n 96 97# This directory should contain the source code directory for fio 98# which is required for building the SPDK FIO plugin. 99CONFIG_FIO_SOURCE_DIR=/usr/src/fio 100 101# Enable RDMA support for the NVMf target. 102# Requires ibverbs development libraries. 103CONFIG_RDMA=n 104CONFIG_RDMA_SEND_WITH_INVAL=n 105CONFIG_RDMA_SET_ACK_TIMEOUT=n 106CONFIG_RDMA_PROV=verbs 107 108# Enable NVMe Character Devices. 109CONFIG_NVME_CUSE=n 110 111# Enable FC support for the NVMf target. 112# Requires FC low level driver (from FC vendor) 113CONFIG_FC=n 114CONFIG_FC_PATH= 115 116# Build Ceph RBD support in bdev modules 117# Requires librbd development libraries 118CONFIG_RBD=n 119 120# Build vhost library. 121CONFIG_VHOST=y 122 123# Build vhost initiator (Virtio) driver. 124CONFIG_VIRTIO=y 125 126# Build custom vfio-user transport for NVMf target and NVMe initiator. 127CONFIG_VFIO_USER=n 128CONFIG_VFIO_USER_DIR= 129 130# Build with PMDK backends 131CONFIG_PMDK=n 132CONFIG_PMDK_DIR= 133 134# Enable the dependencies for building the compress vbdev 135CONFIG_REDUCE=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# Build with FUSE support 168CONFIG_FUSE=n 169 170# Build with RAID5 support 171CONFIG_RAID5=n 172 173# Build with IDXD support 174CONFIG_IDXD=n 175