build: propagate Windows system dependencies to pkg-config
authorDmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Thu, 19 Aug 2021 23:14:46 +0000 (02:14 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 14 Sep 2021 13:58:34 +0000 (15:58 +0200)
commit5ffa86a2b4167276212c7f666a8f96fa4f46d3b3
treec06c188a74e41f57e23b7cd32c759cb597dcc2fc
parent557610a8ff0b8e67f66d2c831a514508dfbaec8a
build: propagate Windows system dependencies to pkg-config

Windows EAL depends on some system libraries. They were linked using
add_project_link_arguments('-l<LIB>'), which prevented meson from adding
them to Libs.private of pkg-config file. As a result, applications using
pkg-config to find DPDK hit link errors, for example:

    librte_eal.a(eal_windows_eal_debug.c.obj) : error LNK2019: unresolved
    external symbol __imp_SymInitialize referenced in function
    rte_dump_stack

Reference required libraries in EAL using ext_deps meson variable.
bus/pci and net/pcap depend on lib/eal and will pull them automatically.
Drop advapi32 dependency, as MinGW locates VirtualAlloc2() dynamically.

Fixes: 2a5d547a4a9b ("eal/windows: implement basic memory management")
Fixes: c91717eb75c8 ("eal/windows: support exit and panic")
Cc: stable@dpdk.org
Reported-by: William Tu <u9012063@gmail.com>
Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Tested-by: William Tu <u9012063@gmail.com>
config/meson.build
lib/eal/windows/meson.build