From: Jan Hudec <bulb@ucw.cz>
To: "H.Merijn Brand" <h.m.brand@xs4all.nl>
Cc: Junio C Hamano <gitster@pobox.com>, Andreas Ericsson <ae@op5.se>,
git@vger.kernel.org
Subject: Re: [PATCH] HP-UX does not have select.h
Date: Sun, 23 Dec 2007 09:37:08 +0100 [thread overview]
Message-ID: <20071223083708.GA3563@efreet.light.src> (raw)
In-Reply-To: <20071220081806.0ccdf636@pc09.procura.nl>
On Thu, Dec 20, 2007 at 08:18:06 +0100, H.Merijn Brand wrote:
> On Wed, 19 Dec 2007 13:31:58 -0800, Junio C Hamano <gitster@pobox.com> wrote:
> > "H.Merijn Brand" <h.m.brand@xs4all.nl> writes:
> > > 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
Please, note that the defines are _POSIX1_VERSION_*
^
> > >> > 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
> [...]
>
> If it is used to *define* _POSIX_VERSION, it should have come up too,
> wouldn't it?
>
> The only define that comes close to something like YYYYMM is:
No, it's not the only one. The _POSIX1_VERSION_* macros we are looking for
are there below and they are defined this way too (did you miss them because
of the trailing comment?)
> X11/Xosdefs.h:#define X_POSIX_C_SOURCE 199300L
>
> usr/include 111 > grep -r POSIX.*YEAR .
> Exit 1
>
> /usr/include 112 > grep -P -r 'POSIX.*\b(19\d\d|200\d)' .
> ./sys/buf.h:#if (_POSIX_C_SOURCE >= 199309)
> ./sys/buf.h:#endif /* (_POSIX_C_SOURCE >= 199309) */
> ./sys/stdsyms.h:/* XPG3 semantics gets POSIX.1-1988 semantics by default */
> ./sys/stdsyms.h: * This usage is obsolescent, "-D_POSIX_C_SOURCE=199506" is preferred */
> ./sys/stdsyms.h:# if (_POSIX_C_SOURCE >= 199506) && !defined(_INCLUDE_POSIX1C_SOURCE)
> ./sys/stdsyms.h:# endif /* _POSIX_C_SOURCE >= 199506 && !_INCLUDE_POSIX1C_SOURCE */
> ./sys/stdsyms.h:# if (_POSIX_C_SOURCE >= 199506) && !defined(_REENTRANT)
> ./sys/stdsyms.h:# endif /* _POSIX_C_SOURCE >= 199506 && !_REENTRANT */
> ./sys/stdsyms.h:# if (_POSIX_C_SOURCE >= 199309) && !defined(_INCLUDE_POSIX4_SOURCE)
> ./sys/stdsyms.h:# endif /* _POSIX_C_SOURCE >= 199309 && !_INCLUDE_POSIX4_SOURCE */
> ./sys/unistd.h:# define _POSIX1_VERSION_88 198808L /* We support POSIX.1-1988 */
> ./sys/unistd.h:# define _POSIX1_VERSION_90 199009L /* We support POSIX.1-1990 */
> ./sys/unistd.h:# define _POSIX1_VERSION_93 199309L /* We support POSIX.1b-1993 */
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
And they are defined HERE.
Obviously, there is no value for the 2001 standard, so if this is from HP-UX
version that already has sys/select.h, it does not claim conformance to the
posix standard. But than it might be that sys/select.h is not required, so
the test might still work.
> ./sys/unistd.h:# if !defined(_POSIX_C_SOURCE) || (_POSIX_C_SOURCE < 199309L)
> ./sys/unistd.h:# else /* _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 199309L */
> ./sys/unistd.h:# endif /* _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 199309L */
> ./sys/unistd.h:/* Symbolic constants for sysconf() variables defined by POSIX.1-1988: 0-7 */
> ./sys/unistd.h:# define _SC_1_VERSION_88 7 /* _POSIX_VERSION: Date of POSIX.1-1988 */
> ./sys/unistd.h:/* Symbolic constants for sysconf() variables added by POSIX.1-1990: 100-199 */
> ./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:# define _POSIX2_VERSION 199209L /* IEEE POSIX.2-1992 base standard */
> ./sys/unistd.h:# define _POSIX2_C_VERSION 199209L /* IEEE POSIX.2-1992 C language binding */
> ./limits.h:# define _POSIX_CLOCKRES_MIN 20000000 /* The CLOCK_REALTIME clock
> ./X11/Xosdefs.h:#define X_POSIX_C_SOURCE 199300L
> ./dce/cdsclerk.h:#if _POSIX_C_SOURCE >= 199506L
> ./dce/rpcexc.h:#if _POSIX_C_SOURCE >= 199506L
> ./dce/stubbase.h:#if _POSIX_C_SOURCE >= 199506L
--
Jan 'Bulb' Hudec <bulb@ucw.cz>
next prev parent reply other threads:[~2007-12-23 8:37 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-17 18:23 [PATCH] HP-UX does not have select.h H.Merijn Brand
2007-12-17 21:00 ` Junio C Hamano
2007-12-17 22:22 ` H.Merijn Brand
2007-12-18 5:29 ` Junio C Hamano
2007-12-18 7:11 ` H.Merijn Brand
2007-12-18 8:16 ` Johannes Sixt
2007-12-18 12:38 ` Johannes Schindelin
2007-12-18 12:45 ` Johannes Sixt
2007-12-18 13:53 ` Johannes Schindelin
2007-12-18 14:22 ` Johannes Sixt
2007-12-18 9:30 ` Andreas Ericsson
2007-12-18 9:47 ` Junio C Hamano
2007-12-18 10:49 ` H.Merijn Brand
2007-12-19 19:57 ` Junio C Hamano
2007-12-19 20:12 ` H.Merijn Brand
2007-12-19 21:31 ` Junio C Hamano
2007-12-20 7:18 ` H.Merijn Brand
2007-12-20 7:52 ` Junio C Hamano
2007-12-23 8:37 ` Jan Hudec [this message]
2007-12-23 8:59 ` H.Merijn Brand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071223083708.GA3563@efreet.light.src \
--to=bulb@ucw.cz \
--cc=ae@op5.se \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=h.m.brand@xs4all.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.