From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Hudec Subject: Re: [PATCH] HP-UX does not have select.h Date: Sun, 23 Dec 2007 09:37:08 +0100 Message-ID: <20071223083708.GA3563@efreet.light.src> References: <20071217192306.5da48540@pc09.procura.nl> <7v8x3t6nq1.fsf@gitster.siamese.dyndns.org> <4767934F.7070706@op5.se> <7vir2w1ghi.fsf@gitster.siamese.dyndns.org> <20071218114949.711ba447@pc09.procura.nl> <7vr6hiv4ny.fsf@gitster.siamese.dyndns.org> <20071219211226.41920430@pc09.procura.nl> <7vzlw6tlpt.fsf@gitster.siamese.dyndns.org> <20071220081806.0ccdf636@pc09.procura.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Junio C Hamano , Andreas Ericsson , git@vger.kernel.org To: "H.Merijn Brand" X-From: git-owner@vger.kernel.org Sun Dec 23 09:37:55 2007 Return-path: Envelope-to: gcvg-git-2@gmane.org Received: from vger.kernel.org ([209.132.176.167]) by lo.gmane.org with esmtp (Exim 4.50) id 1J6MLA-0002kp-I4 for gcvg-git-2@gmane.org; Sun, 23 Dec 2007 09:37:45 +0100 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751865AbXLWIhU (ORCPT ); Sun, 23 Dec 2007 03:37:20 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751714AbXLWIhU (ORCPT ); Sun, 23 Dec 2007 03:37:20 -0500 Received: from ns1.bluetone.cz ([212.158.128.13]:33678 "EHLO ns1.bluetone.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751273AbXLWIhS (ORCPT ); Sun, 23 Dec 2007 03:37:18 -0500 Received: from localhost (spamhole.bluetone.cz [192.168.13.2]) by ns1.bluetone.cz (Postfix) with ESMTP id B50CE57463; Sun, 23 Dec 2007 09:37:16 +0100 (CET) Received: from ns1.bluetone.cz ([192.168.13.1]) by localhost (spamhole.bluetone.cz [192.168.13.2]) (amavisd-new, port 10026) with ESMTP id uUJ5cQLhQYMV; Sun, 23 Dec 2007 09:37:14 +0100 (CET) Received: from efreet.light.src (145-119-207-85.strcechy.adsl-llu.static.bluetone.cz [85.207.119.145]) by ns1.bluetone.cz (Postfix) with ESMTP id 4695A57457; Sun, 23 Dec 2007 09:37:13 +0100 (CET) Received: from bulb by efreet.light.src with local (Exim 4.68) (envelope-from ) id 1J6MKa-0006oo-3t; Sun, 23 Dec 2007 09:37:08 +0100 Content-Disposition: inline In-Reply-To: <20071220081806.0ccdf636@pc09.procura.nl> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: 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 wrote: > > "H.Merijn Brand" writes: > > > On Wed, 19 Dec 2007 11:57:21 -0800, Junio C Hamano wrote: > > >> "H.Merijn Brand" writes: > > >> > On Tue, 18 Dec 2007 01:47:53 -0800, Junio C Hamano 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