Next: Compiling the Lisp Code, Up: System Building [Contents]
There is a circular dependancy between lisp/internals.h and lisp/lisp.map that causes bootstrapping problems. The easiest way to get around this problem is to make a fake lisp.nm file that has nothing in it but a version number:
% echo "Map file for lisp version 0" > lisp.nm
and then run genesis with NIL for the list of files:
* (load ".../compiler/generic/new-genesis") ; compile before loading * (lisp::genesis nil ".../lisp/lisp.nm" "/dev/null" ".../lisp/lisp.map" ".../lisp/lisp.h")
It will generate a whole bunch of warnings about things being undefined, but ignore that, because it will also generate a correct lisp.h. You can then compile lisp producing a correct lisp.map:
% make
and then use tools/do-worldbuild and tools/mk-lisp to build kernel.core and lisp.core (see section building-cores.)