standards(5)standards(5)NAMEstandards - UNIX standards behavior on HP-UX
HP-UX conforms to various UNIX standards. In some cases, these stan‐
dards conflict. This manpage describes the methods that programmers
and users must follow to have an application conform and execute
according to a particular UNIX standard.
UNIX Standard Conformant Programmer Environment
The following table lists feature test macros and environment variables
that must be defined while compiling an application. Both a feature
test macro and an environment variable must be defined while compiling
the application so that the application conforms and executes according
to a particular UNIX standard. Otherwise, the behavior is undefined.
Standard Feature Test Macros to be Environment variable
defined during compilation to be set
UNIX 95 _XOPEN_SOURCE_EXTENDED=1 UNIX95 or
UNIX 2003 _XOPEN_SOURCE=600 UNIX_STD=2003
The compiler uses the feature test macros to obtain the appropriate
namespace from the header files. The compiler uses the environment
variable to link in an appropriate object file to the executable.
Using the environment variable customizes libc to match UNIX standards
for various functions.
If an application has already been compiled for default HP-UX behavior
or for one particular standard, and needs to change to a particular
UNIX standard behavior, recompile the application as specified in the
For an HP-UX command to conform to a particular UNIX standard behavior,
the application has to set the corresponding environment variable as
specified in the above table before executing that command.
UNIX Standard Conformant User Environment
To enable a particular UNIX standard conformant user environment, set
the corresponding environment variable as defined in the above table.
The following examples shows an application example. To have the sys‐
tem be conformant to UNIX2003 behavior, set the environment variable to
and define the feature test macro before compilation.
The following example changes the command to have UNIX95 behavior by
setting one of the environment variables to or to before executing that
command. There are three ways of setting the environment variable for
SEE ALSOcc(1), stdsyms(5).