This is my proposed change for the arch-detection:
diff --git a/src/tools/EpicsHostArch.pl b/src/tools/EpicsHostArch.pl
index e8e49bc5e..90a128efa 100644
--- a/src/tools/EpicsHostArch.pl
+++ b/src/tools/EpicsHostArch.pl
@@ -36,6 +36,8 @@ sub HostArch {
return 'linux-arm' if m/^arm-linux/;
return 'windows-x64' if m/^MSWin32-x64/;
return 'win32-x86' if m/^MSWin32-x86/;
+ return 'windows-x64-mingw' if m/^x86_64-msys/;
+ return 'win32-x86-mingw' if m/^i686-msys/;
return "cygwin-x86_64" if m/^x86_64-cygwin/;
return "cygwin-x86" if m/^i[3-6]86-cygwin/;
return 'solaris-sparc' if m/^sun4-solaris/;
It should be relatively straightforward to create a CONFIG.windows-x64-mingw.win32-x86-mingw file, which would let you do cross-builds of the 32-bit target from the 64-bit host-arch. That seems like the best way to handle your particular configuration, take a look at the CONFIG.win32-x86-mingw.win32-x86-mingw-debug file as a model if you're interested.
This is my proposed change for the arch-detection:
diff --git a/src/tools/ EpicsHostArch. pl b/src/tools/ EpicsHostArch. pl .90a128efa 100644 EpicsHostArch. pl EpicsHostArch. pl 6]86-cygwin/ ;
index e8e49bc5e.
--- a/src/tools/
+++ b/src/tools/
@@ -36,6 +36,8 @@ sub HostArch {
return 'linux-arm' if m/^arm-linux/;
return 'windows-x64' if m/^MSWin32-x64/;
return 'win32-x86' if m/^MSWin32-x86/;
+ return 'windows-x64-mingw' if m/^x86_64-msys/;
+ return 'win32-x86-mingw' if m/^i686-msys/;
return "cygwin-x86_64" if m/^x86_64-cygwin/;
return "cygwin-x86" if m/^i[3-
return 'solaris-sparc' if m/^sun4-solaris/;
It should be relatively straightforward to create a CONFIG. windows- x64-mingw. win32-x86- mingw file, which would let you do cross-builds of the 32-bit target from the 64-bit host-arch. That seems like the best way to handle your particular configuration, take a look at the CONFIG. win32-x86- mingw.win32- x86-mingw- debug file as a model if you're interested.