mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
mingw: use a more canonical method to fix the CPU reporting
In `git version --build-options`, we report also the CPU, but in Git for Windows we actually cross-compile the 32-bit version in a 64-bit Git for Windows, so we cannot rely on the auto-detected value. In3815f64b0d
(mingw: fix CPU reporting in `git version --build-options`, 2019-02-07), we fixed this by a Windows-only workaround, making use of magic pre-processor constants, which works in GCC, but most likely not all C compilers. As pointed out by Eric Sunshine, there is a better way, anyway: to set the Makefile variable HOST_CPU explicitly for cross-compiled Git. So let's do that! This reverts commit3815f64b0d
partially. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3815f64b0d
commit
bb02e7a560
|
@ -6,25 +6,6 @@ typedef _sigset_t sigset_t;
|
||||||
#include <winsock2.h>
|
#include <winsock2.h>
|
||||||
#include <ws2tcpip.h>
|
#include <ws2tcpip.h>
|
||||||
|
|
||||||
#ifdef __MINGW64_VERSION_MAJOR
|
|
||||||
/*
|
|
||||||
* 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).
|
|
||||||
*/
|
|
||||||
#undef GIT_HOST_CPU
|
|
||||||
/* This was figured out by looking at `cpp -dM </dev/null`'s output */
|
|
||||||
#if defined(__x86_64__)
|
|
||||||
#define GIT_HOST_CPU "x86_64"
|
|
||||||
#elif defined(__i686__)
|
|
||||||
#define GIT_HOST_CPU "i686"
|
|
||||||
#else
|
|
||||||
#error "Unknown architecture"
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* MinGW-w64 reports to have flockfile, but it does not actually have it. */
|
/* MinGW-w64 reports to have flockfile, but it does not actually have it. */
|
||||||
#ifdef __MINGW64_VERSION_MAJOR
|
#ifdef __MINGW64_VERSION_MAJOR
|
||||||
#undef _POSIX_THREAD_SAFE_FUNCTIONS
|
#undef _POSIX_THREAD_SAFE_FUNCTIONS
|
||||||
|
|
|
@ -553,9 +553,11 @@ else
|
||||||
prefix = /usr/
|
prefix = /usr/
|
||||||
ifeq (MINGW32,$(MSYSTEM))
|
ifeq (MINGW32,$(MSYSTEM))
|
||||||
prefix = /mingw32
|
prefix = /mingw32
|
||||||
|
HOST_CPU = i686
|
||||||
endif
|
endif
|
||||||
ifeq (MINGW64,$(MSYSTEM))
|
ifeq (MINGW64,$(MSYSTEM))
|
||||||
prefix = /mingw64
|
prefix = /mingw64
|
||||||
|
HOST_CPU = x86_64
|
||||||
else
|
else
|
||||||
COMPAT_CFLAGS += -D_USE_32BIT_TIME_T
|
COMPAT_CFLAGS += -D_USE_32BIT_TIME_T
|
||||||
BASIC_LDFLAGS += -Wl,--large-address-aware
|
BASIC_LDFLAGS += -Wl,--large-address-aware
|
||||||
|
|
Loading…
Reference in a new issue