git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 1/4] make poll available for other platforms lacking it
@ 2012-09-17 21:16 Joachim Schmitz
  2012-09-17 22:41 ` Junio C Hamano
  0 siblings, 1 reply; 5+ messages in thread
From: Joachim Schmitz @ 2012-09-17 21:16 UTC (permalink / raw)
  To: 'Junio C Hamano'; +Cc: git

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>
---
 Makefile                      | 20 +++++++++++++++-----
 compat/{win32 => poll}/poll.c |  0
 compat/{win32 => poll}/poll.h |  0
 3 files changed, 15 insertions(+), 5 deletions(-)
 rename compat/{win32 => poll}/poll.c (100%)
 rename compat/{win32 => poll}/poll.h (100%)

diff --git a/Makefile b/Makefile
index ac49320..7893297 100644
--- a/Makefile
+++ b/Makefile
@@ -152,6 +152,11 @@ all::
 #
 # Define NO_MMAP if you want to avoid mmap.
 #
+# Define NO_SYS_POLL_H if you don't have sys/poll.h.
+#
+# Define NO_POLL if you do not have or don't want to use poll().
+# This also implies NO_SYS_POLL_H.
+#
 # Define NO_PTHREADS if you do not have or do not want to use Pthreads.
 #
 # Define NO_PREAD if you have a problem with pread() system call (e.g.
@@ -598,10 +603,10 @@ LIB_H += compat/bswap.h
 LIB_H += compat/cygwin.h
 LIB_H += compat/mingw.h
 LIB_H += compat/obstack.h
+LIB_H += compat/poll/poll.h
 LIB_H += compat/precompose_utf8.h
 LIB_H += compat/terminal.h
 LIB_H += compat/win32/dirent.h
-LIB_H += compat/win32/poll.h
 LIB_H += compat/win32/pthread.h
 LIB_H += compat/win32/syslog.h
 LIB_H += connected.h
@@ -1220,7 +1225,7 @@ ifeq ($(uname_S),Windows)
 	NO_PREAD = YesPlease
 	NEEDS_CRYPTO_WITH_SSL = YesPlease
 	NO_LIBGEN_H = YesPlease
-	NO_SYS_POLL_H = YesPlease
+	NO_POLL_H = YesPlease
 	NO_SYMLINK_HEAD = YesPlease
 	NO_IPV6 = YesPlease
 	NO_UNIX_SOCKETS = YesPlease
@@ -1261,7 +1266,7 @@ ifeq ($(uname_S),Windows)
 	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
 	COMPAT_OBJS = compat/msvc.o compat/winansi.o \
 		compat/win32/pthread.o compat/win32/syslog.o \
-		compat/win32/poll.o compat/win32/dirent.o
+		compat/win32/dirent.o
 	COMPAT_CFLAGS = -D__USE_MINGW_ACCESS -DNOGDI -DHAVE_STRING_H -DHAVE_ALLOCA_H -Icompat -Icompat/regex -Icompat/win32
-DSTRIP_EXTENSION=\".exe\"
 	BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRT.lib
 	EXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib
@@ -1316,7 +1321,7 @@ ifneq (,$(findstring MINGW,$(uname_S)))
 	NO_PREAD = YesPlease
 	NEEDS_CRYPTO_WITH_SSL = YesPlease
 	NO_LIBGEN_H = YesPlease
-	NO_SYS_POLL_H = YesPlease
+	NO_POLL_H = YesPlease
 	NO_SYMLINK_HEAD = YesPlease
 	NO_UNIX_SOCKETS = YesPlease
 	NO_SETENV = YesPlease
@@ -1351,7 +1356,7 @@ ifneq (,$(findstring MINGW,$(uname_S)))
 	COMPAT_CFLAGS += -DSTRIP_EXTENSION=\".exe\"
 	COMPAT_OBJS += compat/mingw.o compat/winansi.o \
 		compat/win32/pthread.o compat/win32/syslog.o \
-		compat/win32/poll.o compat/win32/dirent.o
+		compat/win32/dirent.o
 	EXTLIBS += -lws2_32
 	PTHREAD_LIBS =
 	X = .exe
@@ -1605,6 +1610,11 @@ ifdef NO_GETTEXT
 	BASIC_CFLAGS += -DNO_GETTEXT
 	USE_GETTEXT_SCHEME ?= fallthrough
 endif
+ifdef NO_POLL
+	NO_SYS_POLL_H = YesPlease
+	COMPAT_CFLAGS += -DNO_POLL -Icompat/poll
+	COMPAT_OBJS += compat/poll/poll.o
+endif
 ifdef NO_STRCASESTR
 	COMPAT_CFLAGS += -DNO_STRCASESTR
 	COMPAT_OBJS += compat/strcasestr.o
diff --git a/compat/win32/poll.c b/compat/poll/poll.c
similarity index 100%
rename from compat/win32/poll.c
rename to compat/poll/poll.c
diff --git a/compat/win32/poll.h b/compat/poll/poll.h
similarity index 100%
rename from compat/win32/poll.h
rename to compat/poll/poll.h
-- 
1.7.12

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v7 1/4] make poll available for other platforms lacking it
  2012-09-17 21:16 [PATCH v7 1/4] make poll available for other platforms lacking it Joachim Schmitz
@ 2012-09-17 22:41 ` Junio C Hamano
  2012-09-18  6:28   ` Joachim Schmitz
  0 siblings, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2012-09-17 22:41 UTC (permalink / raw)
  To: Joachim Schmitz; +Cc: git

"Joachim Schmitz" <jojo@schmitz-digital.de> writes:

> 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>
> ---
>  Makefile                      | 20 +++++++++++++++-----
>  compat/{win32 => poll}/poll.c |  0
>  compat/{win32 => poll}/poll.h |  0
>  3 files changed, 15 insertions(+), 5 deletions(-)
>  rename compat/{win32 => poll}/poll.c (100%)
>  rename compat/{win32 => poll}/poll.h (100%)
>
> diff --git a/Makefile b/Makefile
> index ac49320..7893297 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -152,6 +152,11 @@ all::
>  #
>  # Define NO_MMAP if you want to avoid mmap.
>  #
> +# Define NO_SYS_POLL_H if you don't have sys/poll.h.
> +#
> +# Define NO_POLL if you do not have or don't want to use poll().
> +# This also implies NO_SYS_POLL_H.

Sensible.

> @@ -1220,7 +1225,7 @@ ifeq ($(uname_S),Windows)
>  	NO_PREAD = YesPlease
>  	NEEDS_CRYPTO_WITH_SSL = YesPlease
>  	NO_LIBGEN_H = YesPlease
> -	NO_SYS_POLL_H = YesPlease
> +	NO_POLL_H = YesPlease

Should this be NO_POLL, not NO_POLL_H?

> -DSTRIP_EXTENSION=\".exe\"
>  	BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRT.lib
>  	EXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib
> @@ -1316,7 +1321,7 @@ ifneq (,$(findstring MINGW,$(uname_S)))
>  	NO_PREAD = YesPlease
>  	NEEDS_CRYPTO_WITH_SSL = YesPlease
>  	NO_LIBGEN_H = YesPlease
> -	NO_SYS_POLL_H = YesPlease
> +	NO_POLL_H = YesPlease

Likewise.

> @@ -1605,6 +1610,11 @@ ifdef NO_GETTEXT
>  	BASIC_CFLAGS += -DNO_GETTEXT
>  	USE_GETTEXT_SCHEME ?= fallthrough
>  endif
> +ifdef NO_POLL
> +	NO_SYS_POLL_H = YesPlease
> +	COMPAT_CFLAGS += -DNO_POLL -Icompat/poll
> +	COMPAT_OBJS += compat/poll/poll.o
> +endif

I think my guesses above are correct, so will queue with the trivial
and obvious fixup.

Thanks.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH v7 1/4] make poll available for other platforms lacking it
  2012-09-17 22:41 ` Junio C Hamano
@ 2012-09-18  6:28   ` Joachim Schmitz
  2012-09-18  6:54     ` Junio C Hamano
  0 siblings, 1 reply; 5+ messages in thread
From: Joachim Schmitz @ 2012-09-18  6:28 UTC (permalink / raw)
  To: 'Junio C Hamano'; +Cc: git

> From: Junio C Hamano [mailto:gitster@pobox.com]
> Sent: Tuesday, September 18, 2012 12:42 AM
> To: Joachim Schmitz
> Cc: git@vger.kernel.org
> Subject: Re: [PATCH v7 1/4] make poll available for other platforms lacking it
> 
> "Joachim Schmitz" <jojo@schmitz-digital.de> writes:
> 
> > 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>
> > ---
> >  Makefile                      | 20 +++++++++++++++-----
> >  compat/{win32 => poll}/poll.c |  0
> >  compat/{win32 => poll}/poll.h |  0
> >  3 files changed, 15 insertions(+), 5 deletions(-)
> >  rename compat/{win32 => poll}/poll.c (100%)
> >  rename compat/{win32 => poll}/poll.h (100%)
> >
> > diff --git a/Makefile b/Makefile
> > index ac49320..7893297 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -152,6 +152,11 @@ all::
> >  #
> >  # Define NO_MMAP if you want to avoid mmap.
> >  #
> > +# Define NO_SYS_POLL_H if you don't have sys/poll.h.
> > +#
> > +# Define NO_POLL if you do not have or don't want to use poll().
> > +# This also implies NO_SYS_POLL_H.
> 
> Sensible.
> 
> > @@ -1220,7 +1225,7 @@ ifeq ($(uname_S),Windows)
> >  	NO_PREAD = YesPlease
> >  	NEEDS_CRYPTO_WITH_SSL = YesPlease
> >  	NO_LIBGEN_H = YesPlease
> > -	NO_SYS_POLL_H = YesPlease
> > +	NO_POLL_H = YesPlease
> 
> Should this be NO_POLL, not NO_POLL_H?
> 
> > -DSTRIP_EXTENSION=\".exe\"
> >  	BASIC_LDFLAGS = -IGNORE:4217 -IGNORE:4049 -NOLOGO -SUBSYSTEM:CONSOLE -NODEFAULTLIB:MSVCRT.lib
> >  	EXTLIBS = user32.lib advapi32.lib shell32.lib wininet.lib ws2_32.lib
> > @@ -1316,7 +1321,7 @@ ifneq (,$(findstring MINGW,$(uname_S)))
> >  	NO_PREAD = YesPlease
> >  	NEEDS_CRYPTO_WITH_SSL = YesPlease
> >  	NO_LIBGEN_H = YesPlease
> > -	NO_SYS_POLL_H = YesPlease
> > +	NO_POLL_H = YesPlease
> 
> Likewise.
> 
> > @@ -1605,6 +1610,11 @@ ifdef NO_GETTEXT
> >  	BASIC_CFLAGS += -DNO_GETTEXT
> >  	USE_GETTEXT_SCHEME ?= fallthrough
> >  endif
> > +ifdef NO_POLL
> > +	NO_SYS_POLL_H = YesPlease
> > +	COMPAT_CFLAGS += -DNO_POLL -Icompat/poll
> > +	COMPAT_OBJS += compat/poll/poll.o
> > +endif
> 
> I think my guesses above are correct, so will queue with the trivial
> and obvious fixup.

Well I was unde the impression that is <sys/poll.h> isn't available, there might be a <poll.h> and it that isn't available either we
use compat/.../poll.[ch]. But rethinking your changed does makes perfect sense.

OK, so I guess I'm ready for the 'final touch', my NonStop specific changes, will post them shortly...

Bye, Jojo

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v7 1/4] make poll available for other platforms lacking it
  2012-09-18  6:28   ` Joachim Schmitz
@ 2012-09-18  6:54     ` Junio C Hamano
  2012-09-18  7:02       ` Joachim Schmitz
  0 siblings, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2012-09-18  6:54 UTC (permalink / raw)
  To: Joachim Schmitz; +Cc: git

"Joachim Schmitz" <jojo@schmitz-digital.de> writes:

>> > @@ -1605,6 +1610,11 @@ ifdef NO_GETTEXT
>> >  	BASIC_CFLAGS += -DNO_GETTEXT
>> >  	USE_GETTEXT_SCHEME ?= fallthrough
>> >  endif
>> > +ifdef NO_POLL
>> > +	NO_SYS_POLL_H = YesPlease
>> > +	COMPAT_CFLAGS += -DNO_POLL -Icompat/poll
>> > +	COMPAT_OBJS += compat/poll/poll.o
>> > +endif
>> 
>> I think my guesses above are correct, so will queue with the trivial
>> and obvious fixup.
>
> Well I was unde the impression that is <sys/poll.h> isn't
> available, there might be a <poll.h> and it that isn't available
> either we use compat/.../poll.[ch]. But rethinking your changed
> does makes perfect sense.

Heh, my comment was not about names between NO_POLL_H vs NO_POLL.
With the way you wrote the code, the symbols defined for Windows and
MINGW must match what controls the hunk around ll.1610, so what
makes perfect sense to you is indeed your code ;-)

> OK, so I guess I'm ready for the 'final touch', my NonStop
> specific changes, will post them shortly...

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH v7 1/4] make poll available for other platforms lacking it
  2012-09-18  6:54     ` Junio C Hamano
@ 2012-09-18  7:02       ` Joachim Schmitz
  0 siblings, 0 replies; 5+ messages in thread
From: Joachim Schmitz @ 2012-09-18  7:02 UTC (permalink / raw)
  To: 'Junio C Hamano'; +Cc: git

> From: Junio C Hamano [mailto:gitster@pobox.com]
> Sent: Tuesday, September 18, 2012 8:55 AM
> To: Joachim Schmitz
> Cc: git@vger.kernel.org
> Subject: Re: [PATCH v7 1/4] make poll available for other platforms lacking it
> 
> "Joachim Schmitz" <jojo@schmitz-digital.de> writes:
> 
> >> > @@ -1605,6 +1610,11 @@ ifdef NO_GETTEXT
> >> >  	BASIC_CFLAGS += -DNO_GETTEXT
> >> >  	USE_GETTEXT_SCHEME ?= fallthrough
> >> >  endif
> >> > +ifdef NO_POLL
> >> > +	NO_SYS_POLL_H = YesPlease
> >> > +	COMPAT_CFLAGS += -DNO_POLL -Icompat/poll
> >> > +	COMPAT_OBJS += compat/poll/poll.o
> >> > +endif
> >>
> >> I think my guesses above are correct, so will queue with the trivial
> >> and obvious fixup.
> >
> > Well I was unde the impression that is <sys/poll.h> isn't
> > available, there might be a <poll.h> and it that isn't available
> > either we use compat/.../poll.[ch]. But rethinking your changed
> > does makes perfect sense.
> 
> Heh, my comment was not about names between NO_POLL_H vs NO_POLL.
> With the way you wrote the code, the symbols defined for Windows and
> MINGW must match what controls the hunk around ll.1610, so what
> makes perfect sense to you is indeed your code ;-)

Yeah, I do understand myself pretty good ;-)
Now I see my typo...

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-09-18  7:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-17 21:16 [PATCH v7 1/4] make poll available for other platforms lacking it Joachim Schmitz
2012-09-17 22:41 ` Junio C Hamano
2012-09-18  6:28   ` Joachim Schmitz
2012-09-18  6:54     ` Junio C Hamano
2012-09-18  7:02       ` Joachim Schmitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).