libgpgme: handle argp-standalone
authorGustavo Zacarias <gustavo@zacarias.com.ar>
Wed, 31 Jul 2013 18:59:46 +0000 (15:59 -0300)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 1 Aug 2013 15:17:26 +0000 (17:17 +0200)
libgpgme has an internal implementation of argp parsing for when the
libc lacks such an implementation (i.e. uClibc).
However if it detects argp.h the internal implementation is disabled and
for a uClibc-based toolchain that breaks the build.
This happens when argp-standalone is installed since libgpgme never
tries to link to libargp.

Make it link against libargp, which also saves some target size. Fixes:
http://autobuild.buildroot.net/results/33c/33c5776d2b3f7fa276a27f7602eb71c4d77c7b62/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/libgpgme/libgpgme.mk

index ee983df0f252be5866632de625ee51560846a59a..9995d913d5feb43594d77daa823767236b6b127b 100644 (file)
@@ -10,6 +10,7 @@ LIBGPGME_SOURCE = gpgme-$(LIBGPGME_VERSION).tar.bz2
 LIBGPGME_LICENSE = LGPLv2.1+
 LIBGPGME_LICENSE_FILES = COPYING.LESSER
 LIBGPGME_INSTALL_STAGING = YES
+LIBGPGME_DEPENDENCIES = libassuan libgpg-error
 
 # libgpgme, needs to know the gpg binary path on the target.
 LIBGPGME_CONF_OPT = --with-gpg=/usr/bin/gpg \
@@ -18,6 +19,11 @@ LIBGPGME_CONF_OPT = --with-gpg=/usr/bin/gpg \
        --without-gpgsm \
        --without-gpgconf \
        --without-g13
-LIBGPGME_DEPENDENCIES = libassuan libgpg-error
+
+# Handle argp-standalone or it errors out during build
+ifeq ($(BR2_PACKAGE_ARGP_STANDALONE)$(BR2_TOOLCHAIN_USES_UCLIBC),yy)
+LIBGPGME_CONF_ENV += LIBS="-largp"
+LIBGPGME_DEPENDENCIES += argp-standalone
+endif
 
 $(eval $(autotools-package))