Skip to content
  • Eli Schwartz's avatar
    meson: work around broken pkg-config file with private requires · 0e3a4bd1
    Eli Schwartz authored and Allan McRae's avatar Allan McRae committed
    
    
    In addition to the general issue of staticlibs linkage, linking a static
    lib to a library() does not seem to generate the needed Libs.private.
    
    Rework how we handle this entirely. Instead of relying on convenience
    libraries, we will *sigh* go extract a boatload of .o files again, then
    relink those to the installable libalpm, while mentioning our
    dependencies again.
    
    We still have our guaranteed static library for linking arbitrary programs
    with (e.g. vercmp), and we still only generate one identical copy of the
    .o files, but now we potentially `ar` it up twice, which isn't so bad.
    And linking still works, and pkg-config files also still work.
    
    One alternative would be to explicitly list our dependencies to
    pkgconfig.generate with requires_private, but since gpgme might be an
    elevated config-tool dependency, this can fail with:
    
    meson.build:341:10: ERROR: requires argument not a string, library with pkgconfig-generated file or pkgconfig-dependency object, got <GpgmeDependency gpgme: True>
    
    Signed-off-by: default avatarEli Schwartz <eschwartz@archlinux.org>
    Signed-off-by: default avatarAllan McRae <allan@archlinux.org>
    0e3a4bd1