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