There are two cases that need to be accounted for when compiling QEMU
for MinGW32:
1) A standalone distribution, where QEMU is self contained and
extracted by the user, such as a user would download from the QEMU
website. In this case, all the QEMU executable files should be
rooted in $prefix to ensure they can be easily found by the user
2) QEMU integrated into a distribution image/sysroot/SDK and
distributed with other programs. In this case, the provided
arguments for bindir/datadir/etc. should be respected as they for a
Linux build.
Restructures the MinGW path configuration so that all of the paths
except bindir use the same rules as when building for other platforms.
This satisfies #2 and #1 since these files do not need to be directly in
$prefix anyway.
The handling for --bindir is changed so that it defaults to $prefix on
MinGW (maintaining the compatibility with #1), but if the user specifies
a specific path when configuring it can also satisfy #2.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
---
configure | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/configure b/configure
index 5860bdb77b..092e2926bc 100755
--- a/configure
+++ b/configure
@@ -1571,20 +1571,15 @@ libexecdir="${libexecdir:-$prefix/libexec}"
includedir="${includedir:-$prefix/include}"
if test "$mingw32" = "yes" ; then
- mandir="$prefix"
- datadir="$prefix"
- docdir="$prefix"
- bindir="$prefix"
- sysconfdir="$prefix"
- local_statedir="$prefix"
+ bindir="${bindir:-$prefix}"
else
- mandir="${mandir:-$prefix/share/man}"
- datadir="${datadir:-$prefix/share}"
- docdir="${docdir:-$prefix/share/doc}"
bindir="${bindir:-$prefix/bin}"
- sysconfdir="${sysconfdir:-$prefix/etc}"
- local_statedir="${local_statedir:-$prefix/var}"
fi
+mandir="${mandir:-$prefix/share/man}"
+datadir="${datadir:-$prefix/share}"
+docdir="${docdir:-$prefix/share/doc}"
+sysconfdir="${sysconfdir:-$prefix/etc}"
+local_statedir="${local_statedir:-$prefix/var}"
firmwarepath="${firmwarepath:-$datadir/qemu-firmware}"
localedir="${localedir:-$datadir/locale}"
--
2.30.0
On 12/01/21 22:02, Joshua Watt wrote: > There are two cases that need to be accounted for when compiling QEMU > for MinGW32: > 1) A standalone distribution, where QEMU is self contained and > extracted by the user, such as a user would download from the QEMU > website. In this case, all the QEMU executable files should be > rooted in $prefix to ensure they can be easily found by the user > 2) QEMU integrated into a distribution image/sysroot/SDK and > distributed with other programs. In this case, the provided > arguments for bindir/datadir/etc. should be respected as they for a > Linux build. > > Restructures the MinGW path configuration so that all of the paths > except bindir use the same rules as when building for other platforms. > This satisfies #2 and #1 since these files do not need to be directly in > $prefix anyway. > > The handling for --bindir is changed so that it defaults to $prefix on > MinGW (maintaining the compatibility with #1), but if the user specifies > a specific path when configuring it can also satisfy #2. > > Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> > --- > configure | 17 ++++++----------- > 1 file changed, 6 insertions(+), 11 deletions(-) > > diff --git a/configure b/configure > index 5860bdb77b..092e2926bc 100755 > --- a/configure > +++ b/configure > @@ -1571,20 +1571,15 @@ libexecdir="${libexecdir:-$prefix/libexec}" > includedir="${includedir:-$prefix/include}" > > if test "$mingw32" = "yes" ; then > - mandir="$prefix" > - datadir="$prefix" > - docdir="$prefix" > - bindir="$prefix" > - sysconfdir="$prefix" > - local_statedir="$prefix" > + bindir="${bindir:-$prefix}" > else > - mandir="${mandir:-$prefix/share/man}" > - datadir="${datadir:-$prefix/share}" > - docdir="${docdir:-$prefix/share/doc}" > bindir="${bindir:-$prefix/bin}" > - sysconfdir="${sysconfdir:-$prefix/etc}" > - local_statedir="${local_statedir:-$prefix/var}" > fi > +mandir="${mandir:-$prefix/share/man}" > +datadir="${datadir:-$prefix/share}" > +docdir="${docdir:-$prefix/share/doc}" > +sysconfdir="${sysconfdir:-$prefix/etc}" > +local_statedir="${local_statedir:-$prefix/var}" > firmwarepath="${firmwarepath:-$datadir/qemu-firmware}" > localedir="${localedir:-$datadir/locale}" > > Queued, thanks! Paolo
On 12/01/2021 22.02, Joshua Watt wrote: > There are two cases that need to be accounted for when compiling QEMU > for MinGW32: > 1) A standalone distribution, where QEMU is self contained and > extracted by the user, such as a user would download from the QEMU > website. In this case, all the QEMU executable files should be > rooted in $prefix to ensure they can be easily found by the user > 2) QEMU integrated into a distribution image/sysroot/SDK and > distributed with other programs. In this case, the provided > arguments for bindir/datadir/etc. should be respected as they for a > Linux build. > > Restructures the MinGW path configuration so that all of the paths > except bindir use the same rules as when building for other platforms. > This satisfies #2 and #1 since these files do not need to be directly in > $prefix anyway. > > The handling for --bindir is changed so that it defaults to $prefix on > MinGW (maintaining the compatibility with #1), but if the user specifies > a specific path when configuring it can also satisfy #2. > > Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> > --- > configure | 17 ++++++----------- > 1 file changed, 6 insertions(+), 11 deletions(-) > > diff --git a/configure b/configure > index 5860bdb77b..092e2926bc 100755 > --- a/configure > +++ b/configure > @@ -1571,20 +1571,15 @@ libexecdir="${libexecdir:-$prefix/libexec}" > includedir="${includedir:-$prefix/include}" > > if test "$mingw32" = "yes" ; then > - mandir="$prefix" > - datadir="$prefix" > - docdir="$prefix" > - bindir="$prefix" > - sysconfdir="$prefix" > - local_statedir="$prefix" > + bindir="${bindir:-$prefix}" > else > - mandir="${mandir:-$prefix/share/man}" > - datadir="${datadir:-$prefix/share}" > - docdir="${docdir:-$prefix/share/doc}" > bindir="${bindir:-$prefix/bin}" > - sysconfdir="${sysconfdir:-$prefix/etc}" > - local_statedir="${local_statedir:-$prefix/var}" > fi > +mandir="${mandir:-$prefix/share/man}" > +datadir="${datadir:-$prefix/share}" > +docdir="${docdir:-$prefix/share/doc}" > +sysconfdir="${sysconfdir:-$prefix/etc}" > +local_statedir="${local_statedir:-$prefix/var}" > firmwarepath="${firmwarepath:-$datadir/qemu-firmware}" > localedir="${localedir:-$datadir/locale}" Yes, I think this makes most sense, thanks for the update! Reviewed-by: Thomas Huth <thuth@redhat.com>
© 2016 - 2024 Red Hat, Inc.