1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 04:10:18 +02:00
guile/guile-tools.in
2001-05-04 20:26:48 +00:00

101 lines
2.6 KiB
Bash

#!/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