Using a binary kernel

All the ATLAS machinery assumes you are using a C source, or something that can be made to look like one (i.e. assembler done as in-line assembler in C). Not all ways of programming can be made to work this way, so ATLAS has the ability to take an object-only kernel. The level 1 kernels do not have this option, but the Level 2 and 3 do.

This ability is an ugly hack on the pre-existing machinery, so don't expect either elegance or ease of use with this option: it is a last-resort kind of thing at best.

ATLAS has a routine that it builds called ./xccobj, which is a ``compiler'' for object files. Essentially, what it does is fake compilation, but instead it simply moves a pre-compiled .o into place during the install/tuning process. You can see the source for this routine in ATLAS/bin/ccobj.c.

This routine reads in some special ``compiler flags'' that you pass it in order to figure out what to do. The most important of these are:

Clint Whaley 2012-07-10