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