On 2018-09-04 12:35, Peter Maydell wrote: > On 4 September 2018 at 08:02, Thomas Huth <th...@redhat.com> wrote: >> When cross-compiling QEMU for a target that significantly differs from >> the host, the current information in config.status is not enough to >> properly re-create the configuration. For example when I try to test >> my build with the mingw32 cross-compiler, I regularly get this error >> after the build system tried to re-create the configuration with the >> config.status file: >> >> ERROR: sizeof(size_t) doesn't match GLIB_SIZEOF_SIZE_T. >> You probably need to set PKG_CONFIG_LIBDIR >> to point to the right pkg-config files for your >> build target >> RAND >> A similar problem exists for the "windres" tool, where you have to >> set the WINDRES variable in case it has a different name. >> So let's fix these issues by storing the configuration for theseq >> variables in the config.status file, too. > > This is also true if the user set CC or RANLIB or any of a bunch > of other environment variables that configure uses. If we're going > to store those settings in config.status we should consistently > do it for all environment variables we care about, I think.
Ok, never mind, forget about WINDRES (and the other tools like RANLIB), that's not required, I just noticed that I simply forgot to specify "--cross-prefix=i686-w64-mingw32-" when running configure. With that option, i686-w64-mingw32-windres is properly used, and the pkg-config problem also goes away since i686-w64-mingw32-pkg-config is used instead. But still, I think at least the PKG_CONFIG_LIBDIR part could be useful, since the same problem e.g. also occurs when trying do a 32-bit build on a 64-bit host, i.e. when running configure with "--extra-cflags=-m32". Or is there also another configure switch that can help to get PKG_CONFIG_LIBDIR right here? Thomas