11010fb3aSDaniel Verkamp# 21010fb3aSDaniel Verkamp# BSD LICENSE 31010fb3aSDaniel Verkamp# 4c02b1794SDaniel Verkamp# Copyright (c) Intel Corporation. 51010fb3aSDaniel Verkamp# All rights reserved. 61010fb3aSDaniel Verkamp# 71010fb3aSDaniel Verkamp# Redistribution and use in source and binary forms, with or without 81010fb3aSDaniel Verkamp# modification, are permitted provided that the following conditions 91010fb3aSDaniel Verkamp# are met: 101010fb3aSDaniel Verkamp# 111010fb3aSDaniel Verkamp# * Redistributions of source code must retain the above copyright 121010fb3aSDaniel Verkamp# notice, this list of conditions and the following disclaimer. 131010fb3aSDaniel Verkamp# * Redistributions in binary form must reproduce the above copyright 141010fb3aSDaniel Verkamp# notice, this list of conditions and the following disclaimer in 151010fb3aSDaniel Verkamp# the documentation and/or other materials provided with the 161010fb3aSDaniel Verkamp# distribution. 171010fb3aSDaniel Verkamp# * Neither the name of Intel Corporation nor the names of its 181010fb3aSDaniel Verkamp# contributors may be used to endorse or promote products derived 191010fb3aSDaniel Verkamp# from this software without specific prior written permission. 201010fb3aSDaniel Verkamp# 211010fb3aSDaniel Verkamp# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 221010fb3aSDaniel Verkamp# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 231010fb3aSDaniel Verkamp# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 241010fb3aSDaniel Verkamp# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 251010fb3aSDaniel Verkamp# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 261010fb3aSDaniel Verkamp# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 271010fb3aSDaniel Verkamp# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 281010fb3aSDaniel Verkamp# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 291010fb3aSDaniel Verkamp# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 301010fb3aSDaniel Verkamp# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 311010fb3aSDaniel Verkamp# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 321010fb3aSDaniel Verkamp# 331010fb3aSDaniel Verkamp 342e7fe8e8SDaniel Verkamp# Installation prefix 3585bc2bbeSPawel WodkowskiCONFIG_PREFIX="/usr/local" 362e7fe8e8SDaniel Verkamp 370e6ddfd6SBen Walker# Target architecture 380e6ddfd6SBen WalkerCONFIG_ARCH=native 390e6ddfd6SBen Walker 403def834cSAmelia Blachuciak# Prefix for cross compilation 413def834cSAmelia BlachuciakCONFIG_CROSS_PREFIX= 423def834cSAmelia Blachuciak 431010fb3aSDaniel Verkamp# Build with debug logging. Turn off for performance testing and normal usage 4485bc2bbeSPawel WodkowskiCONFIG_DEBUG=n 451010fb3aSDaniel Verkamp 4655d9ff6aSDaniel Verkamp# Treat warnings as errors (fail the build on any warning). 4785bc2bbeSPawel WodkowskiCONFIG_WERROR=n 4855d9ff6aSDaniel Verkamp 496d6d1161SDaniel Verkamp# Build with link-time optimization. 5085bc2bbeSPawel WodkowskiCONFIG_LTO=n 516d6d1161SDaniel Verkamp 52995d60f4SBen Walker# Generate profile guided optimization data. 53995d60f4SBen WalkerCONFIG_PGO_CAPTURE=n 54995d60f4SBen Walker 55995d60f4SBen Walker# Use profile guided optimization data. 56995d60f4SBen WalkerCONFIG_PGO_USE=n 57995d60f4SBen Walker 58497d40b1SDaniel Verkamp# Build with code coverage instrumentation. 5985bc2bbeSPawel WodkowskiCONFIG_COVERAGE=n 60497d40b1SDaniel Verkamp 614cb05719SDaniel Verkamp# Build with Address Sanitizer enabled 6285bc2bbeSPawel WodkowskiCONFIG_ASAN=n 634cb05719SDaniel Verkamp 641b68a8e7SDaniel Verkamp# Build with Undefined Behavior Sanitizer enabled 6585bc2bbeSPawel WodkowskiCONFIG_UBSAN=n 661b68a8e7SDaniel Verkamp 67830912e2SBen Walker# Build with Thread Sanitizer enabled 6885bc2bbeSPawel WodkowskiCONFIG_TSAN=n 69830912e2SBen Walker 709fcb1cb0STomasz Zawadzki# Build functional tests 7185bc2bbeSPawel WodkowskiCONFIG_TESTS=y 729022a59eSDaniel Verkamp 739fcb1cb0STomasz Zawadzki# Build unit tests 749fcb1cb0STomasz ZawadzkiCONFIG_UNIT_TESTS=y 759fcb1cb0STomasz Zawadzki 769b2c6452SJacek Kalwas# Build examples 779b2c6452SJacek KalwasCONFIG_EXAMPLES=y 789b2c6452SJacek Kalwas 7991e42257SJim Harris# Build with Control-flow Enforcement Technology (CET) 8091e42257SJim HarrisCONFIG_CET=n 8191e42257SJim Harris 82a4747c60SBen Walker# Directory that contains the desired SPDK environment library. 83a4747c60SBen Walker# By default, this is implemented using DPDK. 8485bc2bbeSPawel WodkowskiCONFIG_ENV= 85a4747c60SBen Walker 861010fb3aSDaniel Verkamp# This directory should contain 'include' and 'lib' directories for your DPDK 87ff6299f8SJim Harris# installation. 8885bc2bbeSPawel WodkowskiCONFIG_DPDK_DIR= 891010fb3aSDaniel Verkamp 909854c138SNick Connolly# This directory should contain 'include' and 'lib' directories for WPDK. 919854c138SNick ConnollyCONFIG_WPDK_DIR= 929854c138SNick Connolly 93461cfcecSPawel Wodkowski# Build SPDK FIO plugin. Requires CONFIG_FIO_SOURCE_DIR set to a valid 94ddb59105SBen Walker# fio source code directory. 9585bc2bbeSPawel WodkowskiCONFIG_FIO_PLUGIN=n 96ddb59105SBen Walker 97ddb59105SBen Walker# This directory should contain the source code directory for fio 98ddb59105SBen Walker# which is required for building the SPDK FIO plugin. 9985bc2bbeSPawel WodkowskiCONFIG_FIO_SOURCE_DIR=/usr/src/fio 1000f912a0eSDaniel Verkamp 1013f80d551SDaniel Verkamp# Enable RDMA support for the NVMf target. 1020f912a0eSDaniel Verkamp# Requires ibverbs development libraries. 10385bc2bbeSPawel WodkowskiCONFIG_RDMA=n 10485bc2bbeSPawel WodkowskiCONFIG_RDMA_SEND_WITH_INVAL=n 10594966468SAlexey MarchukCONFIG_RDMA_SET_ACK_TIMEOUT=n 106daee62a0SAlexey MarchukCONFIG_RDMA_PROV=verbs 107c1341b07SZiye Yang 108805d9942STomasz Kulasek# Enable NVMe Character Devices. 109805d9942STomasz KulasekCONFIG_NVME_CUSE=n 110805d9942STomasz Kulasek 111ed56a3d4SAnil Veerabhadrappa# Enable FC support for the NVMf target. 112ed56a3d4SAnil Veerabhadrappa# Requires FC low level driver (from FC vendor) 113ed56a3d4SAnil VeerabhadrappaCONFIG_FC=n 114ed56a3d4SAnil VeerabhadrappaCONFIG_FC_PATH= 115ed56a3d4SAnil Veerabhadrappa 116c1341b07SZiye Yang# Build Ceph RBD support in bdev modules 117c1341b07SZiye Yang# Requires librbd development libraries 11885bc2bbeSPawel WodkowskiCONFIG_RBD=n 119ba74eaf4SDaniel Verkamp 120ba74eaf4SDaniel Verkamp# Build vhost library. 12185bc2bbeSPawel WodkowskiCONFIG_VHOST=y 122fca11f15SPiotr Pelplinski 1237dee96ceSDariusz Stojaczyk# Build vhost initiator (Virtio) driver. 12485bc2bbeSPawel WodkowskiCONFIG_VIRTIO=y 1257dee96ceSDariusz Stojaczyk 1263ff9c136SChangpeng# Build custom vfio-user transport for NVMf target and NVMe initiator. 1273b673b84SChangpeng LiuCONFIG_VFIO_USER=n 128d0b2448bSChangpeng LiuCONFIG_VFIO_USER_DIR= 129b30d57cdSChangpeng Liu 130218dcd84SJim Harris# Build with PMDK backends 13185bc2bbeSPawel WodkowskiCONFIG_PMDK=n 13285bc2bbeSPawel WodkowskiCONFIG_PMDK_DIR= 133e793fad5STomasz Zawadzki 134d9d4e40dSpaul luse# Enable the dependencies for building the compress vbdev 13597022803SJim HarrisCONFIG_REDUCE=n 13697022803SJim Harris 1372af15344SJim Harris# Requires libiscsi development libraries. 13885bc2bbeSPawel WodkowskiCONFIG_ISCSI_INITIATOR=n 13941586b0fSKunal Sablok 1406118b853SDaniel Verkamp# Enable the dependencies for building the crypto vbdev 14185bc2bbeSPawel WodkowskiCONFIG_CRYPTO=n 1420923734cSLance Hartmann 1430923734cSLance Hartmann# Build spdk shared libraries in addition to the static ones. 14485bc2bbeSPawel WodkowskiCONFIG_SHARED=n 145461cfcecSPawel Wodkowski 146461cfcecSPawel Wodkowski# Build with VTune suport. 14785bc2bbeSPawel WodkowskiCONFIG_VTUNE=n 14885bc2bbeSPawel WodkowskiCONFIG_VTUNE_DIR= 1499abf7e8fSSeth Howell 150f823b7f5SJim Harris# Build Intel IPSEC_MB library 151f823b7f5SJim HarrisCONFIG_IPSEC_MB=n 152d1fee489SVitaliy Mysak 153d1fee489SVitaliy Mysak# Enable OCF module 154d1fee489SVitaliy MysakCONFIG_OCF=n 155d1fee489SVitaliy MysakCONFIG_OCF_PATH= 156d1fee489SVitaliy MysakCONFIG_CUSTOMOCF=n 157552e21ccSZiye Yang 158552e21ccSZiye Yang# Build ISA-L library 159552e21ccSZiye YangCONFIG_ISAL=y 1608165bf71SBen Walker 1618165bf71SBen Walker# Build with IO_URING support 1628165bf71SBen WalkerCONFIG_URING=n 1638165bf71SBen Walker 1648165bf71SBen Walker# Path to custom built IO_URING library 1658165bf71SBen WalkerCONFIG_URING_PATH= 1667fa15e28SXiaodong Liu 1677fa15e28SXiaodong Liu# Build with FUSE support 1687fa15e28SXiaodong LiuCONFIG_FUSE=n 16973763d40SArtur Paszkiewicz 17073763d40SArtur Paszkiewicz# Build with RAID5 support 17173763d40SArtur PaszkiewiczCONFIG_RAID5=n 172e58e9fbdSpaul luse 173e58e9fbdSpaul luse# Build with IDXD support 174e58e9fbdSpaul luseCONFIG_IDXD=n 175*5a1c74bfSJim Harris 176*5a1c74bfSJim Harris# Build with USDT support 177*5a1c74bfSJim HarrisCONFIG_USDT=n 178