xref: /spdk/CONFIG (revision 57eee18288f8ed8a6aa8cf51e6eeba32d1b4231f)
1#
2#  BSD LICENSE
3#
4#  Copyright (c) Intel Corporation.
5#  All rights reserved.
6#  Copyright (c) 2021 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
7#
8#  Redistribution and use in source and binary forms, with or without
9#  modification, are permitted provided that the following conditions
10#  are met:
11#
12#    * Redistributions of source code must retain the above copyright
13#      notice, this list of conditions and the following disclaimer.
14#    * Redistributions in binary form must reproduce the above copyright
15#      notice, this list of conditions and the following disclaimer in
16#      the documentation and/or other materials provided with the
17#      distribution.
18#    * Neither the name of Intel Corporation nor the names of its
19#      contributors may be used to endorse or promote products derived
20#      from this software without specific prior written permission.
21#
22#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23#  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24#  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25#  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26#  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28#  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29#  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30#  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31#  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32#  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33#
34
35# Installation prefix
36CONFIG_PREFIX="/usr/local"
37
38# Target architecture
39CONFIG_ARCH=native
40
41# Prefix for cross compilation
42CONFIG_CROSS_PREFIX=
43
44# Build with debug logging. Turn off for performance testing and normal usage
45CONFIG_DEBUG=n
46
47# Treat warnings as errors (fail the build on any warning).
48CONFIG_WERROR=n
49
50# Build with link-time optimization.
51CONFIG_LTO=n
52
53# Generate profile guided optimization data.
54CONFIG_PGO_CAPTURE=n
55
56# Use profile guided optimization data.
57CONFIG_PGO_USE=n
58
59# Build with code coverage instrumentation.
60CONFIG_COVERAGE=n
61
62# Build with Address Sanitizer enabled
63CONFIG_ASAN=n
64
65# Build with Undefined Behavior Sanitizer enabled
66CONFIG_UBSAN=n
67
68# Build with LLVM fuzzing enabled
69CONFIG_FUZZER=n
70CONFIG_FUZZER_LIB=
71
72# Build with Thread Sanitizer enabled
73CONFIG_TSAN=n
74
75# Build functional tests
76CONFIG_TESTS=y
77
78# Build unit tests
79CONFIG_UNIT_TESTS=y
80
81# Build examples
82CONFIG_EXAMPLES=y
83
84# Build apps
85CONFIG_APPS=y
86
87# Build with Control-flow Enforcement Technology (CET)
88CONFIG_CET=n
89
90# Directory that contains the desired SPDK environment library.
91# By default, this is implemented using DPDK.
92CONFIG_ENV=
93
94# This directory should contain 'include' and 'lib' directories for your DPDK
95# installation.
96CONFIG_DPDK_DIR=
97# Automatically set via pkg-config when bare --with-dpdk is set
98CONFIG_DPDK_LIB_DIR=
99CONFIG_DPDK_INC_DIR=
100CONFIG_DPDK_PKG_CONFIG=n
101
102# This directory should contain 'include' and 'lib' directories for WPDK.
103CONFIG_WPDK_DIR=
104
105# Build SPDK FIO plugin. Requires CONFIG_FIO_SOURCE_DIR set to a valid
106# fio source code directory.
107CONFIG_FIO_PLUGIN=n
108
109# This directory should contain the source code directory for fio
110# which is required for building the SPDK FIO plugin.
111CONFIG_FIO_SOURCE_DIR=/usr/src/fio
112
113# Enable RDMA support for the NVMf target.
114# Requires ibverbs development libraries.
115CONFIG_RDMA=n
116CONFIG_RDMA_SEND_WITH_INVAL=n
117CONFIG_RDMA_SET_ACK_TIMEOUT=n
118CONFIG_RDMA_PROV=verbs
119
120# Enable NVMe Character Devices.
121CONFIG_NVME_CUSE=n
122
123# Enable FC support for the NVMf target.
124# Requires FC low level driver (from FC vendor)
125CONFIG_FC=n
126CONFIG_FC_PATH=
127
128# Build Ceph RBD support in bdev modules
129# Requires librbd development libraries
130CONFIG_RBD=n
131
132# Build vhost library.
133CONFIG_VHOST=y
134
135# Build vhost initiator (Virtio) driver.
136CONFIG_VIRTIO=y
137
138# Build custom vfio-user transport for NVMf target and NVMe initiator.
139CONFIG_VFIO_USER=n
140CONFIG_VFIO_USER_DIR=
141
142# Build with PMDK backends
143CONFIG_PMDK=n
144CONFIG_PMDK_DIR=
145
146# Enable the dependencies for building the compress vbdev
147CONFIG_REDUCE=n
148
149# Enable mlx5_pci dpdk compress PMD, enabled automatically if CONFIG_REDUCE=y and libmlx5 exists
150CONFIG_REDUCE_MLX5=n
151
152# Enable mlx5_pci dpdk crypto PMD, enabled automatically if CONFIG_CRYPTO=y and libmlx5 exists
153CONFIG_CRYPTO_MLX5=n
154
155# Requires libiscsi development libraries.
156CONFIG_ISCSI_INITIATOR=n
157
158# Enable the dependencies for building the crypto vbdev
159CONFIG_CRYPTO=n
160
161# Build spdk shared libraries in addition to the static ones.
162CONFIG_SHARED=n
163
164# Build with VTune suport.
165CONFIG_VTUNE=n
166CONFIG_VTUNE_DIR=
167
168# Build Intel IPSEC_MB library
169CONFIG_IPSEC_MB=n
170
171# Enable OCF module
172CONFIG_OCF=n
173CONFIG_OCF_PATH=
174CONFIG_CUSTOMOCF=n
175
176# Build ISA-L library
177CONFIG_ISAL=y
178
179# Build with IO_URING support
180CONFIG_URING=n
181
182# Path to custom built IO_URING library
183CONFIG_URING_PATH=
184
185# Build with FUSE support
186CONFIG_FUSE=n
187
188# Build with RAID5 support
189CONFIG_RAID5=n
190
191# Build with IDXD support
192# In this mode, SPDK fully controls the DSA device.
193CONFIG_IDXD=n
194
195# Build with USDT support
196CONFIG_USDT=n
197
198# Build with IDXD kernel support.
199# In this mode, SPDK shares the DSA device with the kernel.
200CONFIG_IDXD_KERNEL=n
201
202# Is DPDK using libbsd?
203CONFIG_HAVE_LIBBSD=n
204
205# Path to IPSEC_MB used by DPDK
206CONFIG_IPSEC_MB_DIR=
207