Re: [PATCH] HP-UX does not have select.h
On Mon, 17 Dec 2007 13:00:22 -0800, Junio C Hamano <gitster@pobox.com> wrote:
Show 7 quoted lines
> "H.Merijn Brand" <h.m.brand@xs4all.nl> writes:
>
> > HP-UX does not have select.h, but it offers all select () functionality.
> > The defines are in <sys/types.h> and <X11/fd.h>
>
> Will apply the patch as-is for now, only because I do not want major
> surgery during rc period, but I think is can be improved.
Probably. but there is so much to be improved :)
> POSIX.1-2001 expects <sys/select.h> declares select(2). With earlier
> standards, including <sys/time.h>, <sys/types.h> and <unistd.h> would
> have given it.
Those three are there. I have 10.20 through 11.23 on PA-RISC and 11.23 on Itanium 2.
10.20, 11.00, and 11.11 (11i v1) do not have sys/select.h. 11.23 and on do have it. The problem for now is that git on HP-UX does not build with HP's C-ANSI-C compiler. I need to use gcc. Up to and including 11.11, I cannot use 4.x, as that has serious problems when used in 64bit mode, so I'm stuck with gcc-3.4.6
> HP-UX cannot be the only pre-POSIX system; "#ifndef _HPUX_SOURCE" feels
> very wrong.
HP-UX 11.23/IPC, which is rather recent, does include sys/select.h I didn't sent my HP-UX patch yet for the Makefile, as that is still very premature. It is OK for 11.00, but as I need 64bit on 11.23, because I only have 64bit OpenSSL and other util libraries, the 32bit addition would not work.
> Besides, isn't _HPUX_SOURCE a feature-test macro? Feature test macros
That is defined in GNU gcc. I did not pass it with -D...
> 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.
--
H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/)
using & porting perl 5.6.2, 5.8.x, 5.10.x on HP-UX 10.20, 11.00, 11.11,
& 11.23, SuSE 10.1 & 10.2, AIX 5.2, and Cygwin. http://qa.perl.org
http://mirrors.develooper.com/hpux/ http://www.test-smoke.org
http://www.goldmark.org/jeff/stupid-disclaimers/