Oberon ||
Compiler & Tools ||
Library ||
Module Index ||
Search Engine
Ulm's Oberon System:
obci
NAME
obci - check in Oberon sources
SYNOPSIS
obci
[ option ] ... file ...
DESCRIPTION
obci
stores one or more Oberon source files in combination with a set
of compilation options into the compiler database (CDB),
located in the Oberon name space in the directory
/pub/cdb/oberon.
Source files must have a suffix of ``.od'' (in case of definitions) or
``.om'' (in case of modules). No syntax checks are performed but
a module name must be extractable.
Sources may be checked in any number of times. If the source differs,
a new entry in CDB is created that, by default, takes precedence
over older releases. If the source text is identical to a version
already present in CDB, it's associated header (containing
compilation options and a time stamp) is updated.
Following options affect
obci
directly:
- -a authfile
-
specifies a file containing a persistent object of type
Shards.Lid that is to be used for authorization.
- -b basedir
-
defines the base path of the compiler data base (CDB). Default is
/pub/cdb/oberon.
- -t
- check in all sources with the time stamps (last time of modification)
of their corresponding files (default behaviour).
- +t
- do not take the modification stamps of the source files but the
current time as time stamp in CDB.
Compilation options are simply stored into CDB along with the
source text.
Their main use is to fine-tune the set of identifiers visible
as standard identifiers (like INTEGER) and internal modules
(as SYSTEM). By default, these sets are minimized in
conformance to the Oberon reports. Local extensions of SYSTEM
are available on request only.
Some identifier sets are defined to avoid the necessity of
enumerating a long list of identifiers:
- std
- Set of standard identifiers as defined in the Oberon report.
- sys
- Set of identifiers exported by SYSTEM as defined in the Oberon report.
- ulmsys
- Local set of extensions of SYSTEM (not included by default).
- unixsys
- Local set of standard functions that support UNIX system
calls: UNIXCALL, UNIXFORK, and
UNIXSIGNAL. Not included by default.
In addition, some fine-tuning
options are available that cover changes introduced by revisions
of the Oberon report.
Currently, following options are supported:
- -builtin modname
-
add modname to the list of internal modules that may be
imported like SYSTEM. There are none available yet.
- -ignore-builtin-clashes
- do not permit the same identifier specified twice in one
of the internal modules or in the set of standard identifiers (default).
- +ignore-builtin-clashes
- allow name clashes. The first definition of an identifier supersedes
any later additions.
- -std idset
-
include the set of identifiers idset to the set of
standard identifiers. The first use of this option empties
the set first. Further uses extend the set.
- -sys idset
-
include the set of identifiers idset to the set of
visible identifiers in SYSTEM.
Following options allow to modify some of the identifier sets.
The option name should be prefixed by + for TRUE,
and
-
for FALSE:
option identifier set identifiers default
__________________________________________________________________
stdbyte std BYTE TRUE
stdsize std SIZE FALSE
sysaddress ulmsys ADDRESS, UNTRACEDADDRESS TRUE
sysbyte sys BYTE FALSE
syscr ulmsys Ulm's coroutine primitives TRUE
syshalt ulmsys HALT (without cleanup) TRUE
sysint16 ulmsys INT16 (16-bit integer) TRUE
syssize sys SIZE TRUE
EXAMPLES
Check in Streams.od and Streams.om with all extensions
of Ulm enabled in conformance to older Oberon reports:
oberon$ A=/var/cdbd/db/write
oberon$ obci -a $A -sys sys -sys ulmsys -sys unixsys Streams.o[dm]
Check in a module in conformance to the latest Oberon report:
oberon$ A=/var/cdbd/db/write
oberon$ obci -a $A -stdbyte +sysbyte -syssize +stdsize Hello.mod
ENVIRONMENT
Following environment parameters allow to override the builtin
defaults:
- CDB_AUTH
-
default path of the authorization file.
- CDB_BASEDIR
-
default path of CDB within the Oberon name space.
SEE ALSO
- cdbd
-
daemon running CDB.
- obload
-
compiles (if necessary) and loads modules.
- obzap
-
removes modules from CDB.
- pons
-
daemon defining the shared root of the Oberon name space.
- Names
-
Oberon name space.
- OberonUlmBuiltIns
-
definition of ulmsys.
- OberonStdBuiltIns
-
definition of std.
- OberonSysBuiltIns
-
definition of sys.
BUGS
Sources checked in are readable for everybody with read access to CDB.
There is currently no difference between shared and private modules.
Edited by: borchert, last change: 2005/04/27, revision: 1.7, converted to HTML: 2005/04/27
Oberon ||
Compiler & Tools ||
Library ||
Module Index ||
Search Engine