From 3993378c9a8994688fda15a5cd05e04a435d2d54 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 27 Feb 2015 17:19:53 +0000 Subject: libgpg-error: Add -P option to CPPFLAGS Fixes https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1301822.html libgpg-error FTBFS when built with gcc-5. Here is the relevant excerpt: | Making all in src | make[4]: Entering directory '/tmp/buildd/libgpg-error/libgpg-error-1.17/src' | gawk -f ./mkstrtable.awk -v textidx=3 \ | ./err-sources.h.in >err-sources.h | gawk -f ./mkstrtable.awk -v textidx=3 \ | ./err-codes.h.in >err-codes.h | gawk -f ./mkerrnos.awk ./errnos.in >code-to-errno.h | gawk -f ./mkerrcodes1.awk ./errnos.in >_mkerrcodes.h | gcc -E -D_FORTIFY_SOURCE=2 _mkerrcodes.h | grep GPG_ERR_ | \ | gawk -f ./mkerrcodes.awk >mkerrcodes.h | rm _mkerrcodes.h | gcc -I. -I. -o mkerrcodes ./mkerrcodes.c | In file included from ./mkerrcodes.c:26:0: | ./mkerrcodes.h:9:5: error: expected expression before ',' token | { , "GPG_ERR_E2BIG" }, | ^ It makes invalid assumptions on undefined behaviour of gcc. To see why, let us look at the contents of the intermediate steps: _mkerrcodes.h (deleted): | ... | #ifdef E2BIG | E2BIG GPG_ERR_E2BIG | #endif | #ifdef WSAE2BIG | WSAE2BIG GPG_ERR_E2BIG | #endif | ... gcc -E -D_FORTIFY_SOURCE=2 _mkerrcodes.h | grep -v '^$': | ... | # 26 "_mkerrcodes.h" 2 | 7 | # 31 "_mkerrcodes.h" | GPG_ERR_E2BIG | # 37 "_mkerrcodes.h" 3 4 | 13 | # 37 "_mkerrcodes.h" | GPG_ERR_EACCES | ... As can be seen here, the cpp from gcc-5 can split lines and "grep GPG_ERR_" fails to account for that. Change-Id: I6f1476e4afc7163ebc3a05106ceaa3b83e3fab3e Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- meta/recipes-support/libgpg-error/libgpg-error_1.18.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-support/libgpg-error/libgpg-error_1.18.bb b/meta/recipes-support/libgpg-error/libgpg-error_1.18.bb index 9501b67b05..6d11605e54 100644 --- a/meta/recipes-support/libgpg-error/libgpg-error_1.18.bb +++ b/meta/recipes-support/libgpg-error/libgpg-error_1.18.bb @@ -19,7 +19,7 @@ SRC_URI[sha256sum] = "9ff1d6e61d4cef7c1d0607ceef6d40dc33f3da7a3094170c3718c00153 BINCONFIG = "${bindir}/gpg-error-config" inherit autotools binconfig-disabled pkgconfig gettext - +CPPFLAGS += "-P" do_compile_prepend() { TARGET_FILE=linux-gnu if [ ${TARGET_OS} != "linux" ]; then -- cgit 1.2.3-korg