1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- %
- % 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
|