|--repository <directory>, -r <directory>|
|Add a directory to the list of repositories used by the compiler. A repository has a fixed directory structure, with subdirectory src/ holding source files, sym/, obj/, and bin/ storing symbol files, C header and code files, object files and binaries produced by the compiler, and so on. Repositories are searched from right to left, with command line arguments taking precedence of entries in the compilers configuration file. By default, the current working directory is part of the list of repositories.|
|Remove all run-time checks and ASSERT statements from the generated code. Typically, this produces a significant speedup.|
|Force compilation of all modules whose source code is available. By default, only modules with missing or inconsistent derived files are compiled.|
|If set, then the compiler logs the names of read and written files to stdout, as well as any shell commands run by it.|
|Currently no effect.|
|The name of the C compiler.|
|These flags are added to the C compilers argument list when translating a C file into an object file.|
|Flags targeted at the C compilers preprocessor.|
|The value of this string is appended to the link command.|
|The value of this string is added to the very end of the link command.|
|The name of the libtool binary. If the value is no, the the compiler does not produce static or shared libraries at all.|
|Specify the directory where libraries should be installed. Note that the same destination directory has to be used for both library creation (with --build-package) and library installation (with --install-package).|
|Binaries are installed into this directory by --install-package.|
|All module data produced by the compiler, like symbol files, header files, or package meta data, are copied by --install-package into this directory. By default, this is the directory used when installing the compiler, typically <prefix>/lib/oo2c.|
|Commands to install directories, binaries, and data files, and the command used to remove them with --uninstall-package.|
|Name of the XSLT processor. It produces the HTML version of the documentation of library modules. The value no disables HTML documentation.|
|Use given file name for the configuration file.|
|Selects the format of emitted error messages. The default setting is file:line:column, which generates messages like "src/Foo.Mod:2:15: Some horrible error". The setting char-pos selects the error format of oo2c v1, "4212: 123 Some horrible error", where the first number is the character position in the file. The file name itself is given in a separate line.|
The compilers configuration is determined by the file <prefix>/lib/oo2c/oo2crc.xml and by the pkginfo.xml files of any repositories listed there.
oo2crc.xml provides default value for options and pragma variables, and also defines a default list of repositories: the compilers installation directory and the current working directory. The name of the configuration file can be overridden by setting the environment variable OO2CRC.
Within a pkginfo.xml file, the root element package and its child elements describe the meta data of a package. Among other things, the provide a package name, a version, and optional lists of executables, libraries, and resource files. The compiler uses this information to take appropriate action when executing a --build-package or --install-package command. The file may also include package specific definitions of options and pragma variables. This information is incorporated automatically by the compiler and extends the settings from oo2crc.xml. For examples of pkginfo.xml, please refer to ./pkginfo.xml and ./lib/pkginfo.xml.in in oo2cs distribution tar ball.
Any errors encountered while parsing a source file foo.Mod are written to stdout like this:
src/foo.Mod:<line>:<column>: <error message>
The integer <line> refers to a line in the file (the first line is 1), and <column> to a column within that line (the first column being 1). The rest of the line is a plain text error message. The message format can be changed with the option --error-style, and in connection with --error-style char-pos, the filter program ooef can also be used.
OO2CRC overrides the name of the configuration file. OOC_REPS is a list of repository paths, separated by colons (:). Empty paths are ignored.
file.Mod Source code of an Oberon-2 module. file.Sym Symbol file with public interface of the module. file.Doc Documentation strings from the public interface. file.oh Header file with C level interface. file.c, file.d Generated ANSI-C code. file.o Object file derived from file.d and file.c.
In the directory <prefix>/lib/oo2c:
oo2crc.xml Configuration file with defaults for options, pragmas, and repositories. src/__*.h Auxiliary files of the compiler.
The exit status is non zero, if, and only if, an error occurred during compilation.
Additional topics covered by the OOC2 Reference Manual: installing oo2c, use of initialization files, interfacing to C code, creating static and shared libraries from Oberon-2 modules, and using the Oberon-2 mode for Emacs.
The OOC Reference Manual can be obtained from the OOC Home Page at http://ooc.sourceforge.net/. It is available in info, Postscript, HTML, and texinfo format.
Please note: At the time of writing, only the OOC Reference Manual for version 1 is available.
Michael van Acken <email@example.com>