123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768 |
- %
- % smallr35 -I- -Ofullimage build2.red
- %
- % Make some modules in a file called "fullimage" so that REDUCE can be
- % built from them. These are things that will be pre-loaded into the
- % main image and so their FASL modules will not be needed once the
- % proper image has been built, plus things where the modules will be
- % copied into the final production image. In this build job I restart
- % CSL/REDUCE after I compile each module - this guarantees that inter-
- % module conflicts can not hurt the compilation. It is unfortunate that
- % at present many modules instate definitions or properties that are
- % incompatible with building others.
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % You may wonder what all the "remflag('(xxx), 'lose)" statements
- % here are. Well, they are used when some optionally loaded module
- % redefines functions that are part of the base system. In CSL (at least)
- % if those functions were important they were migrated into the CSL kernel
- % and flagged LOSE. So without the explicit REMFLAGs here the new
- % definitions required would not get instantiated.
- %
- % NOTE VERY WELL
- % If any of the source files are changed here so that they re-define
- % other functions then the code here MUST be changed to reflect that
- % fact. I hope very much that changes will in fact go in the other
- % direction so that eventually NO functions in REDUCE are given
- % multiple definitions.
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- symbolic;
- !*savedef := nil;
- copy!-module 'compat;
- copy!-module 'compiler;
- copy!-module 'ccomp;
- faslout 'user;
- rdf "u01.lsp"$
- rdf "u02.lsp"$
- rdf "u03.lsp"$
- rdf "u04.lsp"$
- rdf "u05.lsp"$
- rdf "u06.lsp"$
- rdf "u07.lsp"$
- rdf "u08.lsp"$
- rdf "u09.lsp"$
- rdf "u10.lsp"$
- rdf "u11.lsp"$
- rdf "u12.lsp"$
- faslend;
- in "../cslsrc/patches.red"$
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'module;
- in "../src/module.red"$
- module 'cslpatch;
- % Support for patching REDUCE 3.5 sources.
- % This adjusted version is needed if patching is to work properly with
- % CSL. The only changes are two replacements for calls to gensym().
- symbolic procedure patchstat;
- % Read a patch for a given package.
- begin scalar !*mode,u,v,x,y,z,z2;
- x := scan(); % Package name.
- scan(); % Remove semicolon.
- a: !*mode := 'symbolic;
- y := xread nil;
- if eqcar(y,'symbolic) then y := cadr y
- else if flagpcar(y,'modefn)
- then progn(!*mode := car y, y := cadr y);
- if eq(y,'endpatch)
- then progn(u := dated!-name x,
- z2 := list('de,u,nil,'progn . reversip z) . z2,
- z2 := list('put,mkquote x,mkquote 'patchfn,mkquote u)
- . z2,
- return ('patch . reversip z2))
- else if eqcar(y,'procedure)
- then progn(v := cadr y,
- u := hashtagged!-name(v, y),
- z := list('copyd,mkquote v,mkquote u) . z,
- z2 := convertmode(('procedure . u . cddr y),nil,
- 'symbolic,!*mode)
- . z2)
- else z := convertmode(y,nil,'symbolic,!*mode) . z;
- go to a;
- end;
- put('patch,'stat,'patchstat);
- endmodule;
- faslend;
- restart!-csl t;
- symbolic;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'cslprolo;
- in "../cslsrc/cslprolo.red"$
- faslend;
- restart!-csl t;
- symbolic;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'patches;
- in "../cslsrc/patches.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'rlisp;
- in "../src/rlisp.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'cslrend;
- in "../cslsrc/cslrend.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'poly;
- in "../src/poly.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'alg;
- in "../src/alg.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'mathpr;
- in "../src/mathpr.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'arith;
- in "../src/arith.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'cslentry;
- in "../cslsrc/cslentry.red"$
- faslend;
- %
- % The ones that follow will be copied are FASL files into the final image
- %
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'matrix;
- in "../src/matrix.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'hephys;
- in "../src/hephys.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- remflag('(glsolterm mkglsol), 'lose);
- faslout 'arnum;
- in "../src/arnum.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'cedit;
- in "../src/cedit.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'compact;
- in "../src/compact.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- remflag('(clear oddp), 'lose);
- faslout 'excalc;
- in "../src/excalc.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'ezgcd;
- in "../src/ezgcd.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'factor;
- in "../src/factor.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'gentran;
- in "../src/gentran.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'dipoly;
- in "../src/dipoly.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- remflag('(subsetp), 'lose);
- faslout 'groebner;
- in "../src/groebner.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'groebnr2;
- in "../src/groebnr2.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'int;
- in "../src/int.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- remflag('(subsetp), 'lose);
- faslout 'algint;
- in "../src/algint.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'pretty;
- in "../src/pretty.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'rcref;
- in "../src/rcref.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'numeric;
- in "../src/numeric.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'roots;
- in "../src/roots.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- remflag('(rprint), 'lose);
- faslout 'rprint;
- in "../src/rprint.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- remflag('(getcind), 'lose);
- faslout 'scope;
- in "../src/scope.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- remflag('(evalletsub2 glsolterm mkglsol), 'lose);
- faslout 'solve;
- in "../src/solve.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- remflag('(degreef ordp), 'lose);
- faslout 'spde;
- in "../src/spde.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'specfn;
- in "../src/specfn.red"$
- faslend;
- faslout 'specfn2;
- in "../src/specfn2.red"$
- faslend;
- faslout 'specfaux;
- in "../src/specfaux.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- remflag('(simptaylor), 'lose);
- faslout 'taylor;
- in "../src/taylor.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'tps;
- in "../src/tps.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'misc;
- in "../src/misc.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'odesolve;
- in "../src/odesolve.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- remflag('(getrtype1 getrtype2 locate rcons rcons varpri), 'lose);
- faslout 'avector;
- in "../src/avector.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- remflag('(depend maprin nodepend), 'lose);
- faslout 'rlisp88;
- in "../src/rlisp88.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- symbolic procedure c!:install(name, env);
- flag(list name, 'lose);
- load!-module 'user;
- faslout 'orthovec;
- in "../src/orthovec.red"$
- faslend;
- restart!-csl t;
- symbolic; load!-module 'patches;
- remflag('(evenp lengthreval natnumlis oddp
- rappend rcons rfirst rinsert rmember
- rrest rreverse rsecond rthird unitmat), 'lose);
- faslout 'assist;
- in "../lib/assist.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- remflag('(flatten subsetp unitmat), 'lose);
- faslout 'cali;
- in "../lib/cali.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- faslout 'camal;
- in "../lib/camal.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- remflag('(diffp), 'lose);
- faslout 'changevr;
- in "../lib/changevr.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- remflag('(freeof), 'lose);
- faslout 'crack2;
- in "../lib/crack2.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- remflag('(freeof), 'lose);
- faslout 'crack;
- in "../lib/crack.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- remflag('(isimp1), 'lose);
- faslout 'cvit;
- in "../lib/cvit.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- faslout 'desir;
- in "../lib/desir.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- remflag('(maxorder simptaylor), 'lose);
- faslout 'fide1;
- in "../lib/fide1.red"$
- faslend;
- load_package fide1,gentran;
- faslout 'fide;
- in "../lib/fide.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- faslout 'ideals;
- in "../lib/ideals.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- faslout 'laplace;
- in "../lib/laplace.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- remprop('help, 'stat); % Because lie.red uses "help" as a variable name
- % and I am not allowed to change that in the source.
- % Anybody who tries to recompile lie.red other than
- % via this file "watch out".
- % Actually it is more complicated than that, since I
- % will usually run this re-build job using "smallr35"
- % and I do not build the help mechanism into that.
- faslout 'lie;
- in "../lib/lie.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- faslout 'linineq;
- in "../lib/linineq.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- remflag('(locate multf ordp ordp reordop subs3f1), 'lose);
- remflag('(getrtype maprint multf multf multfnc ordop), 'lose);
- faslout 'noncom2;
- in "../lib/noncom2.red"$
- faslend;
- faslout 'physop;
- in "../lib/physop.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- remflag('(equalreval listeval opfneval opmtch rinsert simpiden), 'lose);
- faslout 'pm;
- in "../lib/pm.red"$
- faslend;
- faslout 'pmrules;
- in "../lib/pmrules.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- faslout 'reacteqn;
- in "../lib/reacteqn.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- faslout 'reset;
- in "../lib/reset.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- remflag('(get!* texlet varpri), 'lose);
- faslout 'rlfi;
- in "../lib/rlfi.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- faslout 'symmetry;
- in "../lib/symmetry.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- remflag('(texlet), 'lose);
- faslout 'tri;
- in "../lib/tri.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- faslout 'wu;
- in "../lib/wu.red"$
- faslend;
- lisp restart!-csl t;
- symbolic; load!-module 'patches;
- faslout 'gnuplot;
- in "../plot/gnuplot.red"$
- faslend;
- lisp restart!-csl nil;
- (setq !*savedef nil) (load!-module 'loadr35) (begin)
- symbolic;
- on comp;
- % Note: "cslhelp.red" defines some macros that must be present while
- % this version of REDUCE is being built, but the macros themselves do not
- % want to go in any fasl file - only the result of expanding them.
- in "../cslsrc/cslhelp.red"$
- faslout 'makehelp;
- module helpdata;
- global '(!*force);
- flag('(force),'switch);
- flag('(on),'eval);
- on force;
- symbolic procedure formhelp(u,vars,mode);
- list('help, 'list . for each x in cdr u collect mkquote x);
- make_help "../cslsrc/helpdata";
- if member('help, lispsystem!*) then <<
- put('help, 'stat, 'rlis);
- flag('(help), 'go);
- put('help, 'formfn, 'formhelp) >>;
- off force;
- remflag('(on),'eval);
- endmodule;
- faslend;
- quit;
|