build.sl 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. % PSL dependent file for complete rebuild of REDUCE fasl file set
  2. % Author: Anthony C. Hearn.
  3. (setq modules!* '(prolog rlisp rend arith mathlib alg1 alg2 entry matr
  4. hephys util int solve ezgcd factor rcref rsltnt
  5. algint anum gentran groebner spde mkfasl bfloat
  6. excalc))
  7. % Note that excalc changes the meaning of various infix
  8. % operators, and so must be defined last.
  9. % The following assignments are PSL dependent.
  10. (setq *fastcar t)
  11. (setq *usermode nil)
  12. (setq *verboseload t)
  13. (load compiler)
  14. % The following is PSL dependent.
  15. (setq !*int nil) % prevents input buffer being saved
  16. (setq !*msg nil)
  17. (setq oldchan!* in!*)
  18. %%%(setq !*comp t) % It's faster if we compile the boot file.
  19. (flag '(eqcar) 'lose) % PSL dependent.
  20. (setq *syslisp t) % This makes a small difference to rlisp and rend.
  21. (dskin "symget.dat") % For fast plist access.
  22. (dskin "boot.sl")
  23. % Note that the call of "rds" at the end of the boot file seems to be
  24. % needed to make the system continue reading this input file after later
  25. % exits from calls of rds.
  26. %%(setq !*comp t)
  27. (setq *argnochk t)
  28. (begin2)
  29. rds open("prolog.red",'input);
  30. (begin2)
  31. rds open("rlisp.red",'input);
  32. (begin2)
  33. infile "rend.red"$
  34. infile "mkfasl.red"$
  35. end;
  36. (initreduce)
  37. (begin2)
  38. on gc,msg;
  39. ipl!* := list("util/build.sl" . oldchan!*); %to fool IN
  40. !*quotenewnam := nil; % We need to compile prolog with this off.
  41. for each x in modules!* do
  42. <<if x eq 'bfloat then load nbig
  43. else if x eq 'alg2
  44. then eval list('load,bldmsg("%w%w",rfasl!*,"alg1"))
  45. else if x eq 'solve
  46. then eval list('load,bldmsg("%w%w",rfasl!*,"alg2"));
  47. terpri(); terpri();
  48. semic!* := '!$; % to fool IN
  49. mkfasl x;
  50. !*quotenewnam := t>>$
  51. bye;