xref: /spdk/CONFIG (revision 2e283fcb67a8ee1d9b4f470f17bec57bbe3adad5)
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 DAOS support in bdev modules
108# Requires daos development libraries
109CONFIG_DAOS=n
110
111# Build vhost library.
112CONFIG_VHOST=y
113
114# Build vhost initiator (Virtio) driver.
115CONFIG_VIRTIO=y
116
117# Build custom vfio-user transport for NVMf target and NVMe initiator.
118CONFIG_VFIO_USER=n
119CONFIG_VFIO_USER_DIR=
120
121# Build with PMDK backends
122CONFIG_PMDK=n
123CONFIG_PMDK_DIR=
124
125# Build with xNVMe
126CONFIG_XNVME=n
127
128# Enable the dependencies for building the compress vbdev
129CONFIG_REDUCE=n
130
131# Enable mlx5_pci dpdk compress PMD, enabled automatically if CONFIG_REDUCE=y and libmlx5 exists
132CONFIG_REDUCE_MLX5=n
133
134# Enable mlx5_pci dpdk crypto PMD, enabled automatically if CONFIG_CRYPTO=y and libmlx5 exists
135CONFIG_CRYPTO_MLX5=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# Path to custom built OPENSSL library
168CONFIG_OPENSSL_PATH=
169
170# Build with FUSE support
171CONFIG_FUSE=n
172
173# Build with RAID5f support
174CONFIG_RAID5F=n
175
176# Build with IDXD support
177# In this mode, SPDK fully controls the DSA device.
178CONFIG_IDXD=n
179
180# Build with USDT support
181CONFIG_USDT=n
182
183# Build with IDXD kernel support.
184# In this mode, SPDK shares the DSA device with the kernel.
185CONFIG_IDXD_KERNEL=n
186
187# arc4random is available in stdlib.h
188CONFIG_HAVE_ARC4RANDOM=n
189
190# Is DPDK using libbsd?
191CONFIG_HAVE_LIBBSD=n
192
193# Path to IPSEC_MB used by DPDK
194CONFIG_IPSEC_MB_DIR=
195
196# Generate Storage Management Agent's protobuf interface
197CONFIG_SMA=n
198