Source file organization

The root of the OpenMCL source hierarchy is a directory named ccl; the CVS project and source/binary tar.gz distributions are all intended to create (or overwrite) a ccl directory in the working directory.

The lisp kernel sources reside in ccl/lisp-kernel.

Building the OpenMCL kernel for LinuxPPC

The OpenMCL kernel for LinuxPPC ("ppccl") can be bult with the following standard Linux/GNU development tools:

Some of the assembly language kernel sources use constructs that aren't recognized by earlier versions of GNU as; you can determine the version of the installed as on your system by calling:

   % as --version

in the shell. A copy of GNU as is available at ftp://clozure.com/pub/gas-2.10.1 ; you could also consider checking your LinuxPPC distribution to see if a newer version of the binutils package is available (or obtaining the binutils sources from a GNU mirror site.)

ccl/lisp-kernel/linux/Makefile defines a makefile variable named GAS as "gas-2.10.1"; change this definition to refer to the apropriate version of GNU as.

With that definition in place, do:

    % cd ccl/lisp-kernel/linux
    % make

That'll assemble several assembly language source files, compile several C source files, and link ../../ppccl.

Building the OpenMCL kernel for DarwinPPC

The OpenMCL kernel for DarwinPPC ("dppccl") can be bult with the following development tools, which are available from Apple's developer website:

I've used the "December 2001 Developer Tools Release" to build OpenMCL; I'm not aware of any significant difference between that release and the October 2001/OSX 10.1 release. I'd be skeptical of earlier versions.

It may be the case that recent versions of the Developer Tools are bundled with shrink-wrapped versions of OS X. They can be downloaded for free from Apple"s Developer site, which may require registration.

With the tools installed, building the DarwinPPC OpenMCL kernel is a simple matter of doing:

% cd ccl/lisp-kernel/darwin
% make
    

That'll assemble and compile the kernel sources and create the OpenMCL kernel in ccl/dppccl.