xref: /spdk/CONFIG (revision cc6920a4763d4b9a43aa40583c8397d8f14fa100)
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 Thread Sanitizer enabled
69CONFIG_TSAN=n
70
71# Build functional tests
72CONFIG_TESTS=y
73
74# Build unit tests
75CONFIG_UNIT_TESTS=y
76
77# Build examples
78CONFIG_EXAMPLES=y
79
80# Build apps
81CONFIG_APPS=y
82
83# Build with Control-flow Enforcement Technology (CET)
84CONFIG_CET=n
85
86# Directory that contains the desired SPDK environment library.
87# By default, this is implemented using DPDK.
88CONFIG_ENV=
89
90# This directory should contain 'include' and 'lib' directories for your DPDK
91# installation.
92CONFIG_DPDK_DIR=
93# Automatically set via pkg-config when bare --with-dpdk is set
94CONFIG_DPDK_LIB_DIR=
95CONFIG_DPDK_INC_DIR=
96CONFIG_DPDK_PKG_CONFIG=n
97
98# This directory should contain 'include' and 'lib' directories for WPDK.
99CONFIG_WPDK_DIR=
100
101# Build SPDK FIO plugin. Requires CONFIG_FIO_SOURCE_DIR set to a valid
102# fio source code directory.
103CONFIG_FIO_PLUGIN=n
104
105# This directory should contain the source code directory for fio
106# which is required for building the SPDK FIO plugin.
107CONFIG_FIO_SOURCE_DIR=/usr/src/fio
108
109# Enable RDMA support for the NVMf target.
110# Requires ibverbs development libraries.
111CONFIG_RDMA=n
112CONFIG_RDMA_SEND_WITH_INVAL=n
113CONFIG_RDMA_SET_ACK_TIMEOUT=n
114CONFIG_RDMA_PROV=verbs
115
116# Enable NVMe Character Devices.
117CONFIG_NVME_CUSE=n
118
119# Enable FC support for the NVMf target.
120# Requires FC low level driver (from FC vendor)
121CONFIG_FC=n
122CONFIG_FC_PATH=
123
124# Build Ceph RBD support in bdev modules
125# Requires librbd development libraries
126CONFIG_RBD=n
127
128# Build vhost library.
129CONFIG_VHOST=y
130
131# Build vhost initiator (Virtio) driver.
132CONFIG_VIRTIO=y
133
134# Build custom vfio-user transport for NVMf target and NVMe initiator.
135CONFIG_VFIO_USER=n
136CONFIG_VFIO_USER_DIR=
137
138# Build with PMDK backends
139CONFIG_PMDK=n
140CONFIG_PMDK_DIR=
141
142# Enable the dependencies for building the compress vbdev
143CONFIG_REDUCE=n
144
145# Enable mlx5_pci dpdk compress PMD, enabled automatically if CONFIG_REDUCE=y and libmlx5 exists
146CONFIG_REDUCE_MLX5=n
147
148# Requires libiscsi development libraries.
149CONFIG_ISCSI_INITIATOR=n
150
151# Enable the dependencies for building the crypto vbdev
152CONFIG_CRYPTO=n
153
154# Build spdk shared libraries in addition to the static ones.
155CONFIG_SHARED=n
156
157# Build with VTune suport.
158CONFIG_VTUNE=n
159CONFIG_VTUNE_DIR=
160
161# Build Intel IPSEC_MB library
162CONFIG_IPSEC_MB=n
163
164# Enable OCF module
165CONFIG_OCF=n
166CONFIG_OCF_PATH=
167CONFIG_CUSTOMOCF=n
168
169# Build ISA-L library
170CONFIG_ISAL=y
171
172# Build with IO_URING support
173CONFIG_URING=n
174
175# Path to custom built IO_URING library
176CONFIG_URING_PATH=
177
178# Build with FUSE support
179CONFIG_FUSE=n
180
181# Build with RAID5 support
182CONFIG_RAID5=n
183
184# Build with IDXD support
185# In this mode, SPDK fully controls the DSA device.
186CONFIG_IDXD=n
187
188# Build with USDT support
189CONFIG_USDT=n
190
191# Build with IDXD kernel support.
192# In this mode, SPDK shares the DSA device with the kernel.
193CONFIG_IDXD_KERNEL=n
194