Merge branch 'js/mingw-host-cpu'
authorJunio C Hamano <gitster@pobox.com>
Sat, 9 Feb 2019 04:44:53 +0000 (20:44 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sat, 9 Feb 2019 04:44:53 +0000 (20:44 -0800)
Windows update.

* js/mingw-host-cpu:
mingw: fix CPU reporting in `git version --build-options`

1  2 
compat/mingw.h
diff --combined compat/mingw.h
index 30d9fb3e36274657e5d2a63ef2f5eb3e1c55ce61,363f047df0a3291e0d3d311f53066d6dabf673dd..98407744f2ce9aaeb4aed77e0a4e19493ca2789c
@@@ -6,6 -6,25 +6,25 @@@ typedef _sigset_t sigset_t
  #include <winsock2.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. */
  #ifdef __MINGW64_VERSION_MAJOR
  #undef _POSIX_THREAD_SAFE_FUNCTIONS
@@@ -443,12 -462,32 +462,12 @@@ HANDLE winansi_get_osfhandle(int fd)
   * git specific compatibility
   */
  
 -#define has_dos_drive_prefix(path) \
 -      (isalpha(*(path)) && (path)[1] == ':' ? 2 : 0)
 -int mingw_skip_dos_drive_prefix(char **path);
 -#define skip_dos_drive_prefix mingw_skip_dos_drive_prefix
 -static inline int mingw_is_dir_sep(int c)
 -{
 -      return c == '/' || c == '\\';
 -}
 -#define is_dir_sep mingw_is_dir_sep
 -static inline char *mingw_find_last_dir_sep(const char *path)
 -{
 -      char *ret = NULL;
 -      for (; *path; ++path)
 -              if (is_dir_sep(*path))
 -                      ret = (char *)path;
 -      return ret;
 -}
  static inline void convert_slashes(char *path)
  {
        for (; *path; path++)
                if (*path == '\\')
                        *path = '/';
  }
 -#define find_last_dir_sep mingw_find_last_dir_sep
 -int mingw_offset_1st_component(const char *path);
 -#define offset_1st_component mingw_offset_1st_component
  #define PATH_SEP ';'
  extern char *mingw_query_user_email(void);
  #define query_user_email mingw_query_user_email