aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-01-19 17:13:51 -0800
committerJunio C Hamano <junkio@cox.net>2006-01-21 19:33:22 -0800
commit35a730f01c6caba93d452fa938e7d93ffcc4cf25 (patch)
treeceeeafb38d09feb7bd0230fe85ac34c438ad0a33 /Makefile
parentbdc37f5a817543fc5eaf16dd6f30dd7b821adc70 (diff)
downloadgit-35a730f01c6caba93d452fa938e7d93ffcc4cf25.tar.gz
git-35a730f01c6caba93d452fa938e7d93ffcc4cf25.tar.xz
fsck-objects: support platforms without d_ino in struct dirent.
The d_ino field is only used for performance reasons in fsck-objects. On a typical filesystem, i-number tends to have a strong correlation with where the actual bits sit on the disk platter, and we sort the entries to allow us scan things that ought to be close together together. If the platform lacks support for it, it is not a big deal. Just do not use d_ino for sorting, and scan them unsorted. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile6
1 files changed, 6 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index b4741ff30..334fe4ec4 100644
--- a/Makefile
+++ b/Makefile
@@ -19,6 +19,8 @@ all:
# Define NO_EXPAT if you do not have expat installed. git-http-push is
# not built, and you cannot push using http:// and https:// transports.
#
+# Define NO_D_INO_IN_DIRENT if you don't have d_ino in your struct dirent.
+#
# Define NO_STRCASESTR if you don't have strcasestr.
#
# Define NO_SETENV if you don't have setenv in the C library.
@@ -234,6 +236,7 @@ ifeq ($(uname_S),SunOS)
ALL_CFLAGS += -D__EXTENSIONS__
endif
ifeq ($(uname_O),Cygwin)
+ NO_D_INO_IN_DIRENT = YesPlease
NO_STRCASESTR = YesPlease
NEEDS_LIBICONV = YesPlease
# There are conflicting reports about this.
@@ -334,6 +337,9 @@ ifdef NEEDS_NSL
LIBS += -lnsl
SIMPLE_LIB += -lnsl
endif
+ifdef NO_D_INO_IN_DIRENT
+ ALL_CFLAGS += -DNO_D_INO_IN_DIRENT
+endif
ifdef NO_STRCASESTR
COMPAT_CFLAGS += -DNO_STRCASESTR
COMPAT_OBJS += compat/strcasestr.o