[Top][All Lists]

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

Re: lynx-dev peculiar behavior

From: T.E.Dickey
Subject: Re: lynx-dev peculiar behavior
Date: Sat, 10 Jul 1999 17:09:04 -0400 (EDT)

> The man page text Tom send talked about using ksh instead of sh as the 
> shell for system, by referring to some other man pages: 
>      If  the 
>      application  is standard-conforming (see standards(5)), sys- 
>      tem() uses /usr/bin/ksh  (see  ksh(1));  otherwise  system() 
>      uses /usr/bin/sh (see sh(1)). 
> No I don't mean what they mean by "standard-conforming", but apparently 
> your lynx isn't according to their definition since it uses "sh". 
>     Klaus 

Headers, Environments, and Macros                    standards(5)

     standards, posix, POSIX, posix.1, POSIX.1, posix.2, POSIX.2,
     xnet,  XNET, xnet4, XNET4, xpg, XPG, xpg3, XPG3, xpg4, XPG4,
     xpg4v2, XPG4v2 - standards and specifications  supported  by

     Solaris supports IEEE Std 1003.1 and IEEE Std  1003.2,  com-
     monly  known as POSIX.1 and POSIX.2, respectively.  The fol-
     lowing table lists each version of these  standards  with  a
     brief  description  and  the  SunOS  or Solaris release that
     first conformed to it.

         | POSIX Standard |           Description          |    Release  |
         | POSIX.1-1988   |  system interfaces and headers |  SunOS 4.1  |
         | POSIX.1-1990   |  POSIX.1-1988 update           |  Solaris 2.0|
         | POSIX.1b-1993  |  realtime extensions           |  Solaris 2.4|
         | POSIX.1c-1996  |  threads extensions            |  Solaris 2.6|
         | POSIX.2-1992   |  shell and utilities           |  Solaris 2.5|
         | POSIX.2a-1992  |  interactive shell  and  utili-|  Solaris 2.5|
         |                |  ties                          |             |

     Solaris  also   supports  the  X/Open  Common   Applications
     Environment  (CAE) Portability Guide Issue 3 (XPG3), Issue 4
     (XPG4), Issue 4 Version 2 (XPG4v2), and Networking  Services
     Issue  4  (XNET4).   The  following  table lists each X/Open
     specification with a brief  description  and  the  SunOS  or
     Solaris release that first conformed to it.

         |     X/Open     |                                |             |
         |  Specification |           Description          |    Release  |
         | XPG3           |  superset of POSIX.1-1988  con-|  SunOS 4.1  |
         |                |  taining utilities from SVID3  |             |
         | XPG4           |  superset   of    POSIX.1-1990,|  Solaris 2.4|
         |                |  POSIX.2-1992,   and  POSIX.2a-|             |
         |                |  1992 containing extensions  to|             |
         |                |  POSIX standards from XPG3     |             |
         | XPG4v2         |  superset  of  XPG4  containing|  Solaris 2.6|
         |                |  historical    BSD   interfaces|             |
         |                |  widely used by common applica-|             |
         |                |  tion packages                 |             |
         | XNET4          |  sockets and XTI interfaces    |  Solaris 2.6|

     If the behavior required by XPG4 conflicted with  historical
     Solaris  utility  behavior,  the original Solaris version of

SunOS 5.6           Last change: 11 Apr 1997                    1

Headers, Environments, and Macros                    standards(5)

     the utility was not changed; rather, a new version that  was
     XPG4-compliant  was provided in /usr/xpg4/bin.  For applica-
     tions wishing to take advantage of POSIX.2, POSIX.2a,  XPG4,
     or  XPG4v2  features,  the  PATH (sh or ksh)  or  path (csh)
     environment  variables  should  be  set  with  /usr/xpg4/bin
     preceding any other directories in which utilities specified
     by those specifications are found, such as  /bin,  /usr/bin,
     /usr/ucb, and /usr/ccs/bin.

  Feature Test Macros
     Applications that are  intended  to  be  conforming  POSIX.1
     applications  must  define the feature test macros specified
     by the standard before including any headers.  For the stan-
     dards  listed  below,  applications  must define the feature
     test macros listed.   Application  writers  must  check  the
     corresponding standards for other macros that can be queried
     to determine if desired options are supported by the  imple-

     POSIX.1-1990                       _POSIX_SOURCE

     POSIX.1-1990                       _POSIX_SOURCE
          and                                and
        C-Language Bindings Option      _POSIX_C_SOURCE=2

     POSIX.1b-1993                      _POSIX_C_SOURCE=199309L

     POSIX.1c-1996                      _POSIX_C_SOURCE=199506L

     To build or compile an application that conforms to  one  of
     the  X/Open  specifications,  use  the following guidelines.
     Applications need not set the POSIX feature test  macros  if
     they require both XPG and POSIX functionality.

     XPG3      The application must define _XOPEN_SOURCE.

     XPG4      The application must define _XOPEN_SOURCE and  set

     XPG4v2    The application must define _XOPEN_SOURCE and  set

     XNET4     The application must define _XOPEN_SOURCE and  set

     A POSIX.2-, XPG4-, or XPG4v2-compliant  implementation  must
     include  an  ANSI  X3.159-1989  (ANSI  C Language) standard-
     conforming compilation system and the cc and c89  utilities.

SunOS 5.6           Last change: 11 Apr 1997                    2

Headers, Environments, and Macros                    standards(5)

     Solaris 2.6 was tested with the cc and c89 utilities and the
     compilation system provided by Sun WorkShop Compiler  C  4.2
     in  the SPARC and x86 environments.  When cc is used to link
     applications, /usr/ccs/lib/values-xpg4.o must  be  specified
     on any link/load command line.

     An XNET4-conforming application must include -l xnet on  any
     link/load command line.

     If  the  compiler  suppports  the  redefine_extname   pragma
     feature  (the  Sun  WorkShop Compiler C 4.2 compiler defines
     the macro __PRAGMA_REDEFINE_EXTNAME to indicate that it sup-
     ports  this  feature), then the standard headers use #pragma
     redefine_extname directives to properly map  function  names
     onto  library entry point names.  This mapping provides full
     support for ISO C, POSIX, and X/Open namespace reservations.
     The  Sun  WorkShop  Compiler C 4.2 compiler was used for all
     branding and certification tests for Solaris 2.6.

     If this pragma feature is not supported by the compiler, the
     headers  use  the #define directive to map internal function
     names onto appropriate library entry point names.   In  this
     instance,  applications  should avoid using the explicit 64-
     bit symbols listed on the interface64(5) manual page,  since
     these  names  are  used  by  the  implementation to name the
     alternative entry points.

     sysconf(3C), environ(5), interface64(5)

SunOS 5.6           Last change: 11 Apr 1997                    3

Thomas E. Dickey

reply via email to

[Prev in Thread] Current Thread [Next in Thread]