File r36/cslsrc/mkrlisp.lsp artifact fceda94c24 part of check-in 3af273af29


%
%           csl -z -orlisp.img mkrlisp.lsp -lrlisp.log
%
% where this job rebuilds RLISP etc etc from scratch
%
%
% Build a CSL REDUCE "in core" as first stage of a bootstrap.  To be
% run starting from a cold-start CSL, i.e. with the -z option.
%

% Author: Anthony C. Hearn.
%         Modifications by Stanley L. Kameny and Arthur Norman

(verbos 3)

(rdf "$cslbase/compat.lsp")
(rdf "$cslbase/extras.lsp")
(rdf "$cslbase/compiler.lsp")

(compile!-all)

% Finally build fasl files for the compatibility code and the two
% versions of the compiler.

(faslout 'compat)
(rdf "$cslbase/compat.lsp")
(rdf "$cslbase/extras.lsp")
(faslend)

(faslout 'compiler)
(rdf "$cslbase/compiler.lsp")
(faslend)

(faslout 'ccomp)
(rdf "$cslbase/ccomp.lsp")
(faslend)

(setq !*comp t)            % It's faster if we compile the boot file.

% The curious arrangement of rds and oldchan!* is because the
% source file ../src/boot.sl ends by doing an (rds oldchan!*), which
% avoids it hitting the end of file, and probably fits PSL very well.
% If that line were not there I could just go (rdf "$cslbase/../src/boot.sl")
% and that would cope with the file closing as well.

(rds (setq oldchan!* (rds nil)))

(rds (setq xxx (open "../src/boot.sl" 'input)))

(close xxx)

(begin2)

% "cslprolo.red" can contain thigs that are system dependent
% but which HAVE to be loaded before "rlisp.red" is.

rds(xxx := open("../src/cslprolo.red",'input));

(close xxx)

(begin2)

rds(xxx := open("../src/module.red",'input));

(close xxx)

(begin2)

rds(xxx := open("../src/rlisp.red",'input));

(close xxx)

(begin2)

% "cslrend.red" contains CSL specific definitions of a few functions
% required by Reduce, and can flag things as 'lose where that will help
% performance by allowing versions of functions built into the CSL kernel
% to remain active.

rds(xxx := open("../src/cslrend.red",'input));

(close xxx)

(begin)

symbolic;

<< initreduce();
   date!* := "RLISP";
% I call mapstore() here to reset all counts to zero,
% thereby making future statistics at least marginally meaningful!
   mapstore 4;
   !*savedef := nil;

   preserve('begin, "RLISP ...") >>;

% end of build1.lsp


REDUCE Historical
REDUCE Sourceforge Project | Historical SVN Repository | GitHub Mirror | SourceHut Mirror | NotABug Mirror | Chisel Mirror | Chisel RSS ]