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