1# SPDX-License-Identifier: BSD-3-Clause 2# Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com> 3# Copyright(c) 2019 Intel Corporation 4 5if is_ms_compiler 6 build = false 7 reason = 'not supported building with Visual Studio Toolset' 8 subdir_done() 9endif 10 11sources = files('rte_fib.c', 'rte_fib6.c', 'dir24_8.c', 'trie.c') 12headers = files('rte_fib.h', 'rte_fib6.h') 13deps += ['rib'] 14deps += ['rcu'] 15deps += ['net'] 16 17if dpdk_conf.has('RTE_ARCH_X86_64') 18 if target_has_avx512 19 cflags += ['-DCC_DIR24_8_AVX512_SUPPORT', '-DCC_TRIE_AVX512_SUPPORT'] 20 sources += files('dir24_8_avx512.c', 'trie_avx512.c') 21 22 elif cc_has_avx512 23 cflags += ['-DCC_DIR24_8_AVX512_SUPPORT', '-DCC_TRIE_AVX512_SUPPORT'] 24 dir24_8_avx512_tmp = static_library('dir24_8_avx512_tmp', 25 'dir24_8_avx512.c', 26 dependencies: [static_rte_eal, static_rte_rcu], 27 c_args: cflags + cc_avx512_flags) 28 objs += dir24_8_avx512_tmp.extract_objects('dir24_8_avx512.c') 29 trie_avx512_tmp = static_library('trie_avx512_tmp', 30 'trie_avx512.c', 31 dependencies: [static_rte_eal, static_rte_rcu, static_rte_net], 32 c_args: cflags + cc_avx512_flags) 33 objs += trie_avx512_tmp.extract_objects('trie_avx512.c') 34 endif 35endif 36