summaryrefslogtreecommitdiff
path: root/configure
blob: 6542e5927ecb77677255b1f636e269cd33cd9443 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#!/usr/bin/env bash
name='configure' # rvs configureation script
#version='0.7.3'
#   Copyright (C) 2009 Luke Shumaker
#   
#   This file is part of rvs.
#   
#   rvs 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.
#   
#   rvs 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 rvs; see the file COPYING.
#   If not, write to the Free Software Foundation,
#   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

       _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