app-emulation/qemu: Fix cross-compiling for MinGW (Windows)
authorJames Le Cuirot <chewi@gentoo.org>
Sat, 21 Sep 2019 23:06:31 +0000 (00:06 +0100)
committerMatthias Maier <tamiko@gentoo.org>
Sun, 22 Sep 2019 02:12:19 +0000 (21:12 -0500)
Yes, this really works! By default, the configure script shoves
everything in the same standalone directory for Windows, hence the
need to specify more paths. It doesn't work from a standalone
directory unless you build it statically anyway because it can't find
the dependent DLLs in /usr/bin.

Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Signed-off-by: Matthias Maier <tamiko@gentoo.org>
app-emulation/qemu/qemu-9999.ebuild

index 58a7d0b858075ce0cb0987278218d90a0b8f7664..b26d0b2869df20dc6c478f446bc9cf6f5fae4b60 100644 (file)
@@ -363,8 +363,9 @@ src_prepare() {
 
        default
 
-       # Fix ld and objcopy being called directly
-       tc-export AR LD OBJCOPY
+       # Use correct toolchain to fix cross-compiling
+       tc-export AR LD NM OBJCOPY PKG_CONFIG
+       export WINDRES=${CHOST}-windres
 
        # Verbose builds
        MAKEOPTS+=" V=1"
@@ -391,8 +392,13 @@ qemu_src_configure() {
        local conf_opts=(
                --prefix=/usr
                --sysconfdir=/etc
+               --bindir=/usr/bin
                --libdir=/usr/$(get_libdir)
+               --datadir=/usr/share
                --docdir=/usr/share/doc/${PF}/html
+               --mandir=/usr/share/man
+               --with-confsuffix=/qemu
+               --localstatedir=/var
                --disable-bsd-user
                --disable-guest-agent
                --disable-strip