1 10/21/88  c_compile, cc, c
  2 
  3 Syntax as a command:  cc filename1 ... filenameN  {-control_args}
  4 
  5 
  6 Function: cc is the Multics C compiler.  It accepts as input C
  7 source programs and / or assembled or compiled programs creating one
  8 of various output file types.  If more than one input file is
  9 specified cc will generate '.cob' intermediate files for each input
 10 file passed through the assembly phase of the compiler.  These files
 11 will be generated in the current working directory.  If only one
 12 file is specified a '.cob' file will not be created in the current
 13 working directory.
 14 
 15 
 16 Arguments:
 17 filename
 18    Any file name with a suffix of '.c' is taken as a C source file
 19    and is compiled. Any file name suffixed with '.alm' is passed to
 20    alm. Any file name suffixed with '.cpp' is passed to the compiler.
 21    All other file names are given as input to the Linkage Editor. CC
 22    will not perform any suffix defaulting, all suffixes are taken as
 23    specified on the command line.
 24 
 25 
 26 Control arguments:
 27 -brief, -bf
 28    suppress printing of messages stating the current pass being
 29    performed. (Default).
 30 -definition args, -def args
 31    specifies define names to be defined or undefined in the
 32    preprocessor.  Where args is a list of define names separated by
 33    commas with no spaces in the following form:
 34 
 35    -def n,x=2,^y
 36 
 37    The first arg specifies that n is to be defined as 1 in the same way
 38    as '#define n' would define n to 1. The second arg specifies that
 39    x is to be given a definition of 2 and the last arg specifies that
 40    y is to be undefined in the preprocessor. There is a maximum of ten
 41    defines and ten undefines.
 42 
 43 
 44 -include paths, -incl paths
 45    specifies the pathnames of include file directories the user
 46    wishes the preprocessor to look in for include files.  All
 47    arguments up to the next control argument are treated as include
 48    directory pathnames. A maximum of ten include directories can be
 49    specified.
 50 -library paths, -lb paths
 51    specifies the pathnames of library directories, archives or
 52    object files the user wishes the Linkage Editor to use when
 53    resolving external references.  All arguments up to the next
 54    control argument are treated as include library pathnames.
 55    A maximum of ten libraries can be specified.
 56 
 57 
 58 -list, -ls                                                           |
 59    specifies that a Linkage Editor listing file should be generated  |
 60    for the Linkage Editor pass of c_compile. The listing file will   |
 61    specify where all of the objects brought in by the Linkage        |
 62    Editor were found.                                                |
 63 
 64 -long, -lg
 65    specifies that a message should be printed specifying the
 66    completion of each pass of the compiler for each specified
 67    filename.
 68 -output_file pathname, -of pathname
 69    Forces the output to be placed in the file defined by pathname.
 70    If no output file name is given the output will be put into the
 71    Linkage Editors default output file 'a.out'.
 72 
 73 
 74 -stop_after pass, -spaf pass
 75    Specifies to cc to stop after the specified pass of the compiler.
 76    Valid values for pass are:
 77 
 78     preprocessor, pp:  generates a ".cpp" file which is the output
 79                        from the preprocessor.
 80     c:                 generates a ".alm" file which is an alm
 81                        source file outputted from the C compiler.
 82     alm:               generates a ".cob" file which is the
 83                        intermediate executable file generated from
 84                        the assembler.  This file is to be used as
 85                        input to the Linkage Editor.
 86 
 87 
 88 -table, -tb
 89    Generates a full symbol table for use by symbolic debuggers.  The
 90    symbol table is part of the symbol section of the object program
 91    and consists of two parts:  a statement map that gives the
 92    correspondence between source line numbers and object locations
 93    of the source, and an identifier table containing information
 94    about every identifier referenced in the source program.
 95 
 96 
 97 Notes:                                                              |
 98 C_compile has been altered to use the standard search rules to find |
 99 the default C runtime library (runtime.archive). This library is    |
100 normally located in >sl3p>cc>e and will automatically be found by   |
101 the referencing_dir search rule.                                    |