blob: 861b37fe87d3ce2739d018d82fff746705163563 (
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
97
98
99
|
#!/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>.
srcdir=$(readlink -f `dirname "$0"`)
_DESTDIR=''
_prefix='/usr/local'
_exec_prefix='$(prefix)'
_bindir='$(exec_prefix)/bin'
_sbindir='$(exec_prefix)/sbin'
_libexecdir='$(exec_prefix)/libexec'
_CONFIG="$@"
vars='DESTDIR prefix exec_prefix bindir sbindir libexecdir CONFIG'
if [ -f "$srcdir/config" ]; then . "$srcdir/config"; fi
error() {
echo "$name: $1" >> /dev/stderr
exit 1
}
varargs=`echo "$vars " | sed -e 's/ */:,/g' -e 's/,$//'`
args=`getopt -n "$name" -o "${sopt}" -l "${lopt}${varargs}" -- "$@"`
if [ $? == 0 ]; then
set -- $args
while [ $# -gt 0 ]; do case "$1" in
--) break;;
--srcdir) srcdir="$2"; shift;;
--*)
var0="${1/--/}"
match='false'
for var1 in $vars; do
if [ "$var0" == "$var1" ]; then
match='true'
break;
fi
done
if [ "$match" == 'true' ]; then
shift
val="$1"
eval _$var0=$val
else
error "unrecognized option \`$1'";
fi
:;;
*) error "unrecognized option \`$1'";
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="`find "$srcdir/" -type f -name '*.mk.in'` $Makefiles"
for orig in $Makefiles; do
new=${orig/%.in/} #bashism
new=${new/#$srcdir\//} #bashism
path=`dirname "$orig"`
mkdir -p `dirname "$new"`
sed -f var.sed "${orig}" | sed \
-e "s:@srcdir@:${path//':'/'\:'}/:g" \
-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
|