diff --git a/drivers/net/fm10k/meson.build b/drivers/net/fm10k/meson.build index 2772ea4df..11152a340 100644 --- a/drivers/net/fm10k/meson.build +++ b/drivers/net/fm10k/meson.build @@ -3,6 +3,11 @@ subdir('base') objs = [base_objs] +if get_option('fm10k_switch') + dpdk_conf.set('RTE_FM10K_SWITCH_MANAGEMENT', 1) + subdir('switch') + objs = [base_objs, switch_objs] +endif sources = files( 'fm10k_ethdev.c', @@ -14,3 +19,6 @@ if arch_subdir == 'x86' endif includes += include_directories('base') +if get_option('fm10k_switch') + includes += include_directories('switch') +endif diff --git a/drivers/net/fm10k/switch/meson.build b/drivers/net/fm10k/switch/meson.build new file mode 100644 index 000000000..6d5222981 --- /dev/null +++ b/drivers/net/fm10k/switch/meson.build @@ -0,0 +1,33 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2017 Intel Corporation + +sources = [ + 'fm10k_i2c.c', + 'fm10k_sbus.c', + 'fm10k_ext_port.c', + 'fm10k_serdes.c', + 'fm10k_sm.c', + 'fm10k_spico_code.c', + 'fm10k_config.c', + 'fm10k_ffu.c', + 'fm10k_stats.c', + 'fm10k_flow.c', + 'fm10k_switch.c' +] + +error_cflags = ['-Wno-unused-parameter', '-Wno-unused-value', + '-Wno-strict-aliasing', '-Wno-format-extra-args', + '-Wno-unused-variable', + '-Wno-implicit-fallthrough' +] +c_args = cflags +foreach flag: error_cflags + if cc.has_argument(flag) + c_args += flag + endif +endforeach + +switch_lib = static_library('fm10k_switch', sources, + dependencies: [static_rte_eal, static_rte_bus_pci, static_rte_hash, static_rte_ethdev], + c_args: c_args) +switch_objs = switch_lib.extract_all_objects() diff --git a/meson_options.txt b/meson_options.txt index 9bf18ab6b..087ee0339 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -12,6 +12,8 @@ option('enable_kmods', type: 'boolean', value: false, description: 'build kernel modules') option('examples', type: 'string', value: '', description: 'Comma-separated list of examples to build by default') +option('fm10k_switch', type: 'boolean', value: true, + description: 'Enable FM10K inline Switch Manager') option('flexran_sdk', type: 'string', value: '', description: 'Path to FlexRAN SDK optional Libraries for BBDEV device') option('ibverbs_link', type: 'combo', choices : ['static', 'shared', 'dlopen'], value: 'shared',