[Python-Dev] problems with SUSv2 compatibility defines

M.-A. Lemburg mal@lemburg.com
Fri, 07 Jul 2000 16:17:34 +0200


Sjoerd Mullender wrote:
> 
> On Fri, Jul 7 2000 "M.-A. Lemburg" wrote:
> 
> > Perhaps you could figure out which defines are needed to
> > reenable the missing APIs on IRIX when _XOPEN_SOURCE is
> > defined... it would be helpful to help pin-point the
> > weak spots w/r to SUSv2 compatibility.
> 
> It looks like there is no way of doing this.  The relevant bits of
> code are:
> 
> In time.h (as an example):
> #if _SGIAPI && _NO_ANSIMODE
> extern time_t altzone;
> #endif  /* _SGIAPI */
> 
> So _SGIAPI and _NO_ANSIMODE should both be defined and != 0.
> The definition of _SGIAPI is
> #define _SGIAPI         ((defined(_SGI_SOURCE) && \
>                                 _NO_POSIX && _NO_XOPEN4 && _NO_XOPEN5) || \
>                         (_ANSIMODE && _NO_POSIX && _NO_XOPEN4 && _NO_XOPEN5))
> So, if _NO_XOPEN5 is 0, _SGIAPI is 0.  The definition of _NO_XOPEN5 is
> #define _NO_XOPEN5      (!defined(_XOPEN_SOURCE) || \
>                                 (defined(_XOPEN_SOURCE) && \
>                                 (_XOPEN_SOURCE+0 < 500)))
> So _NO_XOPEN5 is 0 since _XOPEN_SOURCE is defined and >= 500.

Hmm, would that mean that altzone is not part of SUSv2 
(in that case we'd have to change Python) ?

Or are the SGI header files wrong here (which means we'd
have to work around those bugs) ?
 
> All of this on IRIX 6.5.2.  I can't check other versions of IRIX.

Thanks,
-- 
Marc-Andre Lemburg
______________________________________________________________________
Business:                                      http://www.lemburg.com/
Python Pages:                           http://www.lemburg.com/python/