On Fri, Oct 20, 2023 at 10:01:35AM -0700, Srikanth Yalavarthi wrote: > In order to avoid linking with all libraries listed as > Libs.private in libarchive.pc, libarchive is not added > to ext_deps during meson setup. > > Since libarchive is not added to ext_deps, cross-compilation > or native compilation with libarchive installed in non-standard > location fails with errors related to "cannot find -larchive" > or "archive.h: No such file or directory". In order to fix the > build failures, user is required to define the 'c_args' and > 'c_link_args' with '-I<includedir>' and '-L<libdir>'. > > This patch updates meson build files to add libarchive's > includedir and libdir to compiler flags and would not require > setting c_args and c_link_args externally. > > Fixes: 40edb9c0d36b ("eal: handle compressed firmware") > Cc: sta...@dpdk.org > > Signed-off-by: Srikanth Yalavarthi <syalavar...@marvell.com> > ---
Checking back through the mail archives I'm still a little unclear as to what breaks when we try using libarchive as any other package with a pkg-config file? I would have thought the best solution was just to add libarchive as an external dependency, found using pkg-config, to EAL. When we add it as a dependency, rather than using c/ldflags, we should get all this path fixup for free? Can you clarify what breaks when we add libarchive as a libeal dependency only? /Bruce