diff options
author | Luke Shumaker <luke@HP-dv6426us-u904.(none)> | 2009-10-26 20:32:15 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-06-26 00:30:18 -0600 |
commit | 60529eb5b1110540acef698c9f103f4bedab6e4e (patch) | |
tree | d299e7ef41aa17b446404d372e40c4bedeb6be3e /configure | |
parent | ee56ca1eedaa0b4de73873e286105c31e55dce81 (diff) |
rvs builds! nicely!
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/configure b/configure new file mode 100755 index 0000000..11da35b --- /dev/null +++ b/configure @@ -0,0 +1,91 @@ +#!/usr/bin/env bash +name='configure' # Luke's configureation script +#version='1.0' +# Copyright (C) 2009 Luke Shumaker +# +# 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 of the +# License, 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 program; see the file COPYING. +# If not, see <http://www.gnu.org/licenses>. + + _prefix='/usr/local' +_exec_prefix='$(prefix)' + _bindir='$(exec_prefix)/bin' + _sbindir='$(exec_prefix)/sbin' + _libexecdir='$(exec_prefix)/libexec' + _srcdir=$(readlink -f `dirname "$0"`) +vars='prefix exec_prefix bindir sbindir libexecdir srcdir' +if [ -f "$_srcdir/config" ]; then . "$_srcdir/config"; fi + +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 + +Makefiles="`find "${_srcdir}/" -type f -name Makefile.in`" +Makefiles="$Makefiles `find "${_srcdir}/" -type f -name *.mk.in`" +for orig in $Makefiles; do + new=${orig/%.in/} + new=${new/#$_srcdir\//} + mkdir -p `dirname "$new"` + sed -f var.sed "${orig}" | sed \ +-e '19 a# DO NOT edit this file, it has been generated by configure, and will' \ +-e "19 a# be overwritten. Instead, edit the file \``basename ${orig}`'" \ +-e "19 a + " > "${new}" +done +rm var.sed + |