1c75542aeSFan Zhang# SPDX-License-Identifier: BSD-3-Clause 2c75542aeSFan Zhang# Copyright(c) 2021 Intel Corporation 3c75542aeSFan Zhang 45731efeaSTal Shnaidermanif is_windows 55731efeaSTal Shnaiderman build = false 65731efeaSTal Shnaiderman reason = 'not supported on Windows' 75731efeaSTal Shnaiderman subdir_done() 85731efeaSTal Shnaidermanendif 95731efeaSTal Shnaiderman 10*8484d74bSBrian DooleyIMB_required_ver = '1.4.0' 110899a87cSRuifeng WangIMB_header = '#include<intel-ipsec-mb.h>' 120899a87cSRuifeng Wangif arch_subdir == 'arm' 130899a87cSRuifeng Wang IMB_header = '#include<ipsec-mb.h>' 140899a87cSRuifeng Wangendif 15c75542aeSFan Zhanglib = cc.find_library('IPSec_MB', required: false) 16c75542aeSFan Zhangif not lib.found() 17c75542aeSFan Zhang build = false 18c75542aeSFan Zhang reason = 'missing dependency, "libIPSec_MB"' 19fb94d824SBruce Richardson# if the lib is found, check it's the right format 202909f9afSBruce Richardsonelif not cc.links( 21fb94d824SBruce Richardson 'int main(void) {return 0;}', dependencies: lib) 22fb94d824SBruce Richardson build = false 23fb94d824SBruce Richardson reason = 'incompatible dependency, "libIPSec_MB"' 24c75542aeSFan Zhangelse 25c75542aeSFan Zhang ext_deps += lib 26c75542aeSFan Zhang 27c75542aeSFan Zhang # version comes with quotes, so we split based on " and take the middle 28c75542aeSFan Zhang imb_ver = cc.get_define('IMB_VERSION_STR', 290899a87cSRuifeng Wang prefix : IMB_header).split('"')[1] 30c75542aeSFan Zhang 31c75542aeSFan Zhang if (imb_ver == '') or (imb_ver.version_compare('<' + IMB_required_ver)) 32c75542aeSFan Zhang reason = 'IPSec_MB version >= @0@ is required, found version @1@'.format( 33c75542aeSFan Zhang IMB_required_ver, imb_ver) 34c75542aeSFan Zhang build = false 35c75542aeSFan Zhang endif 36c75542aeSFan Zhangendif 37c75542aeSFan Zhang 38f88b0b89SDavid Marchandsources = files( 39f88b0b89SDavid Marchand 'ipsec_mb_private.c', 40c75542aeSFan Zhang 'ipsec_mb_ops.c', 41746825e5SPiotr Bronowski 'pmd_aesni_mb.c', 42bc9ef81cSPiotr Bronowski 'pmd_aesni_gcm.c', 43f1666288SKai Ji 'pmd_chacha_poly.c', 444f1cfda5SPiotr Bronowski 'pmd_kasumi.c', 45cde8df1bSPiotr Bronowski 'pmd_snow3g.c', 46f88b0b89SDavid Marchand 'pmd_zuc.c', 47c75542aeSFan Zhang) 48c75542aeSFan Zhangdeps += ['bus_vdev', 'net', 'security'] 49d5d9e8feSThomas Monjalonrequire_iova_in_mbuf = false 50