make poll available for other platforms lacking it

move poll.[ch] out of compat/win32/ into compat/poll/ and adjust Makefile with the changed paths. Adding comments to Makefile about how/when to enable it and add logic for this Signed-off-by: Joachim Schmitz <jojo@schmitz-digital.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Joachim Schmitz committed Sep 17, 2012 at 23:16 UTC 6d45eb1720294a93e571e843efb851fee70ac5e1
3 files changed +15 -5
Makefile
+15 -5
@@ -154,6 +154,11 @@ all::
154 #
155 # Define NO_MMAP if you want to avoid mmap.
156 #
157 +# Define NO_SYS_POLL_H if you don't have sys/poll.h.
158 +#
159 +# Define NO_POLL if you do not have or don't want to use poll().
160 +# This also implies NO_SYS_POLL_H.
161 +#
162 # Define NO_PTHREADS if you do not have or do not want to use Pthreads.
163 #
164 # Define NO_PREAD if you have a problem with pread() system call (e.g.
@@ -603,10 +608,10 @@ LIB_H += compat/bswap.h
608 LIB_H += compat/cygwin.h
609 LIB_H += compat/mingw.h
610 LIB_H += compat/obstack.h
611 +LIB_H += compat/poll/poll.h
612 LIB_H += compat/precompose_utf8.h
613 LIB_H += compat/terminal.h
614 LIB_H += compat/win32/dirent.h
609 -LIB_H += compat/win32/poll.h
615 LIB_H += compat/win32/pthread.h
616 LIB_H += compat/win32/syslog.h
617 LIB_H += connected.h
@@ -1224,7 +1229,7 @@ ifeq ($(uname_S),Windows)
1229 NO_PREAD = YesPlease
1230 NEEDS_CRYPTO_WITH_SSL = YesPlease
1231 NO_LIBGEN_H = YesPlease
1227 - NO_SYS_POLL_H = YesPlease
1232 + NO_POLL = YesPlease
1233 NO_SYMLINK_HEAD = YesPlease
1234 NO_IPV6 = YesPlease
1235 NO_UNIX_SOCKETS = YesPlease
@@ -1265,7 +1270,7 @@ ifeq ($(uname_S),Windows)
1270 BASIC_CFLAGS = -nologo -I. -I../zlib -Icompat/vcbuild -Icompat/vcbuild/include -DWIN32 -D_CONSOLE -DHAVE_STRING_H -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE
1271 COMPAT_OBJS = compat/msvc.o compat/winansi.o \
1272 compat/win32/pthread.o compat/win32/syslog.o \
1268 - compat/win32/poll.o compat/win32/dirent.o
1273 + compat/win32/dirent.o
1274 COMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -DHAVE_ALLOCA_H -Icompat -Icompat/regex -Icompat/win32 -DSTRIP_EXTENSION=\".exe\"
1275 BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRT.lib
1276 EXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib
@@ -1320,7 +1325,7 @@ ifneq (,$(findstring MINGW,$(uname_S)))
1325 NO_PREAD = YesPlease
1326 NEEDS_CRYPTO_WITH_SSL = YesPlease
1327 NO_LIBGEN_H = YesPlease
1323 - NO_SYS_POLL_H = YesPlease
1328 + NO_POLL = YesPlease
1329 NO_SYMLINK_HEAD = YesPlease
1330 NO_UNIX_SOCKETS = YesPlease
1331 NO_SETENV = YesPlease
@@ -1355,7 +1360,7 @@ ifneq (,$(findstring MINGW,$(uname_S)))
1360 COMPAT_CFLAGS += -DSTRIP_EXTENSION=\".exe\"
1361 COMPAT_OBJS += compat/mingw.o compat/winansi.o \
1362 compat/win32/pthread.o compat/win32/syslog.o \
1358 - compat/win32/poll.o compat/win32/dirent.o
1363 + compat/win32/dirent.o
1364 EXTLIBS += -lws2_32
1365 PTHREAD_LIBS =
1366 X = .exe
@@ -1609,6 +1614,11 @@ ifdef NO_GETTEXT
1614 BASIC_CFLAGS += -DNO_GETTEXT
1615 USE_GETTEXT_SCHEME ?= fallthrough
1616 endif
1617 +ifdef NO_POLL
1618 + NO_SYS_POLL_H = YesPlease
1619 + COMPAT_CFLAGS += -DNO_POLL -Icompat/poll
1620 + COMPAT_OBJS += compat/poll/poll.o
1621 +endif
1622 ifdef NO_STRCASESTR
1623 COMPAT_CFLAGS += -DNO_STRCASESTR
1624 COMPAT_OBJS += compat/strcasestr.o
compat/poll/poll.c renamed
compat/poll/poll.h renamed