Re: [PATCH] HP-UX does not have select.h

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx> wrote:
> > "H.Merijn Brand" <h.m.brand@xxxxxxxxx> writes:
> > > On Wed, 19 Dec 2007 11:57:21 -0800, Junio C Hamano <gitster@xxxxxxxxx> wrote:
> > >> "H.Merijn Brand" <h.m.brand@xxxxxxxxx> writes:
> > >> > On Tue, 18 Dec 2007 01:47:53 -0800, Junio C Hamano <gitster@xxxxxxxxx> 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@xxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux