xref: /dpdk/drivers/common/qat/meson.build (revision d014dddb)
1# SPDX-License-Identifier: BSD-3-Clause
2# Copyright(c) 2017-2018 Intel Corporation
3
4if is_windows
5	build = false
6	reason = 'not supported on Windows'
7	subdir_done()
8endif
9
10qat_crypto = true
11qat_crypto_path = 'crypto/qat'
12qat_crypto_relpath = '../../' + qat_crypto_path
13qat_compress = true
14qat_compress_path = 'compress/qat'
15qat_compress_relpath = '../../' + qat_compress_path
16
17if disable_drivers.contains(qat_crypto_path)
18	qat_crypto = false
19	dpdk_drvs_disabled += qat_crypto_path
20	set_variable(qat_crypto_path.underscorify() + '_disable_reason',
21			'Explicitly disabled via build config')
22endif
23if disable_drivers.contains(qat_compress_path)
24	qat_compress = false
25	dpdk_drvs_disabled += qat_compress_path
26	set_variable(qat_compress_path.underscorify() + '_disable_reason',
27			'Explicitly disabled via build config')
28endif
29
30libcrypto = dependency('libcrypto', required: false, method: 'pkg-config')
31if qat_crypto and not libcrypto.found()
32	qat_crypto = false
33	dpdk_drvs_disabled += qat_crypto_path
34	set_variable(qat_crypto_path.underscorify() + '_disable_reason',
35			'missing dependency, libcrypto')
36endif
37
38# The driver should not build if both compression and crypto are disabled
39#FIXME common code depends on compression files so check only compress!
40if not qat_compress # and not qat_crypto
41	build = false
42	reason = '' # rely on reason for compress/crypto above
43	subdir_done()
44endif
45
46deps += ['bus_pci', 'cryptodev', 'net', 'compressdev']
47sources += files('qat_common.c',
48		'qat_qp.c',
49		'qat_device.c',
50		'qat_logs.c')
51includes += include_directories('qat_adf',
52		qat_crypto_relpath,
53		qat_compress_relpath)
54
55if qat_compress
56	foreach f: ['qat_comp_pmd.c', 'qat_comp.c']
57		sources += files(join_paths(qat_compress_relpath, f))
58	endforeach
59endif
60
61if qat_crypto
62	foreach f: ['qat_sym_pmd.c', 'qat_sym.c', 'qat_sym_session.c',
63			'qat_sym_hw_dp.c', 'qat_asym_pmd.c', 'qat_asym.c']
64		sources += files(join_paths(qat_crypto_relpath, f))
65	endforeach
66	deps += ['security']
67	ext_deps += libcrypto
68	cflags += ['-DBUILD_QAT_SYM', '-DBUILD_QAT_ASYM']
69endif
70