#!/usr/bin/env bash name='configure' # rvs configureation script # version 0.7.0 # Copyright (C) 2009 Luke Shumaker # 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. # # Originally written by Luke Shumaker . _name='rvs' _RVS='$(bindir)/$(rvs)' _SHELL='/bin/sh' _prefix='/usr/local' _exec_prefix='$(prefix)' _bindir='$(exec_prefix)/bin' _sbindir='$(exec_prefix)/sbin' _libexecdir='$(exec_prefix)/libexec' _srcdir=$(readlink -f `dirname "$0"`) vars='name RVS SHELL prefix exec_prefix bindir sbindir libexecdir srcdir' error() { echo "$name: $1" >> /dev/stderr exit 1 } args=`getopt -n "$name" -o "${sopt}" -l "${lopt}${vars}" -- "$@"` if [ $? == 0 ]; then set -- $args while [ $# -gt 0 ]; do case "$1" in --) break;; --*) var0="${1/--/}" match='false' for var1 in $vars; do if [ "$var0" == "$var1" ]; then match='true' break; fi done if [ "$match" == 'true' ]; then val="$2" eval _$var0=$val else error "option \`$1' not recognized"; fi :;; *) error "option \`$1' not recognized";; esac shift done else error 'unable to parse command line arguments' fi echo '#!/bin/sed -f' > var.sed for var in $vars; do var1="_$var" val=${!var1} # GNU bash optimized version #var=${var//':'/'\:'} #val=${val//':'/'\:'} # POSIX version var=`echo "$var" | sed 's@:@\\:@g'` val=`echo "$val" | sed 's@:@\\:@g'` echo "s:@$var@:$val:g" >> var.sed done echo "11 a# DO NOT edit this file, it has been generated by configure, and will 11 a# be overwritten. Instead, edit the file \`Makefile.in'" >> var.sed Makefiles=`find "${_srcdir}/" -regextype posix-extended \ -regex '(.*/)?Makefile\.in' -type f` for orig in $Makefiles; do new=${orig/%.in/} new=${new/#$_srcdir\//} mkdir -p `dirname "$new"` sed -f var.sed < "${orig}" > "${new}" done #rm var.sed