diff options
author | Duy Nguyen <pclouds@gmail.com> | 2019-02-12 21:14:41 +0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-02-12 10:01:59 -0800 |
commit | 18a4f6be6b4cfc34de6f80c36ab3ef951a0f7164 (patch) | |
tree | 8ba3c3bc28c1eae9f19ce47e7fca682ee0e4a895 /Makefile | |
parent | Git 2.20.1 (diff) | |
download | tgif-18a4f6be6b4cfc34de6f80c36ab3ef951a0f7164.tar.xz |
git-compat-util: work around fileno(fp) that is a macro
On various BSD's, fileno(fp) is implemented as a macro that directly
accesses the fields in the FILE * object, which breaks a function that
accepts a "void *fp" parameter and calls fileno(fp) and expect it to
work.
Work it around by adding a compile-time knob FILENO_IS_A_MACRO that
inserts a real helper function in the middle of the callchain.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -427,6 +427,8 @@ all:: # # Define HAVE_GETDELIM if your system has the getdelim() function. # +# Define FILENO_IS_A_MACRO if fileno() is a macro, not a real function. +# # Define PAGER_ENV to a SP separated VAR=VAL pairs to define # default environment variables to be passed when a pager is spawned, e.g. # @@ -1773,6 +1775,11 @@ ifdef HAVE_WPGMPTR BASIC_CFLAGS += -DHAVE_WPGMPTR endif +ifdef FILENO_IS_A_MACRO + COMPAT_CFLAGS += -DFILENO_IS_A_MACRO + COMPAT_OBJS += compat/fileno.o +endif + ifeq ($(TCLTK_PATH),) NO_TCLTK = NoThanks endif |