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

Re: [PATCH] Use lowercase includes for some Windows headers

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 12, 2023, 19:30 UTC
Message-ID
<xmqqmt14a36k.fsf@gitster.g>
In-Reply-To
<20230604211934.1365289-1-mh@glandium.org>
Mike Hommey <mh@glandium.org> writes:
Show 10 quoted lines
> When cross-compiling with the mingw toolchain on a system with a case
> sensitive filesystem, the mixed case (which is technically correct as
> per the contents of MS Visual C++) doesn't work (the corresponding mingw
> headers are all lowercase for some reason).
>
> Signed-off-by: Mike Hommey <mh@glandium.org>
> ---
>  compat/win32/trace2_win32_process_info.c | 4 ++--
>  wrapper.c                                | 2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)

I can guess that this will not break the primary target audience of the source, who build from the source on case insensitive filesystems. The only possible breakage I can think of is if different versions of mingw toolchain have these header files in different cases---those who have been happily using header files like <tlHelp32.h> on their case sensitive filesystem now will find their build to fail. Theoretically, those who _corrected_ their header files to mixed case themselves (as it is "technically correct as per the contents of MS Visual C++") will be broken the same way, but they should be capable of diagnosing and recovering from such a breakage, so I'm not worried about that.

Appreciate input from those who builds with mingw toolchain, but in the meantime let me queue it on 'seen' so that we won't forget.

Thanks.
Show 27 quoted lines
> diff --git a/compat/win32/trace2_win32_process_info.c b/compat/win32/trace2_win32_process_info.c
> index a4e33768f4..438af8f818 100644
> --- a/compat/win32/trace2_win32_process_info.c
> +++ b/compat/win32/trace2_win32_process_info.c
> @@ -3,8 +3,8 @@
>  #include "../../repository.h"
>  #include "../../trace2.h"
>  #include "lazyload.h"
> -#include <Psapi.h>
> -#include <tlHelp32.h>
> +#include <psapi.h>
> +#include <tlhelp32.h>
>  
>  /*
>   * An arbitrarily chosen value to limit the size of the ancestor
> diff --git a/wrapper.c b/wrapper.c
> index 67f5f5dbe1..5dc48e815a 100644
> --- a/wrapper.c
> +++ b/wrapper.c
> @@ -17,7 +17,7 @@ static intmax_t count_fsync_hardware_flush;
>  #ifdef HAVE_RTLGENRANDOM
>  /* This is required to get access to RtlGenRandom. */
>  #define SystemFunction036 NTAPI SystemFunction036
> -#include <NTSecAPI.h>
> +#include <ntsecapi.h>
>  #undef SystemFunction036
>  #endif
Previous: Mike HommeyNext: Junio C Hamano
Message 2 of 3 in “Use lowercase includes for some Windows headers”
  1. Use lowercase includes for some Windows headersMike Hommey, Jun 4, 2023
  2. Junio C HamanoJun 12, 2023
  3. Junio C HamanoJul 14, 2023

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.