https://bugs.winehq.org/show_bug.cgi?id=53539
--- Comment #5 from Zeb Figura z.figura12@gmail.com --- I think the intent is that any unrecognized targets shouldn't receive any extra flags (which may not even be valid). We don't know whether an arbitrary target is a 32-bit or 64-bit. This is compounded by the fact that WoW64 is only really supported for ARM and x86 targets, and doesn't exactly make sense for anything else.
If you're doing a wow64 build in the first place, we arguably know that the 32-bit side should have -m32, but I don't think cases like this have ever come up, and it's not really clear to me what the "correct" thing to do is.
(In reply to j-r from comment #4)
Looking at the TARGETFLAGS section of configure.ac, it's not clear to me
- why x86_32 build hosts are handled differently form x86_64 at all. Are
there supported toolchains for the wine32 build that don't support -m32/-m64?
Not at the moment, but I think there have been in the past.
- why cross building enters into the consideration for x86_64 build hosts.
At least on Debian stable it seems that passing -m32 to the default X86_64 gcc is not enough to build a 32 bit executable (because it cannot find a suitable libgcc) and installing i686-linux-gnu-gcc is the easiest way out; while just passing CC=i686-linux-gnu-gcc to configure is enough for the build to succeed, technically it's a cross build and using --host=i686-linux-gnu doesn't seem less correct and shouldn't be blocked
"$host" is the user-specified host and not (necessarily) the build machine, so unless I'm misreading that, the point there is that if someone passes --host=x86_64-linux-gnu but not --enable-win64, we want to respect the --host argument and do a 64-bit build. (But if they don't pass any options, we want to build a 32-bit tree, because that is categorically more useful than a 64-bit tree for Windows programs.)
- why the ms_va_list test build is done without -m64.
It probably wasn't *intentionally* done without -m64, but rather there's no need; -m64 is effectively the default on x86_64 platforms.