Install Orion as an executable heap image

This commit is contained in:
mainzelm 2005-10-04 14:49:31 +00:00
parent 0344af777d
commit 25e17caf5b
1 changed files with 28 additions and 13 deletions

View File

@ -6,16 +6,35 @@ exec scsh -lel install-lib/load.scm -dm -o install-orion -e install-program-main
(open scheme-with-scsh
install-lib)
(begin
(define orion-template #<<END
#!/bin/sh
exec scsh -lel module-system-1.0/load.scm -lel interaction-0.2/load.scm -lel cml-1.0/load.scm -lel heap-images-1.0/load.scm -lel scx-0.2/load.scm -lm ~a/packages.scm -m main -s "$0"
!#
(start)
(run (scsh -lel module-system-1.0/load.scm -lel interaction-0.2/load.scm
-lel cml-1.0/load.scm -lel heap-images-1.0/load.scm
-lel scx-0.3/load.scm -lm src/packages.scm -o main -e main -sfd 0)
(<< #<<END
(define (main args)
(define image-header
(format #f "#!~a/scsh/scshvm \\\n-o ~a/scsh/scshvm -i\n"
(lib-dir) (lib-dir)))
(with-output-to-file
"orion.header"
(lambda ()
(display image-header)
(newline)))
(dump-scsh-program
orion-wm "orion.image")
(run (cat "orion.header" "orion.image") (> "orion"))
(set-file-mode "orion" #o755)
(delete-file "orion.header")
(delete-file "orion.image"))
END
)
))
(define-program "orion" (0 2) ((install-lib-version (1 1)))
(define-program "orion" (0 3) ((install-lib-version (1 1)))
;; Install documentation
(install-file "doc/user.html" 'doc "html")
@ -23,8 +42,4 @@ END
(install-directory-contents "src" 'scheme)
;; Install script
(install-string (format #f orion-template (get-directory 'scheme #f))
"orion"
'bin
"."
#o555))))
(install-file "orion" 'bin))))