diff mbox series

Use lowercase includes for some Windows headers

Message ID 20230604211934.1365289-1-mh@glandium.org (mailing list archive)
State Accepted
Commit 4a53d0d0bc1c04f012773d23e918ba45e96ddefb
Headers show
Series Use lowercase includes for some Windows headers | expand

Commit Message

Mike Hommey June 4, 2023, 9:19 p.m. UTC
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(-)

Comments

Junio C Hamano June 12, 2023, 7:30 p.m. UTC | #1
Mike Hommey <mh@glandium.org> 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 <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.





> 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
Junio C Hamano July 14, 2023, 5:07 p.m. UTC | #2
Junio C Hamano <gitster@pobox.com> writes:

> Mike Hommey <mh@glandium.org> 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 <mh@glandium.org>
>> ---
>>  compat/win32/trace2_win32_process_info.c | 4 ++--
>>  wrapper.c                                | 2 +-
>>  2 files changed, 3 insertions(+), 3 deletions(-)
>
> ...  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.

And a month has passed.  Unless I hear objections, I'll merge this
change to 'next' in a few days at most.

Thanks.

>
> Thanks.
>
>
>
>
>
>> 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
diff mbox series

Patch

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