All of lore.kernel.org
 help / color / mirror / Atom feed
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>

  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.