Re: [PATCH] HP-UX does not have select.h
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 19, 2007, 21:31 UTC
- Message-ID
- <7vzlw6tlpt.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <20071219211226.41920430@pc09.procura.nl>
"H.Merijn Brand" <h.m.brand@xs4all.nl> writes:
Show 42 quoted lines
> On Wed, 19 Dec 2007 11:57:21 -0800, Junio C Hamano <gitster@pobox.com> wrote: > >> "H.Merijn Brand" <h.m.brand@xs4all.nl> writes: >> >> > 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. > > What I tried to demonstrate is that I have no clue about the actual value > of this define, and if values like 88, 90, and 93 (7, 102, and 103) do > have any relation with the higher value of 200112L that you use. > > Also because these are the *only* _POSIX_VERSION defines in the entire > include tree, and 11.23 does have a select.h, which makes the patch below > to be not OK on 11.23. I'm not stating that HP follows the rules in any > correct way, but if this is to be sure that select.h gets included if the > OS supports it, it will fail. > >> 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).
But your grep did not catch their definition of _POSIX1_VERSION_$YEAR which are used to define the actual value of _POSIX_VERSION.