#!/bin/sh

# Part of Scheme 48 1.9.  See file COPYING for notices and license.
#
# Authors: Richard Kelsey, Jonathan Rees, Mike Sperber, Marcus Crestani
#

# Build the usual development environment image.

date=`date +%Y-%m-%d`
srcdir=$1
share=$2
lib=$3
image=$4
vm=$5
initial=$6
USER=${USER-`logname 2>/dev/null || echo '*GOK*'`}

$vm -i $initial -a batch <<EOF
,load $srcdir/scheme/env/init-defpackage.scm
((*structure-ref filenames 'set-global-translation!)
 "=scheme48/" "$srcdir/scheme/")
,load =scheme48/packages.scm
,load =scheme48/more-interfaces.scm
,load =scheme48/link-packages.scm
,load =scheme48/sort/interfaces.scm
,load =scheme48/sort/packages.scm
,load =scheme48/env-packages.scm
,load =scheme48/more-packages.scm
,load =scheme48/posix/packages.scm
,load =scheme48/srfi/packages.scm
,load =scheme48/r6rs/packages.scm
,load =scheme48/net/packages.scm
,load =scheme48/cml/interfaces.scm
,load =scheme48/cml/packages.scm
,load =scheme48/xlib/xlib-interfaces.scm
,load =scheme48/xlib/xlib-packages.scm
,load =scheme48/toy-window/packages.scm
(ensure-loaded command-processor)
(ensure-loaded usual-commands)
,go ((*structure-ref command 'command-processor)
     (structure-package usual-commands)
     (list ((*structure-ref os-strings 'string->os-string) "batch")))
(ensure-loaded usual-features)
,structure more-structures more-structures-interface
,in debuginfo (read-debug-info "$srcdir/build/initial.debug")
,keep maps source files
,new-package
,open scheme filenames
(set-global-translation! "=scheme48/" "$share/")
(set-global-translation! "=scheme48external/" "$lib/")
,user
,build ((*structure-ref package-commands-internal
			'new-command-processor)
	"(made by $USER on $date)"
	usual-commands
	built-in-structures more-structures) $image
EOF
