4e8732935d428b2a70151b178a95cbba5d3839f5wrowe#! /bin/ksh
5a4b3207b395b426c5a9066f4afea8d3fa8c6660stoddard
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingPOLICYDIR=/opt/ECSpooler/systrace-policy
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingINTERPRETER=/opt/sbcl-1.0.5/bin/sbcl
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingSBCL_HOME=${INTERPRETER%/bin/sbcl}/lib/sbcl; export SBCL_HOME
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingOPTIONS=" --noinform --disable-debugger --no-sysinit --no-userinit "
4e8732935d428b2a70151b178a95cbba5d3839f5wrowe
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# Explanation of SBCL command-line flags in use:
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding#
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# --disable-debugger
4e8732935d428b2a70151b178a95cbba5d3839f5wrowe# By default, a Common Lisp system tries to ask the programmer for
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# help when it gets in trouble (by printing a debug prompt, then
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# listening, on *DEBUG-IO*). However, this is not useful behavior
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# for a system running with no programmer available, and this
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# option tries to set up more appropriate behavior for that
4e8732935d428b2a70151b178a95cbba5d3839f5wrowe# situation
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding#
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# --noinform
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# Suppresses the startup banner text.
4e8732935d428b2a70151b178a95cbba5d3839f5wrowe#
4e8732935d428b2a70151b178a95cbba5d3839f5wrowe# --no-sysinit
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# Don't load any system-wide initialization files.
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding#
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# --no-userinit
5a4b3207b395b426c5a9066f4afea8d3fa8c6660stoddard# Don't load any user initialization file.
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding#
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# --load file
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# Loads file after SBCL starts.
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding#
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# --eval "(quit)"
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding# Quit after executing the loaded file.
4e8732935d428b2a70151b178a95cbba5d3839f5wrowe
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingtrap 'kill $! && trap - TERM && kill $$' TERM
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingsystrace -a -d $POLICYDIR $INTERPRETER $OPTIONS --load "$@" --eval "(quit)" &
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fieldingwait %%
09fe0b69d3d1e8c8041c9ce99ee77b8b44b5e3b1fielding