[PATCH 1/1] mingw: fix CPU reporting in `git version --build-options`
- Date: Thu, 07 Feb 2019 02:46:06 -0800 (PST)
- From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@xxxxxxxxx>
- Subject: [PATCH 1/1] mingw: fix CPU reporting in `git version --build-options`
From: Johannes Schindelin <johannes.schindelin@xxxxxx>
We cannot rely on `uname -m` in Git for Windows' SDK to tell us what
architecture we are compiling for, as we can compile both 32-bit and
64-bit `git.exe` from a 64-bit SDK, but the `uname -m` in that SDK will
always report `x86_64`.
So let's go back to our original design. And make it explicitly
Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx>
compat/mingw.h | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/compat/mingw.h b/compat/mingw.h
index 30d9fb3e36..98407744f2 100644
@@ -6,6 +6,25 @@ typedef _sigset_t sigset_t;
+ * In Git for Windows, we cannot rely on `uname -m` to report the correct
+ * architecture: /usr/bin/uname.exe will report the architecture with which the
+ * current MSYS2 runtime was built, not the architecture for which we are
+ * currently compiling (both 32-bit and 64-bit `git.exe` is built in the 64-bit
+ * Git for Windows SDK).
+/* This was figured out by looking at `cpp -dM </dev/null`'s output */
+#define GIT_HOST_CPU "x86_64"
+#define GIT_HOST_CPU "i686"
+#error "Unknown architecture"
/* MinGW-w64 reports to have flockfile, but it does not actually have it. */