xref: /spdk/CONFIG (revision 5a1c74bfa4bd21737dc965b1c539fc356a196295)
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