Re: [PATCH] HP-UX does not have select.h
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 18, 2007, 09:47 UTC
- Message-ID
- <7vir2w1ghi.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <4767934F.7070706@op5.se>
Andreas Ericsson <ae@op5.se> writes:
Show 20 quoted lines
> Junio C Hamano wrote: >> >> Besides, isn't _HPUX_SOURCE a feature-test macro? Feature test macros >> are for the application to define, and for the implementation (iow, the >> header files) to find out what set of names the application wants to >> see. You are making the application examine the symbol to see what >> implementation it is on, which feels backwards to me. > > > #if defined(hpux) || defined(_hpux) || defined(__hpux) > > should work ok, although as you say, trying > > #if _POSIX_VERSION < 200112 > # include <non-POSIX.1-2001 headers> > #else > # include <sys/select.h> > #endif > > would probably be more suitable.
I cannot take credit for having said that (I didn't), but it sounds like a sensible thing to compare _POSIX_VERSION with 200112L. For previous SUS, <sys/time.h> would have defined select(2), but that header file is already included anyway.
Merijn, discarding the earlier patch I did to configure it out for HP-UX, does the following patch based on Andreas's idea work for you?
---
git-compat-util.h | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/git-compat-util.h b/git-compat-util.h index 79eb10e..68a580f 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -68,7 +68,9 @@ #include <sys/poll.h> #include <sys/socket.h> #include <sys/ioctl.h> +#if _POSIX_VERSION >= 200112L #include <sys/select.h> +#endif #include <assert.h> #include <regex.h> #include <netinet/in.h>