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 of the QEMU files should be rooted in $prefix to ensure they can be easily packaged together for distribution 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.
Add a configure time flags --enable-standalone-mingw and --disable-standalone-mingw that allows the user to control this behavior. The flag defaults to "enabled" if unspecified to retain the existing build behavior Signed-off-by: Joshua Watt <jpewhac...@gmail.com> --- configure | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 5860bdb77b..5c83edb502 100755 --- a/configure +++ b/configure @@ -358,6 +358,7 @@ strip_opt="yes" tcg_interpreter="no" bigendian="no" mingw32="no" +mingw32_standalone="yes" gcov="no" EXESUF="$default_feature" HOST_DSOSUF=".so" @@ -1558,6 +1559,10 @@ for opt do ;; --disable-fuse-lseek) fuse_lseek="disabled" ;; + --enable-standalone-mingw) mingw32_standalone="yes" + ;; + --disable-standalone-mingw) mingw32_standalone="no" + ;; *) echo "ERROR: unknown option $opt" echo "Try '$0 --help' for more information" @@ -1570,7 +1575,7 @@ libdir="${libdir:-$prefix/lib}" libexecdir="${libexecdir:-$prefix/libexec}" includedir="${includedir:-$prefix/include}" -if test "$mingw32" = "yes" ; then +if test "$mingw32" = "yes" && test "$mingw32_standalone" = "yes"; then mandir="$prefix" datadir="$prefix" docdir="$prefix" @@ -1897,6 +1902,7 @@ disabled with --disable-FEATURE, default is enabled if available libdaxctl libdaxctl support fuse FUSE block device export fuse-lseek SEEK_HOLE/SEEK_DATA support for FUSE exports + standalone-mingw Build for standalone distribution on MinGW NOTE: The object files are built at the place where configure is launched EOF -- 2.30.0