pinentry: fix build issue with gcc 5.x

pinentry currently fails to build with gcc 5.x, because it uses some
functionality from std::string that requires C++11 without passing the
appropriate -std= value. We fix this by passing a proper -std= option
when gcc >= 5.x. Note that this can be removed once pinentry is bumped
to the newest version (currently 0.9.7) because they no longer use
std::string in the Qt part.

Fixes:

  http://autobuild.buildroot.net/results/6ea64f692acaebc4d58f3371c632b5121500f17e/
  (and many, many similar build failures)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
One-beer-granted-to: Yann E. MORIN <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Thomas Petazzoni 2016-08-20 16:00:36 +02:00
parent c061e39ca2
commit 9694305ae0

View file

@ -14,6 +14,13 @@ PINENTRY_DEPENDENCIES = \
host-pkgconf
PINENTRY_CONF_OPTS += --without-libcap # requires PAM
# pinentry uses some std::string functionality that needs C++11
# support when gcc >= 5.x. This should be removed when bumping
# pinentry, since newer versions no longer use std::string.
ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y)
PINENTRY_CONF_ENV = CXXFLAGS="$(TARGET_CXXFLAGS) -std=gnu++11"
endif
# build with X if available
ifeq ($(BR2_PACKAGE_XORG7),y)
PINENTRY_CONF_OPTS += --with-x