[PATCH v5 4/4] net/intel: allow building ice driver without iavf
Stokes, Ian
ian.stokes at intel.com
Tue Feb 11 15:13:44 CET 2025
> The ice PMD relies on a number of functions from the iavf base code,
> which can be got by linking against that iavf driver. However, since
> only three C files are necessary here, we can allow ice to be built
> independently of iavf by including the base files directly in cases
> where iavf is not part of the build. If it is part of the build, the
> dependency remains as now.
>
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> ---
> drivers/net/intel/iavf/base/iavf_prototype.h | 8 ++++++++
> drivers/net/intel/ice/meson.build | 13 ++++++++++++-
> 2 files changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/intel/iavf/base/iavf_prototype.h
> b/drivers/net/intel/iavf/base/iavf_prototype.h
> index 7c43a817bb..5d2ee0a785 100644
> --- a/drivers/net/intel/iavf/base/iavf_prototype.h
> +++ b/drivers/net/intel/iavf/base/iavf_prototype.h
> @@ -11,6 +11,14 @@
>
> #include <rte_compat.h>
>
> +/* functions only need exporting if this is being built into
> + * iavf driver itself. If included in ice driver, then no export
> + */
> +#ifndef RTE_NET_IAVF
> +#undef __rte_internal
> +#define __rte_internal
> +#endif
> +
> /* Prototypes for shared code functions that are not in
> * the standard function pointer structures. These are
> * mostly because they are needed even before the init
> diff --git a/drivers/net/intel/ice/meson.build
> b/drivers/net/intel/ice/meson.build
> index 5faf887386..ff7f84597a 100644
> --- a/drivers/net/intel/ice/meson.build
> +++ b/drivers/net/intel/ice/meson.build
> @@ -18,9 +18,20 @@ sources = files(
>
> testpmd_sources = files('ice_testpmd.c')
>
> -deps += ['hash', 'net', 'net_iavf']
> +deps += ['hash', 'net']
> includes += include_directories('base')
>
> +if dpdk_conf.has('RTE_NET_IAVF')
> + deps += 'net_iavf'
> +else
> + includes += include_directories('../iavf/base')
> + sources += files(
> + '../iavf/base/iavf_adminq.c',
> + '../iavf/base/iavf_common.c',
> + '../iavf/base/iavf_impl.c',
> + )
> +endif
> +
> if arch_subdir == 'x86'
> sources += files('ice_rxtx_vec_sse.c')
>
> --
> 2.43.0
Checks out ok for me, looks good.
Acked-by: Ian Stokes <ian.stokes at intel.com>
More information about the dev
mailing list