1# SPDX-License-Identifier: BSD-3-Clause 2# Copyright 2018 6WIND S.A. 3# Copyright 2018 Mellanox Technologies, Ltd 4 5if not (is_linux or is_windows) 6 build = false 7 reason = 'only supported on Linux and Windows' 8 subdir_done() 9endif 10 11deps += ['hash', 'common_mlx5'] 12headers = files('rte_pmd_mlx5.h') 13sources = files( 14 'mlx5.c', 15 'mlx5_ethdev.c', 16 'mlx5_flow.c', 17 'mlx5_dr.c', 18 'mlx5_flow_meter.c', 19 'mlx5_flow_dv.c', 20 'mlx5_flow_hw.c', 21 'mlx5_flow_aso.c', 22 'mlx5_flow_flex.c', 23 'mlx5_mac.c', 24 'mlx5_rss.c', 25 'mlx5_rx.c', 26 'mlx5_rxmode.c', 27 'mlx5_rxq.c', 28 'mlx5_rxtx.c', 29 'mlx5_stats.c', 30 'mlx5_trigger.c', 31 'mlx5_tx.c', 32 'mlx5_tx_empw.c', 33 'mlx5_tx_mpw.c', 34 'mlx5_tx_nompw.c', 35 'mlx5_tx_txpp.c', 36 'mlx5_txq.c', 37 'mlx5_txpp.c', 38 'mlx5_vlan.c', 39 'mlx5_utils.c', 40 'mlx5_devx.c', 41) 42 43if is_linux 44 sources += files( 45 'mlx5_flow_verbs.c', 46 ) 47 if (dpdk_conf.has('RTE_ARCH_X86_64') 48 or dpdk_conf.has('RTE_ARCH_ARM64') 49 or dpdk_conf.has('RTE_ARCH_PPC_64')) 50 sources += files('mlx5_rxtx_vec.c') 51 endif 52endif 53 54cflags_options = [ 55 '-std=c11', 56 '-Wno-strict-prototypes', 57 '-D_BSD_SOURCE', 58 '-D_DEFAULT_SOURCE', 59 '-D_XOPEN_SOURCE=600', 60] 61foreach option:cflags_options 62 if cc.has_argument(option) 63 cflags += option 64 endif 65endforeach 66if get_option('buildtype').contains('debug') 67 cflags += [ '-pedantic', '-DPEDANTIC' ] 68else 69 cflags += [ '-UPEDANTIC' ] 70endif 71subdir(exec_env) 72