xref: /spdk/CONFIG (revision 77a523e4372a69342049cda405616ecc6cac7698)
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# Build with code coverage instrumentation.
38CONFIG_COVERAGE=n
39
40# Build with Address Sanitizer enabled
41CONFIG_ASAN=n
42
43# Build with Undefined Behavior Sanitizer enabled
44CONFIG_UBSAN=n
45
46# Build with LLVM fuzzing enabled
47CONFIG_FUZZER=n
48CONFIG_FUZZER_LIB=
49
50# Build with Thread Sanitizer enabled
51CONFIG_TSAN=n
52
53# Build functional tests
54CONFIG_TESTS=y
55
56# Build unit tests
57CONFIG_UNIT_TESTS=y
58
59# Build examples
60CONFIG_EXAMPLES=y
61
62# Build apps
63CONFIG_APPS=y
64
65# Build with Control-flow Enforcement Technology (CET)
66CONFIG_CET=n
67
68# Directory that contains the desired SPDK environment library.
69# By default, this is implemented using DPDK.
70CONFIG_ENV=
71
72# This directory should contain 'include' and 'lib' directories for your DPDK
73# installation.
74CONFIG_DPDK_DIR=
75# Automatically set via pkg-config when bare --with-dpdk is set
76CONFIG_DPDK_LIB_DIR=
77CONFIG_DPDK_INC_DIR=
78CONFIG_DPDK_PKG_CONFIG=n
79
80# This directory should contain 'include' and 'lib' directories for WPDK.
81CONFIG_WPDK_DIR=
82
83# Build SPDK FIO plugin. Requires CONFIG_FIO_SOURCE_DIR set to a valid
84# fio source code directory.
85CONFIG_FIO_PLUGIN=n
86
87# This directory should contain the source code directory for fio
88# which is required for building the SPDK FIO plugin.
89CONFIG_FIO_SOURCE_DIR=/usr/src/fio
90
91# Enable RDMA support for the NVMf target.
92# Requires ibverbs development libraries.
93CONFIG_RDMA=n
94CONFIG_RDMA_SEND_WITH_INVAL=n
95CONFIG_RDMA_SET_ACK_TIMEOUT=n
96CONFIG_RDMA_SET_TOS=n
97CONFIG_RDMA_PROV=verbs
98
99# Enable NVMe Character Devices.
100CONFIG_NVME_CUSE=n
101
102# Enable FC support for the NVMf target.
103# Requires FC low level driver (from FC vendor)
104CONFIG_FC=n
105CONFIG_FC_PATH=
106
107# Build Ceph RBD support in bdev modules
108# Requires librbd development libraries
109CONFIG_RBD=n
110
111# Build DAOS support in bdev modules
112# Requires daos development libraries
113CONFIG_DAOS=n
114CONFIG_DAOS_DIR=
115
116# Build UBLK support
117CONFIG_UBLK=n
118
119# Build vhost library.
120CONFIG_VHOST=y
121
122# Build vhost initiator (Virtio) driver.
123CONFIG_VIRTIO=y
124
125# Build custom vfio-user transport for NVMf target and NVMe initiator.
126CONFIG_VFIO_USER=n
127CONFIG_VFIO_USER_DIR=
128
129# Build with xNVMe
130CONFIG_XNVME=n
131
132# Enable the dependencies for building the DPDK accel compress module
133CONFIG_DPDK_COMPRESSDEV=n
134
135# Enable the dependencies for building the compress vbdev, includes the reduce library
136CONFIG_VBDEV_COMPRESS=n
137
138# Enable mlx5_pci dpdk compress PMD, enabled automatically if CONFIG_VBDEV_COMPRESS=y and libmlx5 exists
139CONFIG_VBDEV_COMPRESS_MLX5=n
140
141# Enable mlx5_pci dpdk crypto PMD, enabled automatically if CONFIG_CRYPTO=y and libmlx5 exists
142CONFIG_CRYPTO_MLX5=n
143
144# Requires libiscsi development libraries.
145CONFIG_ISCSI_INITIATOR=n
146
147# Enable the dependencies for building the crypto vbdev
148CONFIG_CRYPTO=n
149
150# Build spdk shared libraries in addition to the static ones.
151CONFIG_SHARED=n
152
153# Build with VTune support.
154CONFIG_VTUNE=n
155CONFIG_VTUNE_DIR=
156
157# Build Intel IPSEC_MB library
158CONFIG_IPSEC_MB=n
159
160# Enable OCF module
161CONFIG_OCF=n
162CONFIG_OCF_PATH=
163CONFIG_CUSTOMOCF=n
164
165# Build ISA-L library
166CONFIG_ISAL=y
167
168# Build ISA-L-crypto library
169CONFIG_ISAL_CRYPTO=y
170
171# Build with IO_URING support
172CONFIG_URING=n
173
174# Build IO_URING bdev with ZNS support
175CONFIG_URING_ZNS=n
176
177# Path to custom built IO_URING library
178CONFIG_URING_PATH=
179
180# Path to custom built OPENSSL library
181CONFIG_OPENSSL_PATH=
182
183# Build with FUSE support
184CONFIG_FUSE=n
185
186# Build with RAID5f support
187CONFIG_RAID5F=n
188
189# Build with IDXD support
190# In this mode, SPDK fully controls the DSA device.
191CONFIG_IDXD=n
192
193# Build with USDT support
194CONFIG_USDT=n
195
196# Build with IDXD kernel support.
197# In this mode, SPDK shares the DSA device with the kernel.
198CONFIG_IDXD_KERNEL=n
199
200# arc4random is available in stdlib.h
201CONFIG_HAVE_ARC4RANDOM=n
202
203# uuid_generate_sha1 is available in uuid/uuid.h
204CONFIG_HAVE_UUID_GENERATE_SHA1=n
205
206# Is DPDK using libbsd?
207CONFIG_HAVE_LIBBSD=n
208
209# Is DPDK using libarchive?
210CONFIG_HAVE_LIBARCHIVE=n
211
212# execinfo.h is available
213CONFIG_HAVE_EXECINFO_H=n
214
215# Path to IPSEC_MB used by DPDK
216CONFIG_IPSEC_MB_DIR=
217
218# Generate Storage Management Agent's protobuf interface
219CONFIG_SMA=n
220
221# Build with Avahi support
222CONFIG_AVAHI=n
223
224# Setup DPDK's RTE_MAX_LCORES
225CONFIG_MAX_LCORES=
226