Portability Library for BSD Systems ------------------------------------ This port library is taken from the MIT X test suite release 1.2. The copyright notice is as follows: /* * Copyright 1990, 1991, 1992 by the Massachusetts Institute of Technology and * UniSoft Group Limited. * * Permission to use, copy, modify, distribute, and sell this software and * its documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the names of MIT and UniSoft not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. MIT and UniSoft * make no representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. * */ The following is an extract from the Xtest User Guide: The portability library may be useful as a base for porting the TET to other non-POSIX systems, however the portability library is designed to run on a BSD system, and will not necessarily build without change on other systems. The following routines are emulated for use under a BSD system, and these may be needed on other systems: getcwd() getopt() putenv() sigaction() sigaddset() sigdelset() sigemptyset() sigfillset() sigismember() sigpending() sigprocmask() sigsuspend() strchr() strcspn() strftime() strpbrk() strrchr() strspn() strtok() toupper() upcase() vsprintf() waitpid() Only the features that are used by the X test suite are emulated. They are not meant to mimic completely the standard behaviour. There is also an include directory port/INC that contains header files that are required and are not found on a BSD system. To adapt the portability library to other systems, the following hints may be useful: - Examine the directory port/INC. If the system provides a standard conforming header of the same name as one in the INC directory, the remove the version from the INC directory. - The header files contain the bare minimum information required to support the TET and use BSD features. It may be necessary to alter them to suit the local system. This applies particularly to signal.h. - It may be necessary to add other header files. - In the library Makefile remove any function that is already provided by the system in a standard conforming form. - Examine the code of the remaining functions to make sure that they will work on the target system.