GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  CM3 (1)

NAME

cm3- Critical Mass Modula-3 Compiler

CONTENTS

Description
     Expected Directory Structure
Options
     Mode Options
     Compiler Options
     Program and Library Options
     Message Options
     Information and Help Options
     Miscellaneous Options
Exit Status
Environment
Files
Versions
Conforming To
     Deviations
Bugs
See Also
     Websites
     Manual Pages
     Books
Author

SYNOPSIS

cm3 [options]

DESCRIPTION

The Critical Mass Modula-3 Compiler cm3 is a descendant of the Modula-3 compiler developed by Digital Equipment Corp. (DEC) Systems Research Center (SRC) and Olivetti Corp. Cm3 was a component of a commercial product (Reactor) of Critical Mass. When that company went out of business, Elego Software Solutions acquired the rights to Reactor and its components. They released the Modula-3 compiler cm3 as an open source project, and currently support it by hosting its web site.

    Expected Directory Structure

Each modula-3 software package has a root directory in which certain files and directories may appear. The optional files m3makefile, and m3overrides may be placed in the root of the package directory. All the source code should be in a directory named src, and the compiler will place all generated object files, libraries, and exectuables in directories appropriate for the target architecture, generating those directories in the package root directory if required. The src directory may contain nested subdirectories further organizing the source code.

OPTIONS

    Mode Options

-build Compile and Link the entire project
-ship Install the package into the CM3_INSTALL_ROOT directory tree. NOTE: This may require administrator priviledges.
-clean Delete derived files.
-realclean
  Delete entire derived target directory.
-find Locate source files.
-depend Generate package dependencies.

    Compiler Options

-gstabs+
  Produce symbol table information for the debugger.
-O Optimize the generated code.
-A Disable code generation for assertions.
-once Don’t recompile to improve opaque object code
-w0 ... -w3 Limit the compiler warning messages.
-Z Generate coverage analysis code.
-profile
  Generate profiling code.
-widechar16
  Give WIDECHAR 16-bit range.
-widecharuni
  Give WIDECHAR full Unicode range.
-lazy Generate lazy module initialization code.
-linkall
  Generate module initialization code for all modules, even those that are not imported directly or indirectly by Main. This is currently experimental and does not always work as expected.

    Program and Library Options

-c Compile only, do not link or produce a program executable or library.
-a <foo>
  Build a library named foo.
-o <foo>
  Build program named foo.
-skiplink
  Skip the final link step.

    Message Options

-? Print a short help message.
-silent Produce no diagnostic output.
-why Explain why code is being recompiled.
-commands
  List system commands as they are performed.
-verbose
  List internal steps as they are performed.
-debug Dump internal debugging information.
-trace Trace quake code execution.

    Information and Help Options

-help Print a short help message.
-? See -help.
-version
  Print the compiler’s version information and exit.
-config Print the compiler’s version information and exit.

    Miscellaneous Options

-keep Preserve intermediate and temporary files.
-times Produce a dump of elapsed times.
-override
  Include the "m3overrides" file.
-x Include the "m3overrides" file. (see -override ) above.
-D<symbol>
  Define <symbol> with the value TRUE.
-D<symbol>=<value>
  Define <symbol> with the supplied <value>.
-F <fn>
  Prepend the quake code of file <fn>.
-FP <fn>
  Prepend the quake code of file <fn>.
-prepend <fn>
  Prepend the quake code of file <fn>.
-FA <fn>
  Append the quake code of file <fn>.
-append <fn>
  Append the quake code of file <fn>.
-console
  Produce a MS-Windows CONSOLE subsystem program.
-gui Produce a MS-Windows GUI subsystem program.
-windows
  Produce a MS-Windows GUI subsystem program.
-pretend <version>
  Pretend to run CM3 as if it were <version>.
-no-m3ship-resolution
  Use quake variables in .M3SHIP files (experimental).
-group-writable
  Use group-writable file modes in quake installation procedures.

EXIT STATUS

ENVIRONMENT

CM3_INSTALL_PREFIX
  is the path prefix prepended to files being installed. This is similar to the behavior "make DESTDIR=${prefix}". Use this when creating a software distribution package.
M3CONFIG
  Platform dependent configuration file to use. By default this is cm3.cfg.
QUAKE_SHELL
  Shell to be used by the quake interpreter for exec(2).
QUAKE_SHELL_OPTION
  Command option for the quake shell (eg., -c, or /c).
QUAKE_TMPDIR
  The directory for temporary files used by quake.

FILES

The m3makefile(7). is a text file read by cm3. It describes any special actions needed to build or ship the software package. This can include linking against specified libraries, creating documentation, or a number of other actions.

The m3overrides(7) file is used to stop a package from linking against the normal cm3 system libraries, but rather use the libraries listed in this file.

VERSIONS

The version of cm3 herein described is 5.7.1

CONFORMING TO

cm3 conforms to DEC-SRC Research Report 52, with several additional features.

    Deviations

TEXT The text object in which constant strings are stored, may contain unicode characters, if no unicode characters are used, then only ASCII ones will be used.
WIDECHAR
  In support of unicode characters this new builtin type is a character with ORD(LAST(WIDECHAR)) = 16_10FFFF, and may be used by TEXT.

LONGINT
  The LONGINT type is an additional builtin type, and is a signed integral type with 64 bits.

BUGS

Probably too many to count.

SEE ALSO

    Websites

The Free Critical Mass website \(laURL: http://www.opencm3.net/ \(ra.
Modula-3 Resource Page \(laURL: http://www.modula3.org/ \(ra.
Wikipedias Modula-3 Entry \(laURL: http://en.wikipedia.org/wiki/Modula-3 \(ra.
 

    Manual Pages

modula3(7).

modula3(7),m3makefile(7),m3overrides(7).

    Books

"Modula-3", Samual Harbison

"Systems Programming with Modula-3", Greg Nelson.

"Algorithms in MODULA-3", Robert Sedgewick

AUTHOR

Peter. P. Eiserloh (eiserlohpp -at- yahoo.com)
Search for    or go to Top of page |  Section 1 |  Main Index


CRITICAL MASS CM3 (1) 08-May-2009

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.