blob: 3b871602129782a85424ffc06aaa0c82fcfb959c (
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
|
#!/bin/sh
#
# Points the autoconf result cache at the file that the build system keeps for
# this package. Set CONFIGURE_CACHE_DIR to switch this on; see rules.mk.
#
# configure sources the site scripts before it loads the cache, so setting
# cache_file here has the same effect as --cache-file, without a configure
# argument that a hand written configure script would choke on.
# Autoconf before 2.70 reads CONFIG_SITE as a single path name, so the site
# script of the architecture cannot be a second word in it. Load it from here.
if [ -n "$CONFIG_SITE_BASE" ] && [ -r "$CONFIG_SITE_BASE" ]; then
. "$CONFIG_SITE_BASE"
fi
if [ -n "$CONFIGURE_CACHE_FILE" ]; then
configure_cache_dir=${CONFIGURE_CACHE_FILE%/*}
mkdir -p "$configure_cache_dir" 2>/dev/null
# A change of the configure arguments gives a new file name. Drop the
# file of the previous arguments so that the directory holds one cache
# per package.
for configure_cache_stale in "$configure_cache_dir"/*.cache "$configure_cache_dir"/*.cache.sum; do
[ -f "$configure_cache_stale" ] || continue
[ "${configure_cache_stale%.sum}" = "$CONFIGURE_CACHE_FILE" ] || rm -f "$configure_cache_stale"
done
# An autoreconf run with a new autoconf, automake or libtool, or a new
# patch, gives a new configure script whose checks can mean something
# else under the same cache variable name.
configure_cache_sum=$(cksum < "${as_myself:-$0}")
if [ "$configure_cache_sum" != "$(cat "$CONFIGURE_CACHE_FILE.sum" 2>/dev/null)" ]; then
rm -f "$CONFIGURE_CACHE_FILE"
printf '%s\n' "$configure_cache_sum" > "$CONFIGURE_CACHE_FILE.sum"
fi
# configure aborts when a precious variable such as LIBS or CPP differs
# from the value in the cache, and it aborts again on every later run.
# Make the same comparison here and start from a cold cache instead.
if [ -f "$CONFIGURE_CACHE_FILE" ] && ! (
set -f
. "$CONFIGURE_CACHE_FILE"
for ac_var in $ac_precious_vars; do
eval "old_set=\$ac_cv_env_${ac_var}_set new_set=\$ac_env_${ac_var}_set"
[ "$old_set" = "$new_set" ] || exit 1
eval "set -- \$ac_cv_env_${ac_var}_value"
old_val=$*
eval "set -- \$ac_env_${ac_var}_value"
[ "$old_val" = "$*" ] || exit 1
done
); then
rm -f "$CONFIGURE_CACHE_FILE"
fi
# A cached program path outlives a wipe of staging_dir, so it can name a
# tool that is gone, or miss one that the build installed since. Drop
# those answers and let configure search PATH again. A search runs no
# compiler, and the compiler is where the time goes. The libtool and gmp
# answers hold the path of the staged sed and m4.
if [ -f "$CONFIGURE_CACHE_FILE" ]; then
grep -v -e '^[a-z]*_cv_path_' -e '^ac_cv_prog_' -e '^gmp_cv_prog_' \
-e '^lt_cv_sys_global_symbol_' -e '^lt_cv_truncate_bin=' \
-e '^ac_cv_AM_TEST_RUNNER_SHELL=' \
"$CONFIGURE_CACHE_FILE" > "$CONFIGURE_CACHE_FILE.tmp"
mv -f "$CONFIGURE_CACHE_FILE.tmp" "$CONFIGURE_CACHE_FILE"
fi
cache_file=$CONFIGURE_CACHE_FILE
# A configure script that runs further configure scripts must not hand
# this cache to them. Their checks run with different flags.
unset CONFIGURE_CACHE_FILE configure_cache_dir configure_cache_stale configure_cache_sum
fi
|