Re: [PATCH] HP-UX does not have select.h
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 19, 2007, 19:57 UTC
- Message-ID
- <7vr6hiv4ny.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <20071218114949.711ba447@pc09.procura.nl>
"H.Merijn Brand" <h.m.brand@xs4all.nl> writes:
Show 20 quoted lines
> On Tue, 18 Dec 2007 01:47:53 -0800, Junio C Hamano <gitster@pobox.com> wrote: > ... >> 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? > > Probably not: > > HP-UX 10.20, 11.00, 11.11, 11.23/PA, and 11.23/IPF all have: > > /usr/include 103 > grep -r POSIX_VERSION * > sys/unistd.h:# define _POSIX_VERSION _POSIX1_VERSION_88 > sys/unistd.h:# define _POSIX_VERSION _POSIX1_VERSION_90 > sys/unistd.h:# define _POSIX_VERSION _POSIX1_VERSION_93 > sys/unistd.h:# define _SC_1_VERSION_88 7 /* _POSIX_VERSION: Date of POSIX.1-1988 */ > sys/unistd.h:# define _SC_1_VERSION_90 102 /* _POSIX_VERSION: Date of POSIX.1-1990 */ > sys/unistd.h:# define _SC_1_VERSION_93 103 /* _POSIX_VERSION: Date of POSIX.1b-1993 */ > sys/unistd.h:# if (_POSIX_VERSION == _POSIX1_VERSION_88) > sys/unistd.h:# if (_POSIX_VERSION == _POSIX1_VERSION_90) > > and the two 11.23 do have select.h
Does that prove anything? unistd.h seem to define _POSIX_VERSION to various values but we do not see surrounding "#ifdef WE_DO_NOT_KNOW" from the grep output above unfortunately.
If the folllowing actually works I think that is the cleanest fix for this issue (note that I added defined(_POSIX_VERSION) there just to be safe if it is not defined at all).
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 defined(_POSIX_VERSION) && _POSIX_VERSION >= 200112L #include <sys/select.h> +#endif #include <assert.h> #include <regex.h> #include <netinet/in.h>