dbuild.sl 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. % dbuild.sl -- build a PSL REDUCE "in core" without use of fasl files.
  2. % Author: Anthony C. Hearn.
  3. (load addr2id) % In case an error occurs.
  4. (setq !*fastcar t)
  5. (setq !*usermode nil)
  6. (setq !*verboseload t)
  7. (remprop 'cursym!* 'vartype) % PSL declares this fluid.
  8. % Compiler modifications.
  9. (load compiler)
  10. (remprop 'wplus2 'one) % PSL compiler bug.
  11. (remprop 'log 'no!-side!-effects!?) % So that math can be fasled.
  12. (remprop 'atan 'no!-side!-effects!?) % So that math can be fasled.
  13. (remprop '!*msg 'vartype) % Compiler declares this global.
  14. (load fast!-vector) % To use IGETV, etc.
  15. (cond ((filep "$reduce/lisp/psl/$MACHINE/psl/symget.b")
  16. (dskin "$reduce/packages/support/symget.dat")))
  17. (load zbig) % PSL bignums.
  18. (errorset '(load compat) nil nil) % Load PSL accelerators if there.
  19. (flag '(eqcar) 'lose) % Already in PSL.
  20. (setq !*init!-time!* (time))
  21. (setq prolog_file 'pslprolo)
  22. (setq rend_file 'pslrend)
  23. (copyd 'rdf 'dskin) % CSL has a nicer name for this.
  24. (global '(oldchan!* datchan!*)) % datchan!* needed for MS-DOS.
  25. (setq oldchan2!*
  26. (rds (setq oldchan!*
  27. (open "$reduce/packages/support/dbuild2.sl" 'input))))
  28. % PSL independent code.
  29. (close oldchan!*)
  30. (setq !*verboseload nil)
  31. (prog nil
  32. (reclaim)
  33. (prin2 "Time for build: ")
  34. (prin2 (quotient (difference (time) !*init!-time!*) 1000.0))
  35. (prin2t " secs")
  36. (prin2 "Heap left: ")
  37. (prin2t (gtheap nil))
  38. (prin2 "BPS left: ")
  39. (prin2t (free-bps)))
  40. (initreduce)
  41. (setq date!* (date))
  42. (setq version!* "Bootstrapping REDUCE")
  43. (cond (datchan!* (rds datchan!*))) % Needed for MS-DOS systems.