CI flagged a failing mingw build, due to: 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" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As previously learned in commits bd205a90 and 976abdf6, gnulib's configmake.h header does #define DATADIR "string...", while mingw's <winsock2.h> expects to declare a type named DATADIR. As long as the mingw system header is included first before configmake.h, the two uses do not conflict, but until gnulib is patched to make configmake.h automatically work around the issue, our immediate fix is the workaround of rearranging our include order to insure no conflict. Copy the paradigm used in domain_conf.c of using <unistd.h> to trigger the indirect inclusion of <winsock2.h> on mingw.
Fixes: 1a4df34a Signed-off-by: Eric Blake <eblake redhat com>
Want to know about upcoming build environment updates?
Would you like to stay up-to-date with the upcoming Travis CI build environment updates? We set up a mailing list for you!