30/06/2020 16:14, Bruce Richardson:
> To ensure all constructors are included in static build, we need to pass
> the --whole-archive flag when linking, which is used with the
> "link_whole" meson option. Since we use link_whole for all libs, we no
> longer need to track the lib as part of the static dependency, just the
> path to the headers for compiling.
> 
> After this patch is applied, all DPDK .a files are inside
> --whole-archive/--no-whole-archive flags, but external dependencies and
> shared libs being linked against remain outside.
> 
> Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
> Tested-by: Andrzej Ostruszka <aostrus...@marvell.com>
> Acked-by: Luca Boccassi <bl...@debian.org>
> Acked-by: Sunil Pai G <sunil.pa...@intel.com>
> ---
> --- a/app/test/meson.build
> +++ b/app/test/meson.build
> -     link_libs = dpdk_drivers
> +     link_libs = dpdk_static_libraries + dpdk_drivers
>       link_nodes = dpdk_graph_nodes
[...]
> --- a/examples/meson.build
> +++ b/examples/meson.build
> -driver_libs = []
> +link_whole_libs = []
>  node_libs = []
>  if get_option('default_library') == 'static'
> -     driver_libs = dpdk_drivers
> +     link_whole_libs = dpdk_static_libraries + dpdk_drivers
>       node_libs = dpdk_graph_nodes

I think the special case for librte_node may be removed.
I will propose a separate patch for this case.

Acked-by: Thomas Monjalon <tho...@monjalon.net>


Reply via email to