xref: /dpdk/drivers/common/sfc_efx/base/meson.build (revision 9e7941d758f279f0e6c2c9111e9c1f889b36577f)
15e111ed8SAndrew Rybchenko# SPDX-License-Identifier: BSD-3-Clause
2672386c1SAndrew Rybchenko# Copyright(c) 2019-2021 Xilinx, Inc.
35e111ed8SAndrew Rybchenko# Copyright(c) 2016-2019 Solarflare Communications Inc.
45e111ed8SAndrew Rybchenko#
55e111ed8SAndrew Rybchenko# This software was jointly developed between OKTET Labs (under contract
65e111ed8SAndrew Rybchenko# for Solarflare) and Solarflare Communications, Inc.
75e111ed8SAndrew Rybchenko
85e111ed8SAndrew Rybchenkosources = [
95e111ed8SAndrew Rybchenko        'efx_bootcfg.c',
105e111ed8SAndrew Rybchenko        'efx_crc32.c',
115e111ed8SAndrew Rybchenko        'efx_ev.c',
125e111ed8SAndrew Rybchenko        'efx_evb.c',
135e111ed8SAndrew Rybchenko        'efx_filter.c',
145e111ed8SAndrew Rybchenko        'efx_hash.c',
155e111ed8SAndrew Rybchenko        'efx_intr.c',
165e111ed8SAndrew Rybchenko        'efx_lic.c',
175e111ed8SAndrew Rybchenko        'efx_mac.c',
186f956d5cSIvan Malov        'efx_mae.c',
19*9e7941d7SDenis Pryazhennikov        'efx_table.c',
205e111ed8SAndrew Rybchenko        'efx_mcdi.c',
215e111ed8SAndrew Rybchenko        'efx_mon.c',
225e111ed8SAndrew Rybchenko        'efx_nic.c',
235e111ed8SAndrew Rybchenko        'efx_nvram.c',
24a45edfceSIgor Romanov        'efx_pci.c',
255e111ed8SAndrew Rybchenko        'efx_phy.c',
265e111ed8SAndrew Rybchenko        'efx_port.c',
275e111ed8SAndrew Rybchenko        'efx_proxy.c',
285e111ed8SAndrew Rybchenko        'efx_rx.c',
295e111ed8SAndrew Rybchenko        'efx_sram.c',
305e111ed8SAndrew Rybchenko        'efx_tunnel.c',
315e111ed8SAndrew Rybchenko        'efx_tx.c',
325e111ed8SAndrew Rybchenko        'efx_vpd.c',
334dda72dbSVijay Srivastava        'efx_virtio.c',
345e111ed8SAndrew Rybchenko        'mcdi_mon.c',
355e111ed8SAndrew Rybchenko        'siena_mac.c',
365e111ed8SAndrew Rybchenko        'siena_mcdi.c',
375e111ed8SAndrew Rybchenko        'siena_nic.c',
385e111ed8SAndrew Rybchenko        'siena_nvram.c',
395e111ed8SAndrew Rybchenko        'siena_phy.c',
405e111ed8SAndrew Rybchenko        'siena_sram.c',
415e111ed8SAndrew Rybchenko        'siena_vpd.c',
425e111ed8SAndrew Rybchenko        'ef10_ev.c',
435e111ed8SAndrew Rybchenko        'ef10_evb.c',
445e111ed8SAndrew Rybchenko        'ef10_filter.c',
455e111ed8SAndrew Rybchenko        'ef10_image.c',
465e111ed8SAndrew Rybchenko        'ef10_intr.c',
475e111ed8SAndrew Rybchenko        'ef10_mac.c',
485e111ed8SAndrew Rybchenko        'ef10_mcdi.c',
495e111ed8SAndrew Rybchenko        'ef10_nic.c',
505e111ed8SAndrew Rybchenko        'ef10_nvram.c',
515e111ed8SAndrew Rybchenko        'ef10_phy.c',
525e111ed8SAndrew Rybchenko        'ef10_proxy.c',
535e111ed8SAndrew Rybchenko        'ef10_rx.c',
545e111ed8SAndrew Rybchenko        'ef10_tx.c',
555e111ed8SAndrew Rybchenko        'ef10_vpd.c',
565e111ed8SAndrew Rybchenko        'hunt_nic.c',
575e111ed8SAndrew Rybchenko        'medford_nic.c',
583c1c5cc4SAndrew Rybchenko        'medford2_nic.c',
59b97bf1caSAndrew Rybchenko        'rhead_ev.c',
6090ff7b9bSAndrew Rybchenko        'rhead_intr.c',
613c1c5cc4SAndrew Rybchenko        'rhead_nic.c',
62a45edfceSIgor Romanov        'rhead_pci.c',
63b6b29352SAndrew Rybchenko        'rhead_rx.c',
64d874d2a1SIgor Romanov        'rhead_tunnel.c',
654fd0181fSAndrew Rybchenko        'rhead_tx.c',
664dda72dbSVijay Srivastava        'rhead_virtio.c',
675e111ed8SAndrew Rybchenko]
685e111ed8SAndrew Rybchenko
695e111ed8SAndrew Rybchenkoextra_flags = [
705e111ed8SAndrew Rybchenko        '-Wno-sign-compare',
715e111ed8SAndrew Rybchenko        '-Wno-unused-parameter',
725e111ed8SAndrew Rybchenko        '-Wno-unused-variable',
735e111ed8SAndrew Rybchenko        '-Wno-empty-body',
747d5cfaa7SBruce Richardson        '-Wno-unused-but-set-variable',
755e111ed8SAndrew Rybchenko]
765e111ed8SAndrew Rybchenko
775e111ed8SAndrew Rybchenkoc_args = cflags
785e111ed8SAndrew Rybchenkoforeach flag: extra_flags
795e111ed8SAndrew Rybchenko    if cc.has_argument(flag)
805e111ed8SAndrew Rybchenko        c_args += flag
815e111ed8SAndrew Rybchenko    endif
825e111ed8SAndrew Rybchenkoendforeach
835e111ed8SAndrew Rybchenko
845e111ed8SAndrew Rybchenkoif build
855e111ed8SAndrew Rybchenko    base_lib = static_library('sfc_base', sources,
865e111ed8SAndrew Rybchenko        include_directories: includes,
875e111ed8SAndrew Rybchenko        dependencies: static_rte_eal,
885e111ed8SAndrew Rybchenko        c_args: c_args)
895e111ed8SAndrew Rybchenko
901539acc2SJerin Jacob    base_objs = base_lib.extract_all_objects(recursive: true)
915e111ed8SAndrew Rybchenkoelse
925e111ed8SAndrew Rybchenko    base_objs = []
935e111ed8SAndrew Rybchenkoendif
94