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