git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 10/12] MINGW: compat/poll/poll.c: undef NOGDI

From
Marat Radchenko <marat@slonopotamus.org>
Date
May 3, 2014, 07:00 UTC
Message-ID
<20140503070050.GA8580@seldon>
In-Reply-To
<20140430114125.GA23046@camelia.ucw.cz>
On Wed, Apr 30, 2014 at 01:41:25PM +0200, Stepan Kasal wrote:
Show 12 quoted lines
> Hello,
> 
> On Tue, Apr 29, 2014 at 01:12:04PM +0400, Marat Radchenko wrote:
> > On MinGW-W64, MsgWaitForMultipleObjects is guarded with #ifndef NOGDI.
> > 
> > Removal -DNOGDI=1 from config.mak.uname has an undesirable effect of
> > bringing in wingdi.h with weird #define ERROR 0 that conflicts with
> > internal Git enums. So, just #undef NOGDI in compat/poll/poll.c.
> 
> compat/poll/poll.c comes from Gnulib, so it would be better to submit
> the patch there and then backport so that the divergence of the two
> versions does not get worse.

That's why v1 of this patch [1] didn't touch poll.c at all. I don't think it's gnulib problem that combination of two third-parties (git and mingw-w64) set up such conditions where poll.c fails to compile.

If one wants to dig deeper, I'd say the problem is in MinGW-W64 headers because their behavior of hiding MsgWaitForMultipleObjects doesn't match behavior of MSVC headers.

Previous: Stepan KasalNext: Stepan Kasal
Message 20 of 29 in “MinGW(-W64) cross-compilation”
  1. MinGW(-W64) cross-compilationMarat Radchenko, Apr 29, 2014
  2. 01/12 MINGW: compat/mingw.h: do not attempt to redefine lseek on mingw-w64Marat Radchenko, Apr 29, 2014
  3. 02/12 MSVC: config.mak.uname: drop -D__USE_MINGW_ACCESS from CFLAGSMarat Radchenko, Apr 29, 2014
  4. 03/12 MINGW: compat/mingw.h: drop fork() definitionMarat Radchenko, Apr 29, 2014
  5. 04/12 MINGW: do not fail at redefining pid_t on MinGW-W64Marat Radchenko, Apr 29, 2014
  6. 05/12 MINGW: config.mak.uname: allow using cURL for non-msysGit buildsMarat Radchenko, Apr 29, 2014
  7. 06/12 MINGW: git-compat-util.h: use inttypes.h for printf macrosMarat Radchenko, Apr 29, 2014
  8. 07/12 MINGW: config.mak.uname: reorganize MINGW settingsMarat Radchenko, Apr 29, 2014
  9. 08/12 MINGW: fix main() signature in http-fetch.c and remote-curl.cMarat Radchenko, Apr 29, 2014
  10. Karsten BleesApr 30, 2014
  11. Erik Faye-LundApr 30, 2014
  12. Johannes SchindelinApr 30, 2014
  13. Felipe ContrerasApr 30, 2014
  14. Stepan KasalApr 30, 2014
  15. Win32: move main macro to a functionStepan Kasal, Apr 30, 2014
  16. Marat RadchenkoMay 3, 2014
  17. 09/12 Makefile: introduce CROSS_COMPILE variableMarat Radchenko, Apr 29, 2014
  18. 10/12 MINGW: compat/poll/poll.c: undef NOGDIMarat Radchenko, Apr 29, 2014
  19. Stepan KasalApr 30, 2014
  20. Marat RadchenkoMay 3, 2014
  21. Stepan KasalMay 4, 2014
  22. Marat RadchenkoMay 4, 2014
  23. '502304919' via msysGitMay 4, 2014
  24. Stepan KasalMay 5, 2014
  25. Felipe ContrerasMay 5, 2014
  26. Stepan KasalMay 5, 2014
  27. Felipe ContrerasMay 4, 2014
  28. 11/12 compat/nedmalloc/malloc.c.h: fix compilation under MinGW-W64Marat Radchenko, Apr 29, 2014
  29. 12/12 MINGW: config.mak.uname: add explicit way to request MinGW-buildMarat Radchenko, Apr 29, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.