Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
audacity
GitHub Repository: audacity/audacity
Path: blob/master/au3/lib-src/twolame/autogen.sh
10812 views
1
#!/bin/sh
2
#
3
# autogen.sh - Generates initial makefiles from a pristine GIT tree
4
#
5
# USAGE:
6
# autogen.sh [configure options]
7
#
8
# Configuration is affected by environment variables as follows:
9
#
10
# DRYRUN
11
# If set to any value it will do no configuring but will emit the
12
# programs that would be run.
13
# e.g. DRYRUN=1 ./autogen.sh
14
#
15
# AUTOMAKE ACLOCAL AUTOCONF AUTOHEADER LIBTOOLIZE
16
# If set (named after program) then this overrides any searching for
17
# the programs on the current PATH.
18
# e.g. AUTOMAKE=automake-1.7 ACLOCAL=aclocal-1.7 ./autogen.sh
19
#
20
# PATH
21
# Where the programs are searched for
22
#
23
# SRCDIR (default .)
24
# Source directory
25
#
26
# This script is based on similar scripts used in various tools
27
# commonly made available via GIT and used with GNU automake.
28
# Try 'locate autogen.sh' on your system and see what you get.
29
#
30
# This script is in the public domain
31
#
32
33
# Directory for the sources
34
SRCDIR=${SRCDIR-.}
35
36
# Because GIT doesn't support empty directories
37
if [ ! -d "$SRCDIR/build-scripts" ]; then
38
mkdir "$SRCDIR/build-scripts"
39
fi
40
41
# The programs required for configuring which will be searched for
42
# in the current PATH.
43
# Set an envariable of the same name in uppercase, to override scan
44
#
45
programs="automake aclocal autoconf autoheader libtoolize"
46
confs=`find . -name configure.ac -print`
47
ltdl_args=
48
if grep "^AC_LIBLTDL_" $confs >/dev/null; then
49
ltdl_args="--ltdl"
50
fi
51
52
# Some dependencies for autotools:
53
# automake 1.11 requires autoconf 2.62
54
# automake 1.10 requires autoconf 2.60
55
# automake 1.9 requires autoconf 2.58
56
# automake 1.8 requires autoconf 2.58
57
# automake 1.7 requires autoconf 2.54
58
automake_min_vers=011000
59
aclocal_min_vers=$automake_min_vers
60
autoconf_min_vers=026000
61
autoheader_min_vers=$autoconf_min_vers
62
libtoolize_min_vers=020200
63
64
# Default program arguments
65
automake_args="--gnu --add-missing --force --copy -Wall"
66
aclocal_args=
67
autoconf_args=
68
libtoolize_args="--force --copy --automake $ltdl_args"
69
configure_args="--enable-maintainer-mode"
70
71
72
# You should not need to edit below here
73
######################################################################
74
75
76
# number comparisons may need a C locale
77
LANG=C
78
LC_NUMERIC=C
79
80
81
program=`basename $0`
82
83
if test "X$DRYRUN" != X; then
84
DRYRUN=echo
85
fi
86
87
cat > autogen-get-version.pl <<EOF
88
use File::Basename;
89
my \$prog=basename \$0;
90
die "\$prog: USAGE PATH PROGRAM-NAME\n e.g. \$prog /usr/bin/foo-123 foo\n"
91
unless @ARGV==2;
92
93
my(\$path,\$name)=@ARGV;
94
exit 0 if !-f \$path;
95
die "\$prog: \$path not found\n" if !-r \$path;
96
97
my \$mname=\$name; \$mname =~ s/^g(libtoolize)\$/\$1/;
98
99
my(@vnums);
100
for my \$varg (qw(--version -version)) {
101
my \$cmd="\$path \$varg";
102
open(PIPE, "\$cmd 2>&1 |") || next;
103
while(<PIPE>) {
104
chomp;
105
next if @vnums; # drain pipe if we got a vnums
106
next unless /^\$mname/i;
107
my(\$v)=/(\S+)\$/i; \$v =~ s/-.*\$//;
108
@vnums=grep { defined \$_ && !/^\s*\$/} map { s/\D//g; \$_; } split(/\./, \$v);
109
}
110
close(PIPE);
111
last if @vnums;
112
}
113
114
@vnums=(@vnums, 0, 0, 0)[0..2];
115
\$vn=join('', map { sprintf('%02d', \$_) } @vnums);
116
print "\$vn\n";
117
exit 0;
118
EOF
119
120
autogen_get_version="`pwd`/autogen-get-version.pl"
121
122
trap "rm -f $autogen_get_version" 0 1 9 15
123
124
125
update_prog_version() {
126
dir=$1
127
prog=$2
128
129
# If there exists an envariable PROG in uppercase, use that and do not scan
130
ucprog=`echo $prog | tr 'a-z' 'A-Z' `
131
eval env=\$${ucprog}
132
if test X$env != X; then
133
prog_name=$env
134
prog_vers=`perl $autogen_get_version $prog_name $prog`
135
136
if test X$prog_vers = X; then
137
prog_vers=0
138
fi
139
eval ${prog}_name=${prog_name}
140
eval ${prog}_vers=${prog_vers}
141
eval ${prog}_dir=environment
142
return
143
fi
144
145
eval prog_name=\$${prog}_name
146
eval prog_vers=\$${prog}_vers
147
eval prog_dir=\$${prog}_dir
148
if test X$prog_vers = X; then
149
prog_vers=0
150
fi
151
152
save_PATH="$PATH"
153
154
cd "$dir"
155
PATH=".:$PATH"
156
157
nameglob="$prog*"
158
if [ -x /usr/bin/uname ]; then
159
if [ `/usr/bin/uname`x = 'Darwinx' -a $prog = 'libtoolize' ] ; then
160
nameglob="g$nameglob"
161
fi
162
fi
163
names=`ls $nameglob 2>/dev/null`
164
if [ "X$names" != "X" ]; then
165
for name in $names; do
166
vers=`perl $autogen_get_version $dir/$name $prog`
167
if [ "X$vers" = "X" ]; then
168
continue
169
fi
170
171
if expr $vers '>' $prog_vers >/dev/null; then
172
prog_name=$name
173
prog_vers=$vers
174
prog_dir="$dir"
175
fi
176
done
177
fi
178
179
eval ${prog}_name=${prog_name}
180
eval ${prog}_vers=${prog_vers}
181
eval ${prog}_dir=${prog_dir}
182
183
PATH="$save_PATH"
184
}
185
186
187
check_prog_version() {
188
prog=$1
189
190
eval min=\$${prog}_min_vers
191
192
eval prog_name=\$${prog}_name
193
eval prog_vers=\$${prog}_vers
194
eval prog_dir=\$${prog}_dir
195
196
echo "$program: $prog program '$prog_name' V $prog_vers (min $min) in $prog_dir" 1>&2
197
198
rc=1
199
if test $prog_vers != 0; then
200
if expr $prog_vers '<' $min >/dev/null; then
201
echo "$program: ERROR: \`$prog' version $prog_vers in $prog_dir is too old."
202
echo " (version $min or newer is required)"
203
rc=0
204
else
205
# Things are ok, so set the ${prog} name
206
eval ${prog}=${prog_name}
207
fi
208
else
209
echo "$program: ERROR: You must have \`$prog' installed to compile this package."
210
echo " (version $min or newer is required)"
211
rc=0
212
fi
213
214
return $rc
215
}
216
217
218
# Find newest version of programs in the current PATH
219
save_args=${1+"$*"}
220
save_ifs="$IFS"
221
IFS=":"
222
set - $PATH
223
IFS="$save_ifs"
224
225
echo "$program: Looking for programs: $programs"
226
227
here=`pwd`
228
while [ $# -ne 0 ] ; do
229
dir=$1
230
shift
231
if [ ! -d "$dir" ]; then
232
continue
233
fi
234
235
for prog in $programs; do
236
update_prog_version "$dir" $prog
237
done
238
done
239
cd $here
240
241
set - $save_args
242
# END Find programs
243
244
245
# Check the versions meet the requirements
246
for prog in $programs; do
247
if check_prog_version $prog; then
248
exit 1
249
fi
250
done
251
252
echo "$program: Dependencies satisfied"
253
254
if test -d $SRCDIR/libltdl; then
255
touch $SRCDIR/libltdl/NO-AUTO-GEN
256
fi
257
258
259
for coin in `find $SRCDIR -name configure.ac -print`
260
do
261
dir=`dirname $coin`
262
if test -f "$dir/NO-AUTO-GEN"; then
263
echo $program: Skipping $dir -- flagged as no auto-gen
264
else
265
echo " "
266
echo $program: Processing directory $dir
267
( cd "$dir"
268
269
# Ensure that these are created by the versions on this system
270
# (indirectly via automake)
271
$DRYRUN rm -f ltconfig ltmain.sh libtool stamp-h*
272
# Made by automake
273
$DRYRUN rm -f missing depcomp
274
# automake junk
275
$DRYRUN rm -rf autom4te*.cache
276
277
config_macro_dir=`sed -ne 's/^AC_CONFIG_MACRO_DIR(\([^)]*\).*/\1/p' configure.ac`
278
if test "X$config_macro_dir" = X; then
279
config_macro_dir=.
280
else
281
aclocal_args="$aclocal_args -I $config_macro_dir "
282
fi
283
284
config_aux_dir=`sed -ne 's/^AC_CONFIG_AUX_DIR(\([^)]*\).*/\1/p' configure.ac`
285
if test "X$config_aux_dir" = X; then
286
config_aux_dir=.
287
fi
288
289
echo "$program: Running $libtoolize $libtoolize_args"
290
$DRYRUN rm -f ltmain.sh libtool
291
eval $DRYRUN $libtoolize $libtoolize_args
292
293
echo "$program: Running $aclocal $aclocal_args"
294
$DRYRUN $aclocal $aclocal_args
295
if grep "^AM_CONFIG_HEADER" configure.ac >/dev/null; then
296
echo "$program: Running $autoheader"
297
$DRYRUN $autoheader
298
fi
299
echo "$program: Running $automake $automake_args"
300
$DRYRUN $automake $automake_args $automake_args
301
echo "$program: Running $autoconf"
302
$DRYRUN $autoconf $autoconf_args
303
)
304
fi
305
done
306
307
308
rm -f config.cache
309
310
AUTOMAKE=$automake
311
AUTOCONF=$autoconf
312
ACLOCAL=$aclocal
313
export AUTOMAKE AUTOCONF ACLOCAL
314
315
echo " "
316
if test -z "$*"; then
317
echo "$program: WARNING: Running \`configure' with no arguments."
318
echo "If you wish to pass any to it, please specify them on the"
319
echo "\`$program' command line."
320
fi
321
322
echo "$program: Running ./configure $configure_args $@"
323
if test "X$DRYRUN" = X; then
324
$DRYRUN ./configure $configure_args "$@" \
325
&& echo "$program: Now type \`make' to compile this package" || exit 1
326
else
327
$DRYRUN ./configure $configure_args "$@"
328
fi
329
330