MIMOSA(1)                USER COMMANDS                  MIMOSA(1)



NAME
     mimosa - Cedar/Mesa compiler

SYNOPSIS
     mimosa [ -options ]
          ←s←o←u←r←c←e←f←i←l←e ...

DESCRIPTION
     ←m←i←m←o←s←a is the Cedar/Mesa compiler.  It  translates  programs
     written in the Cedar/Mesa programming language into relocat-
     able binary programs  for  subsequent  loading,  Cinding  or
     linking.

     ←m←i←m←o←s←a expects input files to have the extension .mesa.  The
     Mesa/Cedar  compiler  accepts  two types of inputs - Defini-
     tions  modules  and  Program  modules.  The  output  of  the
     Mesa/Cedar compiler depends on the type of input: for Defin-
     itions modules the result is a single output file  with  the
     suffix  .mob. For Program modules there are two output files
     - the first has the suffix .mob, the second has  the  suffix
     .o.  See  FILES, below for a complete list of mimosa-related
     filename suffixes.

OPTIONS
     -a        Insert code to count how  many  times  each  basic
               block  is  executed.   Creates a .d file for every
               .mesa file compiled.  The .d file accumulates exe-
               cution  data  for  the  corresponding source file.
               The ←t←c←o←v(1) utility can then be run on the  source
               file  to  generate statistics about the program. [
               Sun only ]

     -b        Don't insert code to perform bounds checking.

     -c        Don't compile, but  produce  the  .c  intermediate
               file.

     -d        Show but do not execute the  commands  constructed
               by the compilation driver.

     -e        Use external initialization code.

     -f        Generate old style signal catch code.

     -g        Don't produce additional symbol table  information
               for ←d←b←x(1) and ←d←b←x←t←o←o←l(1).

     -h        Display helpful information about ←m←i←m←o←s←a.

     -i        Print server status information.

     -j        Finish the mimosa compile from the .c file.



Sun Release 4.1      Last change: 5 May 1991                    1






MIMOSA(1)                USER COMMANDS                  MIMOSA(1)



     -k        Keep (rather than discard) the intermediate  files
               generated during compilation.

     -l        Use .c2c.c instead of .c for filename extension.

     -m        Don't compile, but produce the Mimosa intermediate
               files.

     -n        Don't insert code to perform nil checking.

     -o[N]     Optimize the object code using level  N  optimiza-
               tion,  where  N is a value [0..4].  The specifica-
               tion of N is optional.  The value of N defaults to
               3.   If  the target architecture's C compiler does
               not support multiple level optimization the  level
               is ignored.

     -p        Prepare the object code to collect data  for  pro-
               filing with ←p←r←o←f(1).  Invokes a run-time recording
               mechanism that produces a ←m←o←n.←o←u←t file (at  normal
               termination).

     -pw       Pause if Warnings are encountered.  The default is
               to  notify the client of the warnings but continue
               to process the command line.

     -q        Generate position independent code  with  -pic.  [
               Sun only ]

     -Q        Generate position independent code  with  -PIC.  [
               Sun only ]

     -r        Do address arithmetic checking (warns the program-
               mer of non-portable pointer arithmetic).

     -s        Don't assemble the program but produce an assembly
               source file.

     -target arch
               Compile code for the  arch  architecture  machine.
               The  valid  options for arch are sun4, rs6000, and
               dec.  The default -target value is  the  architec-
               ture  of  the  machine  upon which mimosa is being
               run.  This flag takes  precedences  over  the  the
               TARGET←ARCH    environment   variable   (described
               below).

     -t        Don't report execution times for the various  com-
               pilation passes.

     -u        Don't report uninitialized variables.




Sun Release 4.1      Last change: 5 May 1991                    2






MIMOSA(1)                USER COMMANDS                  MIMOSA(1)



     -v        Verbose.  Print the version number of  the  mimosa
               and the name of each program it executes.

     -w        Do not print warnings.

     -x filename
               Call /usr/lib/inline with "-i  filename".   [  Sun
               only ]

     -y        Yell about runtime calls.

     -z        Produce Mesa debugging information.  dbx debugging
               is only supported on the Sun.  All other platforms
               must use the Cirio debugger.

EXAMPLES
     This simple form of the mimosa command is almost always suf-
     ficient to produce even the most complicated systems:

          mitty% mv FooImpl.c FooImpl.mesa
          mitty% mimosa -z -k FooImpl
          MCMC
          mimosa: seconds: 37
          mitty%

     The switches -←z -←k instruct  mimosa  to  invoke  the  symbol
     table translator ms to enable Mesa source level debugging of
     the resulting file, ←F←o←o←I←m←p←l.←o.

ENVIRONMENT
     TOOLS←SHMTYPE    is an environment variable  that  specifies
                      the type of shared memory the packaged tool
                      will use for its execution.   The  possible
                      values  are  ←m←m←a←p  (memory  mapped)  and ←s←v
                      (SystemV).   ←s←v   is   the   default.    If
                      TOOLS←SHMTYPE=mmap, then the packaged tools
                      world will be  started  with  shmtype=mmap;
                      otherwise  the packaged tools world will be
                      started    with    shmtype=sv.    If    the
                      shmtype=mmap is specified mimosa will check
                      for the existence of a  /pcrswap  directory
                      prior to starting the packaged tools world.

     MIMOSA←SERVER    is the name of the machine upon which to do
                      any  cross-compilation.   Mimosa  does  not
                      verify that machine  $MIMOSA←SERVER  is  of
                      the  architecture  type  specified  by  the
                      -target option.  This environment  variable
                      is  only  consulted if the local machine is
                      not of the same architecture  as  specified
                      by the -target option.




Sun Release 4.1      Last change: 5 May 1991                    3






MIMOSA(1)                USER COMMANDS                  MIMOSA(1)



     TARGET←ARCH      is the name of the target architecture  for
                      which  the  compiling  is  being done.  The
                      valid values of $TARGET←ARCH are  the  same
                      as for the -target argument.  A rsh is done
                      to a remote machine if the local machine is
                      not  of the $TARGET←ARCH architecture.  The
                      user  should   have   appropriate   .rhosts
                      entries.   Any  -target argument takes pre-
                      cedence over the value of TARGET←ARCH.

FILES
     ←f←i←l←e.c           C intermediate file
     ←f←i←l←e.cTypes      intermediate symbol file output from Mimosa
     ←f←i←l←e.d           ←t←c←o←v(1) test coverage input file
     ←f←i←l←e.errlog      Mimosa error log
     ←f←i←l←e.icd         Mimosa intermediate code output file
     ←f←i←l←e.mesa        Cedar/Mesa source file
     ←f←i←l←e.names       intermediate symbol file output from Mimosa
     ←f←i←l←e.o           object file
     ←f←i←l←e.s           assembler source file
     ←f←i←l←e.tcov        output from ←t←c←o←v(1)
     ←C←o←m←p←i←l←e←r.←l←o←g     Mimosa compiler log file
     ←m←o←n.←o←u←t          file produced for analysis by ←p←r←o←f(1)
     ←g←m←o←n.←o←u←t         file produced for analysis by ←g←p←r←o←f(1)

SEE ALSO
     adb(1), ar(1),  as(1),  cinder(1),  cc(1),  cpp(1),  dbx(1),
     gprof(1), ld(1), make(1), monitor(3), prof(1), tcov(1)

     ←T←h←e ←M←e←s←a ←L←a←n←g←u←a←g←e ←M←a←n←u←a←l, 1985

     ←L←a←n←g←u←a←g←e ←C←h←a←n←g←e ←S←u←m←m←a←r←y, 1989

DIAGNOSTICS
     The diagnostics produced by mimosa itself are intended to be
     self-explanatory.   Occasional  obscure messages may be pro-
     duced by the Mimosa front end, C2C back end, C preprocessor,
     C compiler or the assembler.

















Sun Release 4.1      Last change: 5 May 1991                    4