Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)
• The Source Code Control System (SCCS) is used to manage source code. SCCS was developed
by AT&T and comes with SVR3 and SVR4 UNIX systems and with SunOS systems.
SCCS is not provided as part of the OSS environment.
• The Revision Control System (RCS) is used to manage source code. RCS was created at Purdue
University; it is available from the public domain, distributed by the Free Software Foundation,
Inc. under the GNU license. It is also available on some SunOS systems.
RCS is not provided as part of the OSS environment but ported versions are available from
third-party sources.
The search path for make files does not include SCCS or RCS in the OSS environment.
C Source Code Utilities
The following C source code utilities might be available on your UNIX workstation:
• m4 is a general-purpose macro preprocessor for C programs.
• cb is a C program beautifier that helps produce more readable C code.
• cflow produces a chart of external references for checking program dependencies.
• ctrace prints out variables during execution for following execution of a C program, one
statement at a time.
• cxref analyzes a group of C source files and builds a cross-reference table for symbols in
each for checking program dependencies.
• indent indents and formats C source files to produce more readable C code.
• unifdef resolves and removes from preprocessor output code lines bound with the #ifdef
directive.
You should perform your source code analysis before porting to the OSS environment. Therefore,
these tools are not provided with the OSS environment. Note that #ifdef directives can be very
useful in ported programs when source code is used to compile object code for more than one
platform.
Object File Utilities
The following object file utilities might be available on your UNIX workstation:
• ar is an archive utility for maintaining object modules. It helps to build a set of routines in a
library file from which you can add or delete modules. More information about using ar is
available in the ar(1) online reference page; ar is also available in the OSS environment.
If you manage your object files on the workstation using ar, then you can manage the
corresponding object files in the OSS environment using ar.
• lorder generates an ordered listing of object files. More information about using lorder
is available in the lorder(1) online reference page; lorder is not available in the OSS
environment.
If you track your object files on the workstation using lorder, then you will know which object
files you must replace after porting your application to the OSS environment.
• nm prints a symbol table of an object file. More information about using nm is available in
the nm(1) online reference page; nm is also available in the OSS environment.
If you manage your symbols on the workstation using nm, then you can manage your symbols
in the OSS environment using nm.
• size reports the number of bytes in an object’s sections of loadable segments. This information
can help you adjust the memory management portion of your application when porting to the
164 Porting From Specific UNIX Systems