The following steps must be followed in order to install the test suite on a UNIX system. Note that Makefiles have been provided that will run on most systems but may require modifications for your system.
No executable is shipped in the distribution; all programs must be regenerated. When building the f2c libraries, please read the section describing the use of #define USE_STRLEN. This definition is crucial for some systems.
Step [1]
Build the f2c library - libf2c.a
(a)
cd pvt/F2C
(b)
Edit the makefile
* Check the description of onexit and how it applies
to your system.
* Select the C compile line that you want (i.e.
whether you want prototyping).
(c)
Review the README file and modify items as required
by your system.
(d)
Type make
The result is a condensed version of the actual f2c utility. The
libraries libF77 and libI77 have been combined into one library, and
the actual translator f2c is not distributed. All code has been
translated and only the subroutine library is required. The code
itself has not been altered in any way, and sites that have f2c
installed as a system library may use their own version.
Step [2] Build the C layer code library - layer.a
(a)
cd pvt/LAYER
(b)
Edit the Makefile
* Change PVTHOME (currently /home/kevin/pvt) to the
directory where the PVT test suite is installed.
* Change XINCDIR (currently /usr/openwin/include ) to
the directory where X11 is installed. This is
required for include files if your implementation
uses X11. If you do not require this variable, just
leave it blank.
* Change PHIGSINCDIR (currently $(PHIGSHOME)/include/phigs)
to the directory where PHIGS is installed. This is
required for include files.
* Select the C compile line that pertains to your
system (i.e. whether you want prototyping)
(c)
Type make
Step [3] Build the subroutine library - libcpvt.a
The following steps build use the single directory, rather than
hierarchically (see section 3.1.2).
(a)
cd pvt/V2LIB
(b)
Edit the Makefile
* Change PVTHOME (currently /home/kevin/pvt) to the
directory where the PVT test suite is installed.
* Change XINCDIR (currently /usr/openwin/include ) to
the directory where X11 is installed. This is
required for include files if your implementation
uses X11. If you do not require this variable, just
leave it blank.
* Change PHIGSINCDIR (currently $(PHIGSHOME)/include/phigs)
to the directory where PHIGS is installed. This is
required for include files.
* Select the C compile line that pertains to your
system (i.e. whether you want prototyping)
(c)
Edit INITGL.c:
* Change the filename character variable on line 180
to the directory where you will install the
configuration file using INITPH.
Currently:
s_copy(filenm, "INITPH$DAT", 60L, 10L);
Change to:
s_copy(filenm, "/pvt/INITPH$DAT", 60L, L);
Change the to the length of the character
string, (up to a max of 60)
(d)
Edit MULTWS.c:
* Change the filename character variable on line 206
to the directory where you will install the
configuration file using INITPH.
Currently:
s_copy(filenm, "INITPH$DAT", 60L, 10L);
Change to:
s_copy(filenm, "/pvt/INITPH$DAT", 60L, L);
Change the to the length of the character
string, (up to a max of 60)
* Refer to the discussion on MULTWS in the
customizations section (section 3.2.5) to determine
if further changes are required (i.e. do you need
to generate a special workstation type).
(e)
Edit XPOPPH.c:
* Refer to the discussion on XPOPPH in the
customizations section (section 3.2.2) to determine
if any changes are required (i.e. do you need to
generate a special workstation type).
(f)
Type make
Step [4] Build initph and oprcmt
(a)
cd pvt
(b)
Edit the Makefile
* Change PVTHOME (currently /home/kevin/pvt) to the
directory where the PVT test suite is installed.
* Change XINCDIR (currently /usr/openwin/include ) to
the directory where X11 is installed. This is
required for include files if your implementation
uses X11. If you do not require this variable, just
leave it blank.
* Make sure PHIGSHOME is set.
* Check the system variable CPHIGS_LIB. It must be
set to the libraries required by your PHIGS
implementation, including the PHIGS libraries
themselves (i.e. does it use any X libraries?).
Set this variable accordingly to locate the
libraries you will need.
(c)
Edit pvt/C/std/initph.c:
* Change the filename character variable on line 361
to the directory where you would like to have the
configuration file installed.
Currently:
s_copy(filenm, "INITPH$DAT", 60L, 10L);
Change to:
s_copy(filenm, "/pvt/INITPH$DAT", 60L, L);
Change the to the length of the character
string, (up to a max of 60)
[d] Change the filename character variable on line 363
to the directory where you would like to have the
HUMAN-READABLE configuration file installed.
Currently:
s_copy(filenm, "INITPH$PRT", 60L, 10L);
Change to:
s_copy(filenm, "/pvt/INITPH$PRT", 60L, L);
Change the to the length of the character
string, (up to a max of 60)
(e)
Type make cadmin
Step [5] run pvt/C/std/initph to create the configuration
file, as described in section 4.2.
Step [6] Build the PVT test suite.
[a] Edit pvt/Makefile:
* Select the C compile line that pertains to your
system (i.e. whether you want prototyping)
In the PVT root type one of:
make all [Build the C test suite]
make cadmin [Build the C version of initph]
Step [7] Run the test suite.
Each of the programs that exist in the sub-tree must be
executed to perform a complete validation. You should
develop procedures on your system to accomplish this
efficiently. When the actual validation is performed, each
program must compile, link and execute without error.
In the PVT root type one of:
make -f Makefile.run run [Run both active and passive C
tests]
make -f Makefile.run runactive
[Run active C tests]
make -f Makefile.run runpassive
[Run passive C tests]