aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-01-19 17:13:57 -0800
committerJunio C Hamano <junkio@cox.net>2006-01-21 19:33:22 -0800
commit63be37b06fa873348c3de0becea201796bc88610 (patch)
tree59ee28700b7e7ae994717408e543a9f98fb9802f /Makefile
parent35a730f01c6caba93d452fa938e7d93ffcc4cf25 (diff)
downloadgit-63be37b06fa873348c3de0becea201796bc88610.tar.gz
git-63be37b06fa873348c3de0becea201796bc88610.tar.xz
DT_UNKNOWN: do not fully trust existence of DT_UNKNOWN
The recent Cygwin defines DT_UNKNOWN although it does not have d_type in struct dirent. Give an option to tell us not to use d_type on such platforms. Hopefully this problem will be transient. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile7
1 files changed, 7 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 334fe4ec4..304605602 100644
--- a/Makefile
+++ b/Makefile
@@ -21,6 +21,9 @@ all:
#
# Define NO_D_INO_IN_DIRENT if you don't have d_ino in your struct dirent.
#
+# Define NO_D_TYPE_IN_DIRENT if your platform defines DT_UNKNOWN but lacks
+# d_type in struct dirent (latest Cygwin -- will be fixed soonish).
+#
# Define NO_STRCASESTR if you don't have strcasestr.
#
# Define NO_SETENV if you don't have setenv in the C library.
@@ -236,6 +239,7 @@ ifeq ($(uname_S),SunOS)
ALL_CFLAGS += -D__EXTENSIONS__
endif
ifeq ($(uname_O),Cygwin)
+ NO_D_TYPE_IN_DIRENT = YesPlease
NO_D_INO_IN_DIRENT = YesPlease
NO_STRCASESTR = YesPlease
NEEDS_LIBICONV = YesPlease
@@ -337,6 +341,9 @@ ifdef NEEDS_NSL
LIBS += -lnsl
SIMPLE_LIB += -lnsl
endif
+ifdef NO_D_TYPE_IN_DIRENT
+ ALL_CFLAGS += -DNO_D_TYPE_IN_DIRENT
+endif
ifdef NO_D_INO_IN_DIRENT
ALL_CFLAGS += -DNO_D_INO_IN_DIRENT
endif