mkreduce.psl 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #!/bin/csh -f
  2. # mkreduce --- Make basic REDUCE executable file.
  3. # Author: Anthony C. Hearn.
  4. # source $reduce/util/reduce-names
  5. setenv rexec $reduce/lisp/psl/$MACHINE/red
  6. rm -f $reduce/log/mkreduce.log
  7. if ( -e $rexec/reduce.img ) then
  8. mv $rexec/reduce.img $rexec/,reduce.img
  9. else if ( -e $rexec/reduce && `wc -c < $rexec/reduce` >> 10000 ) then
  10. mv $rexec/reduce $rexec/,reduce
  11. endif
  12. date > $reduce/log/mkreduce.log
  13. pushd $reduce/lisp/psl/$MACHINE/psl
  14. ./bpsl -td 12000000 >>& $reduce/log/mkreduce.log << EOF
  15. (setq symbolfilename* "$reduce/lisp/psl/$MACHINE/psl/bpsl")
  16. (setq loaddirectories* '("" "\$reduce/lisp/psl/$MACHINE/red/"
  17. "\$reduce/lisp/psl/$MACHINE/psl/"))
  18. (reclaim)
  19. (setq !*init!-stats!* (list (time) (gtheap nil) (free-bps) nextsymbol))
  20. % Load REDUCE code
  21. % (flag '(atsoc) 'lose)
  22. (dskin "$reduce/packages/support/mkredpsl.sl")
  23. (cond ((and (memq 'sparc lispsystem!*) (getd 'supersparc))(supersparc)))
  24. % Print some statistics
  25. (prog nil
  26. (reclaim)
  27. (terpri)
  28. (prin2 "Time for build: ")
  29. (prin2 (quotient (difference (time) (car !*init!-stats!*)) 1000.0))
  30. (prin2t " secs")
  31. (prin2 "Symbols used: ")
  32. (prin2t (difference nextsymbol (cadddr !*init!-stats!*)))
  33. (prin2 "Heap used: ")
  34. (prin2t (difference (cadr !*init!-stats!*) (gtheap nil)))
  35. (prin2 "BPS used: ")
  36. (prin2t (difference (caddr !*init!-stats!*) (free-bps)))
  37. (prin2 "Heap left: ")
  38. (prin2t (gtheap nil))
  39. (prin2 "BPS left: ")
  40. (prin2t (free-bps))
  41. (setq !*init!-stats!* nil))
  42. % Save an executable dump file
  43. (savesystem "REDUCE" "$rexec/reduce" '((read-init-file "reduce")))
  44. (bye)
  45. EOF
  46. popd
  47. if ( -f $rexec/reduce.img ) then
  48. # $reduce/util/sparsify $rexec/reduce.img
  49. chmod o+r $rexec/reduce.img
  50. else if ( -e $rexec/reduce ) then
  51. # $reduce/util/sparsify $rexec/reduce
  52. chmod o+x $rexec/reduce
  53. endif
  54. date >> $reduce/log/mkreduce.log