Re: [PATCH] Use lowercase includes for some Windows headers
From: Junio C Hamano <hidden>
Date: 2023-06-12 19:31:04
Mike Hommey [off-list ref] writes:
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 <redacted> --- 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.
quoted hunk
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 ancestordiff --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