* Daniel P. Berrangé:
Then on the Meson side we define
root = '/usr/i686-w64-mingw32/sys-root/mingw'
in the /usr/share/mingw/toolchain-mingw32.meson spec, while with configure we invoke
configure \ --host=i686-w64-mingw32 \ --build=x86_64-redhat-linux-gnu \ --target=i686-w64-mingw32 \ --prefix=/usr/i686-w64-mingw32/sys-root/mingw \ --exec-prefix=/usr/i686-w64-mingw32/sys-root/mingw \ --bindir=/usr/i686-w64-mingw32/sys-root/mingw/bin \ --sbindir=/usr/i686-w64-mingw32/sys-root/mingw/sbin \ --sysconfdir=/usr/i686-w64-mingw32/sys-root/mingw/etc \ --datadir=/usr/i686-w64-mingw32/sys-root/mingw/share \ --includedir=/usr/i686-w64-mingw32/sys-root/mingw/include \ --libdir=/usr/i686-w64-mingw32/sys-root/mingw/lib \ --libexecdir=/usr/i686-w64-mingw32/sys-root/mingw/libexec \ --localstatedir=/usr/i686-w64-mingw32/sys-root/mingw/var \ --sharedstatedir=/usr/i686-w64-mingw32/sys-root/mingw/com \ --mandir=/usr/i686-w64-mingw32/sys-root/mingw/share/man \ --infodir=/usr/i686-w64-mingw32/sys-root/mingw/share/info \
is there any difference between the notion of the 'sysroot' vs the install 'prefix' ?
The --sysroot option makes it less likely that artifacts from the host pollute the build, for example headers from /usr/include. The most important difference for the Fedora sysroot will be that the absolute path in the libc.so linker script will be interpreted as local to the --sysroot tree (kind of like chroot). If you just use -L…, it would go to /usr/lib64 outside of the sysroot instead.
A configure invocation in the above style would not produce working binaries for many GNU/Linux packages because it results in host paths (not target paths) baked into the binary. For example, a cross-built info viewer is still expected to look into /usr/share/info, and not the sysroot-prefixed path.
However, --sysroot needs to be enabled in the toolchain, and I don't know if we do that for the mingw toolchain.
Thanks, Florian