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