xref: /spdk/CONFIG (revision 14e26b9d0410a98689caffcba7bfacac8d85c74d)
1#  SPDX-License-Identifier: BSD-3-Clause
2#  Copyright (C) 2015 Intel Corporation.
3#  All rights reserved.
4#  Copyright (c) 2021, 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
5#  Copyright (c) 2022 Dell Inc, or its subsidiaries.
6#
7
8# configure options: __CONFIGURE_OPTIONS__
9
10# Installation prefix
11CONFIG_PREFIX="/usr/local"
12
13# Target architecture
14CONFIG_ARCH=native
15
16# Destination directory for the libraries
17CONFIG_LIBDIR=
18
19# Prefix for cross compilation
20CONFIG_CROSS_PREFIX=
21
22# Build with debug logging. Turn off for performance testing and normal usage
23CONFIG_DEBUG=n
24
25# Treat warnings as errors (fail the build on any warning).
26CONFIG_WERROR=n
27
28# Build with link-time optimization.
29CONFIG_LTO=n
30
31# Generate profile guided optimization data.
32CONFIG_PGO_CAPTURE=n
33
34# Use profile guided optimization data.
35CONFIG_PGO_USE=n
36
37# Place profile data in this directory
38CONFIG_PGO_DIR=
39
40# Build with code coverage instrumentation.
41CONFIG_COVERAGE=n
42
43# Build with Address Sanitizer enabled
44CONFIG_ASAN=n
45
46# Build with Undefined Behavior Sanitizer enabled
47CONFIG_UBSAN=n
48
49# Build with LLVM fuzzing enabled
50CONFIG_FUZZER=n
51CONFIG_FUZZER_LIB=
52
53# Build with Thread Sanitizer enabled
54CONFIG_TSAN=n
55
56# Build functional tests
57CONFIG_TESTS=y
58
59# Build unit tests
60CONFIG_UNIT_TESTS=y
61
62# Build examples
63CONFIG_EXAMPLES=y
64
65# Build apps
66CONFIG_APPS=y
67
68# Build with Control-flow Enforcement Technology (CET)
69CONFIG_CET=n
70
71# Directory that contains the desired SPDK environment library.
72# By default, this is implemented using DPDK.
73CONFIG_ENV=
74
75# This directory should contain 'include' and 'lib' directories for your DPDK
76# installation.
77CONFIG_DPDK_DIR=
78# Automatically set via pkg-config when bare --with-dpdk is set
79CONFIG_DPDK_LIB_DIR=
80CONFIG_DPDK_INC_DIR=
81CONFIG_DPDK_PKG_CONFIG=n
82
83# This directory should contain 'include' and 'lib' directories for WPDK.
84CONFIG_WPDK_DIR=
85
86# Build SPDK FIO plugin. Requires CONFIG_FIO_SOURCE_DIR set to a valid
87# fio source code directory.
88CONFIG_FIO_PLUGIN=n
89
90# This directory should contain the source code directory for fio
91# which is required for building the SPDK FIO plugin.
92CONFIG_FIO_SOURCE_DIR=/usr/src/fio
93
94# Enable RDMA support for the NVMf target.
95# Requires ibverbs development libraries.
96CONFIG_RDMA=n
97CONFIG_RDMA_SEND_WITH_INVAL=n
98CONFIG_RDMA_SET_ACK_TIMEOUT=n
99CONFIG_RDMA_SET_TOS=n
100CONFIG_RDMA_PROV=verbs
101
102# Enable NVMe Character Devices.
103CONFIG_NVME_CUSE=y
104
105# Enable FC support for the NVMf target.
106# Requires FC low level driver (from FC vendor)
107CONFIG_FC=n
108CONFIG_FC_PATH=
109
110# Build Ceph RBD support in bdev modules
111# Requires librbd development libraries
112CONFIG_RBD=n
113
114# Build DAOS support in bdev modules
115# Requires daos development libraries
116CONFIG_DAOS=n
117CONFIG_DAOS_DIR=
118
119# Build UBLK support
120CONFIG_UBLK=n
121
122# Build vhost library.
123CONFIG_VHOST=y
124
125# Build vhost initiator (Virtio) driver.
126CONFIG_VIRTIO=y
127
128# Build custom vfio-user transport for NVMf target and NVMe initiator.
129CONFIG_VFIO_USER=n
130CONFIG_VFIO_USER_DIR=
131
132# Build with xNVMe
133CONFIG_XNVME=n
134
135# Enable the dependencies for building the DPDK accel compress module
136CONFIG_DPDK_COMPRESSDEV=n
137
138# Enable the dependencies for building the compress vbdev, includes the reduce library
139CONFIG_VBDEV_COMPRESS=n
140
141# Enable mlx5_pci dpdk compress PMD, enabled automatically if CONFIG_VBDEV_COMPRESS=y and libmlx5 exists
142CONFIG_VBDEV_COMPRESS_MLX5=n
143
144# Enable mlx5_pci dpdk crypto PMD, enabled automatically if CONFIG_CRYPTO=y and libmlx5 exists
145CONFIG_CRYPTO_MLX5=n
146
147# Requires libiscsi development libraries.
148CONFIG_ISCSI_INITIATOR=n
149
150# Enable the dependencies for building the crypto vbdev
151CONFIG_CRYPTO=n
152
153# Build spdk shared libraries in addition to the static ones.
154CONFIG_SHARED=n
155
156# Build with VTune support.
157CONFIG_VTUNE=n
158CONFIG_VTUNE_DIR=
159
160# Build Intel IPSEC_MB library
161CONFIG_IPSEC_MB=n
162
163# Enable OCF module
164CONFIG_OCF=n
165CONFIG_OCF_PATH=
166CONFIG_CUSTOMOCF=n
167
168# Build ISA-L library
169CONFIG_ISAL=y
170
171# Build ISA-L-crypto library
172CONFIG_ISAL_CRYPTO=y
173
174# Build with IO_URING support
175CONFIG_URING=n
176
177# Build IO_URING bdev with ZNS support
178CONFIG_URING_ZNS=n
179
180# Path to custom built IO_URING library
181CONFIG_URING_PATH=
182
183# Path to custom built OPENSSL library
184CONFIG_OPENSSL_PATH=
185
186# Build with FUSE support
187CONFIG_FUSE=n
188
189# Build with RAID5f support
190CONFIG_RAID5F=n
191
192# Build with IDXD support
193# In this mode, SPDK fully controls the DSA device.
194CONFIG_IDXD=n
195
196# Build with USDT support
197CONFIG_USDT=n
198
199# Build with IDXD kernel support.
200# In this mode, SPDK shares the DSA device with the kernel.
201CONFIG_IDXD_KERNEL=n
202
203# arc4random is available in stdlib.h
204CONFIG_HAVE_ARC4RANDOM=n
205
206# uuid_generate_sha1 is available in uuid/uuid.h
207CONFIG_HAVE_UUID_GENERATE_SHA1=n
208
209# Is DPDK using libbsd?
210CONFIG_HAVE_LIBBSD=n
211
212# Is DPDK using libarchive?
213CONFIG_HAVE_LIBARCHIVE=n
214
215# execinfo.h is available
216CONFIG_HAVE_EXECINFO_H=n
217
218# Path to IPSEC_MB used by DPDK
219CONFIG_IPSEC_MB_DIR=
220
221# Generate Storage Management Agent's protobuf interface
222CONFIG_SMA=n
223
224# Build with Avahi support
225CONFIG_AVAHI=n
226
227# Setup DPDK's RTE_MAX_LCORES
228CONFIG_MAX_LCORES=
229
230# Build all Go components
231CONFIG_GOLANG=n
232