xref: /spdk/CONFIG (revision bf94bb78c431afe6f9095bb19914cb42b136b07d)
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 vhost library.
117CONFIG_VHOST=y
118
119# Build vhost initiator (Virtio) driver.
120CONFIG_VIRTIO=y
121
122# Build custom vfio-user transport for NVMf target and NVMe initiator.
123CONFIG_VFIO_USER=n
124CONFIG_VFIO_USER_DIR=
125
126# Build with PMDK backends
127CONFIG_PMDK=n
128CONFIG_PMDK_DIR=
129
130# Build with xNVMe
131CONFIG_XNVME=n
132
133# Enable the dependencies for building the compress vbdev, includes the reduce library
134CONFIG_VBDEV_COMPRESS=n
135
136# Enable mlx5_pci dpdk compress PMD, enabled automatically if CONFIG_VBDEV_COMPRESS=y and libmlx5 exists
137CONFIG_VBDEV_COMPRESS_MLX5=n
138
139# Enable mlx5_pci dpdk crypto PMD, enabled automatically if CONFIG_CRYPTO=y and libmlx5 exists
140CONFIG_CRYPTO_MLX5=n
141
142# Requires libiscsi development libraries.
143CONFIG_ISCSI_INITIATOR=n
144
145# Enable the dependencies for building the crypto vbdev
146CONFIG_CRYPTO=n
147
148# Build spdk shared libraries in addition to the static ones.
149CONFIG_SHARED=n
150
151# Build with VTune support.
152CONFIG_VTUNE=n
153CONFIG_VTUNE_DIR=
154
155# Build Intel IPSEC_MB library
156CONFIG_IPSEC_MB=n
157
158# Enable OCF module
159CONFIG_OCF=n
160CONFIG_OCF_PATH=
161CONFIG_CUSTOMOCF=n
162
163# Build ISA-L library
164CONFIG_ISAL=y
165
166# Build ISA-L-crypto library
167CONFIG_ISAL_CRYPTO=y
168
169# Build with IO_URING support
170CONFIG_URING=n
171
172# Build IO_URING bdev with ZNS support
173CONFIG_URING_ZNS=n
174
175# Path to custom built IO_URING library
176CONFIG_URING_PATH=
177
178# Path to custom built OPENSSL library
179CONFIG_OPENSSL_PATH=
180
181# Build with FUSE support
182CONFIG_FUSE=n
183
184# Build with RAID5f support
185CONFIG_RAID5F=n
186
187# Build with IDXD support
188# In this mode, SPDK fully controls the DSA device.
189CONFIG_IDXD=n
190
191# Build with USDT support
192CONFIG_USDT=n
193
194# Build with IDXD kernel support.
195# In this mode, SPDK shares the DSA device with the kernel.
196CONFIG_IDXD_KERNEL=n
197
198# arc4random is available in stdlib.h
199CONFIG_HAVE_ARC4RANDOM=n
200
201# Is DPDK using libbsd?
202CONFIG_HAVE_LIBBSD=n
203
204# Is DPDK using libarchive?
205CONFIG_HAVE_LIBARCHIVE=n
206
207# Path to IPSEC_MB used by DPDK
208CONFIG_IPSEC_MB_DIR=
209
210# Generate Storage Management Agent's protobuf interface
211CONFIG_SMA=n
212
213# Build with Avahi support
214CONFIG_AVAHI=n
215