CcCommandsDoc.tioga
Eduardo Pelegri-Llopart, January 16, 1990 3:20:34 pm PST
Spreitze, March 13, 1990 1:36 pm PST
Willie-s, May 3, 1993 6:25 pm PDT
CcCommandsDoc
CEDAR 10.1 % FOR INTERNAL XEROX USE ONLY
CcCommands
Access to the C Compiler and Rsh
Eduardo Pelegri-Llopart
Ó Copyright 1989. 1993 Xerox Corporation. All rights reserved.
Abstract: CcCommands allows Cedar access to the C compiler and to Rsh
Created by: Eduardo Pelegri-Llopart
Maintained by: Eduardo Pelegri-Llopart, <pelegri>
Keywords: Unix, Cedar, C compiler, cross compiling
XEROX  Xerox Corporation
   Palo Alto Research Center
   3333 Coyote Hill Road
   Palo Alto, California 94304

For Internal Xerox Use Only
1. Introduction
See OldCcCommandsDoc.tioga.
2. Extensions
The Cedar of ComplexCc and ComplexRsh implementation differs from the one in Cedar7.0 in that it only supports compilation on the local machine. Also, only certain PFS views are supported. The input and output filenames and directories given to these commands must use either the -ux or -vux views. Furthermore, there are constraints between the views used and the command given to ComplexRsh. These constraints derive from the way -vux views are supported, which is by making symbolic links from the UNIX file names used by the -vux implementation to store files under and the file names that the UNIX tools and scripts expect; the constraints are that the command must not break these symbolic links.
It is possible to select the C tools to use depending on the value of the -class argument. The C tools that can be specified are the compiler, the loader, and the move command. The default values are /project/pcedar2.0/bin/ccc, /bin/ld, and /bin/mv. These defaults can be changed through entries in the UserProfile. Specifically, the value is determined by first looking for a UserProfile entry of the form ComplexCc.CLASS.XX, where XX is one of cc, ld, or mv, and CLASS is the value of the -class argument. If there is no entry as above, the entry values used are of the form ComplexCc.XX. If no value is still found, the defaults are used. A similar processing is done for selecting the shell to use for the ComplexRsh command. The UserProfile entries used are of the form ComplexCc.CLASS.csh and ComplexCc.csh, and the default value is "/bin/csh -s".
NB. note that the latest change to MakeDo uses "sun4" as the argument to -class, instead of the older-style "sparc".
In addition, the Cedar implementation supports the -X switch for ComplexCc, and the -XClass <class> for ComplexRsh. These switches request the insertion of additional information at the end of the .o file, including dependency information.
February 11, 1993
To make it possible to c-compile for a new class of machines (not one of the built-in types, i.e., cross compiling), profile entries and commander commands have been added. To emphasis co-dependence with MakeDo, the same profile entry is used:
MakeDo.UserClasses: name*
However, there has to be a different commander command; it is:
ComplexCc.AddUserClasses name*
This has to be used with the command: MakeDo.UserClass (see MakeDoExtensionsDoc.tioga).
May 3, 1993
To be able to make dynamic libraries for Solaris, is was necessary to get rid of the link (prepending FILE- to file names) feature when doing an ld (to deal with a SunOS xx ld problem); The profile option:
ComplexCc.CLASS.useLinks: FALSE
turns off links on a CLASS basis. Default value is TRUE.