Merge in changes from Monty
[awesomized/libmemcached] / config / autorun.sh
1 #!/bin/sh
2 #
3 # Copyright (C) 2006 Jan Kneschke
4 # Copyright (C) 2009 Sun Microsystems, Inc.
5 # All rights reserved.
6 #
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions are met:
9 #
10 # 1. Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
12 # 2. Redistributions in binary form must reproduce the above copyright
13 # notice, this list of conditions and the following disclaimer in the
14 # documentation and/or other materials provided with the distribution.
15 # 3. The name of the author may not be used to endorse or promote products
16 # derived from this software without specific prior written permission.
17 #
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
22 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
25 # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
26 # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27 # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 #
30 # Run this to generate all the initial makefiles, etc.
31
32 die() { echo "$@"; exit 1; }
33
34 # --force means overwrite ltmain.sh script if it already exists
35 LIBTOOLIZE_FLAGS=" --automake --copy --force"
36 # --add-missing instructs automake to install missing auxiliary files
37 # and --force to overwrite them if they already exist
38 AUTOMAKE_FLAGS="--add-missing --copy --force --foreign"
39 ACLOCAL_FLAGS="-I m4"
40
41 ARGV0=$0
42 ARGS="$@"
43
44 run() {
45 echo "$ARGV0: running \`$@' $ARGS"
46 $@ $ARGS
47 }
48
49 # Try to locate a program by using which, and verify that the file is an
50 # executable
51 locate_binary() {
52 for f in $@
53 do
54 file=`which $f 2>/dev/null | grep -v '^no '`
55 if test -n "$file" -a -x "$file"; then
56 echo $file
57 return 0
58 fi
59 done
60
61 echo ""
62 return 1
63 }
64
65
66 if test -f config/pre_hook.sh
67 then
68 . config/pre_hook.sh
69 fi
70
71 # Try to detect the supported binaries if the user didn't
72 # override that by pushing the environment variable
73 if test x$LIBTOOLIZE = x; then
74 LIBTOOLIZE=`locate_binary glibtoolize libtoolize-1.5 libtoolize`
75 if test x$LIBTOOLIZE = x; then
76 die "Did not find a supported libtoolize"
77 fi
78 fi
79
80 if test x$ACLOCAL = x; then
81 ACLOCAL=`locate_binary aclocal-1.11 aclocal-1.10 aclocal-1.9 aclocal19 aclocal`
82 if test x$ACLOCAL = x; then
83 die "Did not find a supported aclocal"
84 fi
85 fi
86
87 if test x$AUTOMAKE = x; then
88 AUTOMAKE=`locate_binary automake-1.11 automake-1.10 automake-1.9 automake19 automake`
89 if test x$AUTOMAKE = x; then
90 die "Did not find a supported automake"
91 fi
92 fi
93
94 if test x$AUTOCONF = x; then
95 AUTOCONF=`locate_binary autoconf-2.59 autoconf259 autoconf`
96 if test x$AUTOCONF = x; then
97 die "Did not find a supported autoconf"
98 fi
99 fi
100
101 if test x$AUTOHEADER = x; then
102 AUTOHEADER=`locate_binary autoheader-2.59 autoheader259 autoheader`
103 if test x$AUTOHEADER = x; then
104 die "Did not find a supported autoheader"
105 fi
106 fi
107
108 run $LIBTOOLIZE $LIBTOOLIZE_FLAGS || die "Can't execute libtoolize"
109 run $ACLOCAL $ACLOCAL_FLAGS || die "Can't execute aclocal"
110 run $AUTOHEADER || die "Can't execute autoheader"
111 run $AUTOMAKE $AUTOMAKE_FLAGS || die "Can't execute automake"
112 run $AUTOCONF || die "Can't execute autoconf"
113
114 if test -f config/post_hook.sh
115 then
116 . config/post_hook.sh
117 fi
118
119 echo "---"
120 echo "Configured with the following tools:"
121 echo " * `$LIBTOOLIZE --version | head -1`"
122 echo " * `$ACLOCAL --version | head -1`"
123 echo " * `$AUTOHEADER --version | head -1`"
124 echo " * `$AUTOMAKE --version | head -1`"
125 echo " * `$AUTOCONF --version | head -1`"
126 echo "---"