• Jörg Krause's avatar
    src/lib/gcrypt/meson.build: use dependency() for quering linker flags · 7f87de78
    Jörg Krause authored
    Since version 0.49.0 the Meson build system has native support for
    finding and using the gcrypt library using the `dependency()` function.
    
    `dependency()` has the advantage over `find_library()` as it queries the
    required linker flags for proper linking with external libraries, e.g.
    libgpg-error.
    
    As the latest released version 1.8.4 of libgcrypt does not
    provide a .pc file, using `libgcrypt-config` is the only way to query
    the required linker flags.
    
    Unfortunately, there is an issue when cross compiling mpd and the user does not
    define `libgcrypt-config` in the cross file. If the user sets the qobuz feature
    to `auto` and the target does not have libgcrypt installed, the Meson
    build system will falsly assume libgcrypt is available for the target as
    it uses the native `libgcrypt-config` on the host and pretend is has
    found the library.
    
    Therefore, we still rely on `find_library()` to workaround this buggy
    behavior. This way, if qobuz feature detection is set to `auto`, the
    feature is disabled in case there is no target libgcrypt available.
    
    Fixes building mpd statically with the qobuz feature enabled. Otherwise
    the build fails with undefined references because of the missing libgpg-error
    dependency:
    
    ```
    /sysroot/usr/lib/libgcrypt.a(libgcrypt_la-visibility.o): In function `gcry_strerror':
    visibility.c:(.text+0x14): undefined reference to `gpg_strerror'
    ```
    7f87de78
Name
Last commit
Last update
..
alsa Loading commit data...
cdio Loading commit data...
curl Loading commit data...
dbus Loading commit data...
expat Loading commit data...
ffmpeg Loading commit data...
gcrypt Loading commit data...
icu Loading commit data...
nfs Loading commit data...
oss Loading commit data...
pcre Loading commit data...
pulse Loading commit data...
smbclient Loading commit data...
sndio Loading commit data...
sqlite Loading commit data...
systemd Loading commit data...
upnp Loading commit data...
xiph Loading commit data...
yajl Loading commit data...
zlib Loading commit data...