Re: [PATCH] git-compat-util: Avoid strcasecmp() being inlined
- From
Sebastian Schuberth <sschuberth@gmail.com>
- Date
- Sep 15, 2013, 12:44 UTC
- Message-ID
- <CAHGBnuOfYoosgWQdfF+L3=YCqO-MYEx-TpNzBAD-Zt0kqeR_Hw@mail.gmail.com>
- In-Reply-To
- <xmqqli30idfx.fsf@gitster.dls.corp.google.com>
On Sat, Sep 14, 2013 at 12:06 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 29 quoted lines
> You can explicitly include the system header from your compatibility > layer, i.e. > > === compat/mingw/string.h === > > #define __NO_INLINE__ > > #ifdef SYSTEM_STRING_H_HEADER > #include SYSTEM_STRING_H_HEADER > #else > #include_next <string.h> > #endif > > and then in config.mak.uname, do something like this: > > ifneq (,$(findstring MINGW,$(uname_S))) > ifndef SYSTEM_STRING_H_HEADER > SYSTEM_STRING_H_HEADER = "C:\\llvm\include\string.h" > endif > > COMPAT_CFLAGS += -DSYSTEM_STRING_H_HEADER=$(SYSTEM_STRING_H_HEADER) > endif > > People who have the system header file at different paths can > further override SYSTEM_STRING_H_HEADER in their config.mak. > > That would help compilers targetting mingw that do not support > "#include_next" without spreading the damage to other people's > systems, I think.
I think this is less favorable compared to my last proposed solution. While my work-around in git-compat-util.h from [1] already is quite ugly, it's at least in a single place. You solution spreads the code it multiple place, making it even more ugly and less comprehensible, IMHO.
[1] http://www.spinics.net/lists/git/msg217546.html
-- Sebastian Schuberth