diff --git a/guile-tools.in b/guile-tools.in new file mode 100644 index 000000000..21bcafa7d --- /dev/null +++ b/guile-tools.in @@ -0,0 +1,101 @@ +#!/bin/sh + +# Copyright (C) 2001 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this software; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +# Boston, MA 02111-1307 USA + +# Usage: guile-tools --version +# guile-tools --help +# guile-tools [OPTION] PROGRAM [ARGS] +# +# PROGRAM is run w/ ARGS. To see a list of available programs, use +# "guile-tools --help" to find the default scripts directory and then +# do a "ls" on that directory. Or just read the source 14 lines below. +# +# Options (only one of which may be used at a time): +# --scriptsdir DIR -- Look in DIR for scripts +# --guileversion VERS -- Look in $pkgdatadir/VERS/scripts for scripts +# +# TODO +# - handle pre-install invocation +# - "full" option processing (but see comment below) +# +# Author: Thien-Thi Nguyen + +prefix="@prefix@" +pkgdatadir="@datadir@/@PACKAGE@" +guileversion="@GUILE_VERSION@" +default_scriptsdir=$pkgdatadir/$guileversion/scripts + +# pre-install invocation frob +mydir=`dirname $0` +if [ -d "$mydir/scripts" -a -f "$mydir/scripts/Makefile.am" ] ; then + default_scriptsdir=`(cd $mydir/scripts ; pwd)` +fi + +help () +{ + echo "$0 [--scriptsdir DIR | --guileversion VERSION] PROGRAM [ARGS]" + echo default scriptsdir: $default_scriptsdir +} + +# option processing -- basically, you can override either the script dir +# completely, or just the guile version. we choose implementation simplicity +# over orthogonality. + +if [ x"$1" = x--version ] ; then + echo $0 $guileversion + exit 0 +fi + +if [ x"$1" = x--help -o x"$1" = x ] ; then + help + exit 0 +fi + +if [ x"$1" = x--scriptsdir ] ; then + user_scriptsdir=$2 + shift + shift +elif [ x"$1" = x--guileversion ] ; then + user_scriptsdir=$pkgdatadir/$2/scripts + shift + shift +fi + +scriptsdir=${user_scriptsdir-$default_scriptsdir} + +if [ ! -d $scriptsdir ] ; then + echo $0: no such directory: $scriptsdir + exit 1 +fi + +if [ x"$1" = x ] ; then + help + exit 1 +fi + +program=$scriptsdir/$1 +shift + +if [ -x $program ] ; then + exec $program "$@" +else + echo $0: no such program: $program + exit 1 +fi + +# guile-tools ends here