The Kent Retargetable occam Compiler (KRoC) is an occam/occam-pi language platform, comprised of an occam compiler, native-code translator and supporting run-time system.
To compile and use KRoC, you will need to have the following already installed on your machine:
- the bash shell
- the GNU toolchain -- i.e. GCC 2.95.2 or later, binutils 2.0 or later, GNU awk, GNU make
- the C development headers
- Python 2.4 or later
Some occam-pi modules can optionally make use of other native libraries if available:
- SDL and SDL_Sound
To check out and update KRoC from the Git repository, you will also need:
- automake 1.8 or later, autoconf 2.52 or later (but not autoconf 2.64, which is buggy)
On Debian-based systems, we suggest installing the following packages:
apt-get install bash gcc binutils gawk make automake autoconf pkg-config \ libc6-dev libsdl1.2-dev libsdl-sound1.2-dev libgl1-mesa-dev \ libmysqlclient15-dev libpng12-dev libxmu-dev libxi-dev \ libplayercore2-dev libplayerc2-dev libltdl3-dev \ perl python xsltproc git
On x86-64 Debian systems, you will also need the packages that allow 32-bit binaries to be compiled:
apt-get install libc6-dev-i386 lib32gcc1 gcc-multilib
For installation instructions, please see:
Before using KRoC, remember to source the relevant setup file:
". PREFIX/bin/kroc-setup.sh" for Bourne-style shells such as bash
"source PREFIX/bin/kroc-setup.csh" for C-style shells such as csh/tcsh
It may be convenient to include this command in your shell's startup file (e.g. "
/.bash_profile", "/.cshrc", or "/etc/profile").
Some standalone demo programs written in occam-pi.
Various items of documentation. The "essentially-kroc.txt" file is a good place to start.
This is the default installation directory for KRoC.
Reusable modules that can be used in occam-pi programs. Each module contains a "libsrc" directory with the module's source code, and an "examples" directory with demonstration and test programs. The "modules/course" directory will probably be of particular interest, since it contains the examples and exercises used to teach occam-pi at the University of Kent.
Low-level runtime support code for the occam-pi environment.
Functional test programs for occam-pi systems.
Tools for compiling, debugging, packaging and documenting occam-pi programs.
Copies of relevant software licenses (see Licensing below).
Note: most directories contain further README files.
KRoC is free software. In general, tools are made available under the GNU General Public License (v2 or later), and libraries are made available under the GNU Lesser General Public License (v2 or later). Information about the GNU licenses can be found at:
Known bugs are given in the top-level BUGS file. If KRoC fails to compile or work correctly on your system, please mail our bug tracking system at firstname.lastname@example.org, including a brief description of the problem and a copy of the "typescript" file generated by "build".