From: Junio C Hamano Date: Tue, 18 Dec 2007 09:47:53 GMT Subject: Re: [PATCH] HP-UX does not have select.h Message-ID: <7vir2w1ghi.fsf@gitster.siamese.dyndns.org> In-Reply-To: <4767934F.7070706@op5.se> Andreas Ericsson writes: > 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 > #else > # include > #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, 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 #include #include +#if _POSIX_VERSION >= 200112L #include +#endif #include #include #include