On 8/7/19 9:59 AM, Michal Privoznik wrote:
On 7/31/19 9:30 PM, Eric Blake wrote:
> Commit fed58d83 was a hack to fix a mingw build failure due to header
> inclusion order resulting in a clash over the use of DATADIR, by
> repeating a trick made several other times in the past of tweaking
> inclusion order until it goes away. Better is to revert that, and
> instead use pragmas to avoid the clash in the first place, regardless
> of header ordering, solving it for everyone in the future.
>
> Signed-off-by: Eric Blake <eblake(a)redhat.com>
> ---
>
> I tested that both gcc and clang on F29 support this; but it will take
> a full CI run to see if everywhere else is okay with it. Thus, it is
> not 5.6 material.
And the full CI run says I failed,
https://travis-ci.org/libvirt/libvirt/jobs/569132417
In file included from ../../src/conf/checkpoint_conf.c:24:
../gnulib/lib/configmake.h:8:17: error: expected identifier or '('
before string constant
8 | #define DATADIR "/usr/i686-w64-mingw32/sys-root/mingw/share"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:8803: conf/libvirt_conf_la-checkpoint_conf.lo]
Error 1
make[3]: *** Waiting for unfinished jobs....
I'm reverting the patch under the build-breaker rules, while trying to
reproduce the cross-compilation locally rather than relying solely on
CI. My local testing that proved that #pragma push_macro works with gcc
was obviously not enough; sorry for the churn while I prepare v2.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization:
qemu.org |
libvirt.org