~clint-fewbar/ubuntu/precise/squid3/ignore-sighup-early

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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
#!/bin/sh
# Used to setup the configure.ac, autoheader and Makefile.in's if configure
# has not been generated. This script is only needed for developers when
# configure has not been run, or if a Makefile.am in a non-configured directory
# has been updated

# Autotool versions preferred. To override either edit the script
# to match the versions you want to use, or set the variables on
# the command line like "env acver=.. amver=... ./bootstrap.sh"
acversions="${acver:-.}" # 2.68 2.67 2.66 2.65 2.64 2.63 2.62 2.61}"
amversions="${amver:-.}" # 1.11 1.10 1.9}"
ltversions="${ltver:-.}" # 2.2}"

check_version()
{
  eval $2 --version 2>/dev/null | grep -i "$1.* $3" >/dev/null
}

show_version()
{
  tool=$1
  variant=$2
  ${tool}${variant} --version 2>/dev/null | head -1 | sed -e 's/.*) //'
}

find_variant()
{
  tool=$1
  found="NOT_FOUND"
  shift
  versions="$*"
  for version in $versions; do
    for variant in "" "-${version}" "`echo $version | sed -e 's/\.//g'`"; do
      if check_version $tool ${tool}${variant} $version; then
	found="${variant}"
	break
      fi
    done
    if [ "x$found" != "xNOT_FOUND" ]; then
      break
    fi
  done
  if [ "x$found" = "xNOT_FOUND" ]; then
    echo "WARNING: Cannot find $tool version $versions" >&2
    echo "Trying `$tool --version | head -1`" >&2
    found=""
  fi
  echo $found
}

find_path()
{
  tool=$1
  path=`which $tool`
  if test $? -gt 0 ; then
    # path for $tool not found. Not defining, and hoping for the best
    echo 
    return
  fi
  echo $(dirname $path)
}

bootstrap() {
  if "$@"; then
    true # Everything OK
  else
    echo "$1 failed"
    echo "Autotool bootstrapping failed. You will need to investigate and correct" ;
    echo "before you can develop on this source tree" 
    exit 1
  fi
}

bootstrap_libtoolize() {
    ltver=$1

    # TODO: when we have libtool2, tell libtoolize where to put its files
    # instead of manualy moving files from ltdl to lib/libLtdl
    if egrep -q '^[[:space:]]*AC_LIBLTDL_' configure.ac
    then
	ltdl="--ltdl"
    else
        ltdl=""
    fi

    bootstrap libtoolize$ltver $ltdl --force --copy --automake

    # customize generated libltdl, if any
    if test -d libltdl
    then
        src=libltdl

        # do not bundle with the huge standard license text
        rm -f $src/COPYING.LIB
        makefile=$src/Makefile.in
        sed 's/COPYING.LIB/ /g' $makefile > $makefile.new;
        chmod u+w $makefile
        mv $makefile.new $makefile
        chmod u-w $makefile
    fi
}

# Adjust paths of required autool packages
amver=`find_variant automake ${amversions}`
acver=`find_variant autoconf ${acversions}`
ltver=`find_variant libtool ${ltversions}`

# Produce debug output about what version actually found.
amversion=`show_version automake "${amver}"`
acversion=`show_version autoconf "${acver}"`
ltversion=`show_version libtool "${ltver}"`

# Find the libtool path to get the right aclocal includes
ltpath=`find_path libtool$ltver`

# Set environment variable to tell automake which autoconf to use.
AUTOCONF="autoconf${acver}" ; export AUTOCONF

echo "automake ($amversion) : automake$amver"
echo "autoconf ($acversion) : autoconf$acver"
echo "libtool  ($ltversion) : libtool$ltver"
echo "libtool path : $ltpath"

for dir in \
	"" \
	lib/libTrie \
	helpers/negotiate_auth/squid_kerb_auth
do
    if [ -z "$dir" ] || [ -d $dir ]; then
	if (
	echo "Bootstrapping $dir"
	cd ./$dir
	if [ -n "$dir" ] && [ -f bootstrap.sh ]; then
	    ./bootstrap.sh
	elif [ ! -f $dir/configure ]; then
	    # Make sure cfgaux exists
	    mkdir -p cfgaux
            
            if test -n "$ltpath"; then
              acincludeflag="-I $ltpath/../share/aclocal"
            else
              acincludeflag=""
            fi

	    # Bootstrap the autotool subsystems
	    bootstrap aclocal$amver $acincludeflag
	    bootstrap autoheader$acver
	    bootstrap_libtoolize $ltver
	    bootstrap automake$amver --foreign --add-missing --copy -f
	    bootstrap autoconf$acver --force
	fi ); then
	    : # OK
	else
	    exit 1
	fi
    fi
done

# Fixup autoconf recursion using --silent/--quiet option
# autoconf should inherit this option whe recursing into subdirectories
# but it currently doesn't for some reason.
if ! grep  "configure_args --quiet" configure >/dev/null; then
echo "Fixing configure recursion"
ed -s configure <<'EOS' >/dev/null || true
/ac_sub_configure_args=/
+1
i
  # Add --quiet option if used
  test "$silent" = yes &&
    ac_sub_configure_args="$ac_sub_configure_args --quiet"
.
w
EOS
fi

echo "Autotool bootstrapping complete."