xref: /spdk/CONFIG (revision 081f8add594e2d188f285968efdeb3a02a91b32d)
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# Enable UADK dpdk crypto PMD
148CONFIG_DPDK_UADK=n
149
150# Requires libiscsi development libraries.
151CONFIG_ISCSI_INITIATOR=n
152
153# Enable the dependencies for building the crypto vbdev
154CONFIG_CRYPTO=n
155
156# Build spdk shared libraries in addition to the static ones.
157CONFIG_SHARED=n
158
159# Build with VTune support.
160CONFIG_VTUNE=n
161CONFIG_VTUNE_DIR=
162
163# Build Intel IPSEC_MB library
164CONFIG_IPSEC_MB=n
165
166# Enable OCF module
167CONFIG_OCF=n
168CONFIG_OCF_PATH=
169CONFIG_CUSTOMOCF=n
170
171# Build ISA-L library
172CONFIG_ISAL=y
173
174# Build ISA-L-crypto library
175CONFIG_ISAL_CRYPTO=y
176
177# Build with IO_URING support
178CONFIG_URING=n
179
180# Build IO_URING bdev with ZNS support
181CONFIG_URING_ZNS=n
182
183# Path to custom built IO_URING library
184CONFIG_URING_PATH=
185
186# Path to custom built OPENSSL library
187CONFIG_OPENSSL_PATH=
188
189# Build with FUSE support
190CONFIG_FUSE=n
191
192# Build with RAID5f support
193CONFIG_RAID5F=n
194
195# Build with IDXD support
196# In this mode, SPDK fully controls the DSA device.
197CONFIG_IDXD=n
198
199# Build with USDT support
200CONFIG_USDT=n
201
202# Build with IDXD kernel support.
203# In this mode, SPDK shares the DSA device with the kernel.
204CONFIG_IDXD_KERNEL=n
205
206# arc4random is available in stdlib.h
207CONFIG_HAVE_ARC4RANDOM=n
208
209# uuid_generate_sha1 is available in uuid/uuid.h
210CONFIG_HAVE_UUID_GENERATE_SHA1=n
211
212# Is DPDK using libbsd?
213CONFIG_HAVE_LIBBSD=n
214
215# Is DPDK using libarchive?
216CONFIG_HAVE_LIBARCHIVE=n
217
218# execinfo.h is available
219CONFIG_HAVE_EXECINFO_H=n
220
221# libkeytuils is available
222CONFIG_HAVE_KEYUTILS=n
223
224# OpenSSL has EVP_MAC definitions
225CONFIG_HAVE_EVP_MAC=n
226
227# Path to IPSEC_MB used by DPDK
228CONFIG_IPSEC_MB_DIR=
229
230# Generate Storage Management Agent's protobuf interface
231CONFIG_SMA=n
232
233# Build with Avahi support
234CONFIG_AVAHI=n
235
236# Setup DPDK's RTE_MAX_LCORES
237CONFIG_MAX_LCORES=128
238
239# Maximum number of iobuf NUMA nodes supported
240CONFIG_MAX_NUMA_NODES=1
241
242# Build all Go components
243CONFIG_GOLANG=n
244
245# Build fsdev
246CONFIG_FSDEV=y
247
248# Build with aio fsdev
249CONFIG_AIO_FSDEV=y
250
251# struct stat has st_atime field
252CONFIG_HAVE_STRUCT_STAT_ST_ATIM=n
253
254# struct stat has st_atimespec field
255CONFIG_HAVE_STRUCT_STAT_ST_ATIMESPEC=n
256
257# libc contains the copy_file_range
258CONFIG_COPY_FILE_RANGE=n
259
260# liblz4 is available
261CONFIG_HAVE_LZ4=n
262