git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC/PATCH v1] Towards MinGW(-W64) cross-compilation
@ 2014-04-28 13:51 Marat Radchenko
  2014-04-28 13:51 ` [PATCH 01/12] MINGW: config.mak.uname: add explicit way to request MinGW-build Marat Radchenko
                   ` (12 more replies)
  0 siblings, 13 replies; 54+ messages in thread
From: Marat Radchenko @ 2014-04-28 13:51 UTC (permalink / raw)
  To: GIT Mailing-list; +Cc: marat, Felipe Contreras

This patch series fixes building on modern MinGW and (32bit only yet) MinGW-W64.

*Compilation* tested on:
 - MSVC (via WinGit environment)
 - msysGit environment
 - Linux cross-toolchain i686-pc-mingw32 (4.8.2) with mingw-runtime-3.20.2
 - Linux cross-toolchain i686-w64-mingw32 (4.8.2) with mingw64-runtime-3.1.0

Stuff still required to make Git build with x86_64 MinGW-W64 toolchain:

1. Drop -D_USE_32BIT_TIME_T that was added in fa93bb to config.mak.uname
because time_t cannot be 32bit on x86_64. I haven't yet figured out what
should break if this define is removed (pointers are welcome) and why it was
added in the first place.

2. Stop passing --large-address-aware to linker. I wonder if it does anything
for 32bit MinGW builds.

3. Fix several places with mismatched pointer size casts.

Building it from Gentoo Linux:

MinGW:

  crossdev -t i686-pc-mingw32
  ARCH=x86 emerge-i686-pc-mingw32 -u dev-libs/libiconv sys-libs/zlib net-misc/curl sys-devel/gettext expat
  cd <git>
  make CROSS_COMPILE=i686-pc-mingw32- CC=i686-pc-mingw32-gcc NO_OPENSSL=1 MINGW=1 CURLDIR=/usr/i686-pc-mingw32/usr

MinGW-W64 (32 bit):

  crossdev -t i686-w64-mingw32
  ARCH=x86 emerge-i686-w64-mingw32 -u dev-libs/libiconv sys-libs/zlib net-misc/curl sys-devel/gettext expat
  cd <git>
  make CROSS_COMPILE=i686-w64-mingw32- CC=i686-w64-mingw32-gcc NO_OPENSSL=1 MINGW=1 CURLDIR=/usr/i686-w64-mingw32/usr

Debian/Ubuntu build instructions are WIP (xdeb is non-trivial at all).

^ permalink raw reply	[flat|nested] 54+ messages in thread

end of thread, other threads:[~2014-04-29  8:10 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-28 13:51 [RFC/PATCH v1] Towards MinGW(-W64) cross-compilation Marat Radchenko
2014-04-28 13:51 ` [PATCH 01/12] MINGW: config.mak.uname: add explicit way to request MinGW-build Marat Radchenko
2014-04-28 16:12   ` Jonathan Nieder
2014-04-28 13:51 ` [PATCH 02/12] MINGW: compat/bswap.h: include stdint.h Marat Radchenko
2014-04-28 14:45   ` Erik Faye-Lund
2014-04-28 14:52     ` Marat Radchenko
2014-04-28 14:54       ` Erik Faye-Lund
2014-04-28 13:51 ` [PATCH 03/12] MINGW: compat/mingw.h: do not attempt to redefine lseek on mingw-w64 Marat Radchenko
2014-04-28 15:02   ` Erik Faye-Lund
2014-04-28 15:09     ` Marat Radchenko
2014-04-28 15:19       ` Erik Faye-Lund
2014-04-28 19:59   ` Torsten Bögershausen
2014-04-28 19:58     ` Felipe Contreras
2014-04-28 20:13     ` Erik Faye-Lund
2014-04-28 13:51 ` [PATCH 04/12] Makefile: introduce CROSS_COMPILE variable Marat Radchenko
2014-04-28 16:25   ` Jonathan Nieder
2014-04-28 17:34     ` Felipe Contreras
2014-04-28 20:40     ` Marat Radchenko
2014-04-28 20:45       ` Jonathan Nieder
2014-04-28 20:54         ` Marat Radchenko
2014-04-28 17:37   ` Felipe Contreras
2014-04-28 18:15     ` Marat Radchenko
2014-04-28 18:09       ` Felipe Contreras
2014-04-28 23:38       ` Jonathan Nieder
2014-04-28 23:54         ` Felipe Contreras
2014-04-28 13:51 ` [PATCH 05/12] MINGW: git-compat-util.h: use inttypes.h for printf macros Marat Radchenko
2014-04-28 14:53   ` Erik Faye-Lund
2014-04-28 15:00     ` Marat Radchenko
2014-04-28 15:07       ` Erik Faye-Lund
2014-04-28 13:51 ` [PATCH 06/12] MSVC: config.mak.uname: drop -D__USE_MINGW_ACCESS from compile definitions Marat Radchenko
2014-04-28 15:32   ` Erik Faye-Lund
2014-04-28 13:51 ` [PATCH 07/12] MINGW: config.mak.uname: reorganize MINGW settings Marat Radchenko
2014-04-28 14:58   ` Erik Faye-Lund
2014-04-28 15:04     ` Marat Radchenko
2014-04-28 15:17       ` Erik Faye-Lund
2014-04-28 16:42         ` Marat Radchenko
2014-04-28 13:51 ` [PATCH 08/12] MINGW: config.mak.uname allow using CURL for non-msysGit builds Marat Radchenko
2014-04-28 15:26   ` Erik Faye-Lund
2014-04-28 16:23     ` Marat Radchenko
2014-04-28 16:24       ` Erik Faye-Lund
2014-04-28 13:51 ` [PATCH 09/12] MINGW: config.mak.uname: drop -DNOGDI Marat Radchenko
2014-04-28 14:56   ` Erik Faye-Lund
2014-04-28 13:51 ` [PATCH 10/12] MINGW: config.mak.uname: drop USE_NED_ALLOCATOR Marat Radchenko
2014-04-28 15:23   ` Erik Faye-Lund
2014-04-28 16:30     ` Jonathan Nieder
2014-04-29  7:48     ` Marat Radchenko
2014-04-29  7:59       ` Felipe Contreras
2014-04-28 17:39   ` Felipe Contreras
2014-04-28 19:50     ` Philip Oakley
2014-04-28 13:51 ` [PATCH 11/12] MINGW: do not fail at redefining pid_t on MinGW-W64 Marat Radchenko
2014-04-28 15:24   ` Erik Faye-Lund
2014-04-28 13:51 ` [PATCH 12/12] MINGW: compat/mingw.h: drop fork() definition Marat Radchenko
2014-04-28 15:20   ` Erik Faye-Lund
2014-04-28 15:34 ` [RFC/PATCH v1] Towards MinGW(-W64) cross-compilation Erik Faye-Lund

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).