Fix autoconf warnings.
[awesomized/libmemcached] / config / autorun.sh
index fdf58deab1caf5e40e91b4f7dbf4b8985bde8393..27fcf170e5656ace96a5dafd6d8b45c3947cc477 100755 (executable)
-#!/usr/bin/env bash
-# Taken from lighthttpd server (BSD). Thanks Jan!
-# Run this to generate all the initial makefiles, etc.
+#!/bin/sh
+#  Copyright (C) 2011 Brian Aker, brian@tangent.org
+#  All rights reserved.
+# 
+#  Redistribution and use in source and binary forms, with or without
+#  modification, are permitted provided that the following conditions are met:
+# 
+#  1. Redistributions of source code must retain the above copyright
+#     notice, this list of conditions and the following disclaimer.
+#  2. Redistributions in binary form must reproduce the above copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+#  3. The name of the author may not be used to endorse or promote products
+#     derived from this software without specific prior written permission.
+# 
+#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+#  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+#  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+#  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+#  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+#  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+#  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 die() { echo "$@"; exit 1; }
 
-# LIBTOOLIZE=${LIBTOOLIZE:-libtoolize}
-LIBTOOLIZE_FLAGS=" --automake --copy --force"
-# ACLOCAL=${ACLOCAL:-aclocal}
-ACLOCAL_FLAGS="-I m4"
-# AUTOHEADER=${AUTOHEADER:-autoheader}
-# AUTOMAKE=${AUTOMAKE:-automake}
-AUTOMAKE_FLAGS="--add-missing --copy --force"
-# AUTOCONF=${AUTOCONF:-autoconf}
-
-ARGV0=$0
-ARGS="$@"
-
-
 run() {
        echo "$ARGV0: running \`$@' $ARGS"
        $@ $ARGS
 }
 
-## jump out if one of the programs returns 'false'
-set -e
+# Try to locate a program by using which, and verify that the file is an
+# executable
+locate_binary() {
+  for f in $@
+  do
+    file=`which $f 2>/dev/null | grep -v '^no '`
+    if test -n "$file" -a -x "$file"; then
+      echo $file
+      return 0
+    fi
+  done
+
+  echo "" 
+  return 1
+}
 
-## We do not currently support glibtoolize
-if test x$LIBTOOLIZE = x; then
-  if test \! "x`which glibtoolize 2> /dev/null | grep -v '^no'`" = x; then
-    LIBTOOLIZE=glibtoolize
-  elif test \! "x`which libtoolize-1.5 2> /dev/null | grep -v '^no'`" = x; then
-    LIBTOOLIZE=libtoolize-1.5
-  elif test \! "x`which libtoolize 2> /dev/null | grep -v '^no'`" = x; then
-    LIBTOOLIZE=libtoolize
-  else 
-    echo "libtoolize 1.5.x wasn't found, exiting"; exit 0
-  fi
-fi
 
-## suse has aclocal and aclocal-1.9
-if test x$ACLOCAL = x; then
-  if test \! "x`which aclocal-1.10 2> /dev/null | grep -v '^no'`" = x; then
-    ACLOCAL=aclocal-1.10
-  elif test \! "x`which aclocal-1.9 2> /dev/null | grep -v '^no'`" = x; then
-    ACLOCAL=aclocal-1.9
-  elif test \! "x`which aclocal19 2> /dev/null | grep -v '^no'`" = x; then
-    ACLOCAL=aclocal19
-  elif test \! "x`which aclocal 2> /dev/null | grep -v '^no'`" = x; then
-    ACLOCAL=aclocal
-  else 
-    echo "automake 1.9.x (aclocal) wasn't found, exiting"; exit 0
-  fi
+if test -d .bzr
+then
+  AUTORECONF_FLAGS=" --install --verbose -Wall -Werror"
+else
+  AUTORECONF_FLAGS=" --install --verbose -Wall"
 fi
 
-if test x$AUTOMAKE = x; then
-  if test \! "x`which automake-1.10 2> /dev/null | grep -v '^no'`" = x; then
-    AUTOMAKE=automake-1.10
-  elif test \! "x`which automake-1.9 2> /dev/null | grep -v '^no'`" = x; then
-    AUTOMAKE=automake-1.9
-  elif test \! "x`which automake19 2> /dev/null | grep -v '^no'`" = x; then
-    AUTOMAKE=automake19
-  elif test \! "x`which automake 2> /dev/null | grep -v '^no'`" = x; then
-    AUTOMAKE=automake
-  else 
-    echo "automake 1.9.x wasn't found, exiting"; exit 0
-  fi
+if test -f config/pre_hook.sh
+then
+  . config/pre_hook.sh
 fi
 
-
-## macosx has autoconf-2.59 and autoconf-2.60
-if test x$AUTOCONF = x; then
-  if test \! "x`which autoconf-2.59 2> /dev/null | grep -v '^no'`" = x; then
-    AUTOCONF=autoconf-2.59
-  elif test \! "x`which autoconf259 2> /dev/null | grep -v '^no'`" = x; then
-    AUTOCONF=autoconf259
-  elif test \! "x`which autoconf 2> /dev/null | grep -v '^no'`" = x; then
-    AUTOCONF=autoconf
-  else 
-    echo "autoconf 2.59+ wasn't found, exiting"; exit 0
+if test x$AUTORECONF = x; then
+  AUTORECONF=`locate_binary autoreconf`
+  if test x$AUTORECONF = x; then
+    die "Did not find a supported autoconf"
   fi
 fi
 
-if test x$AUTOHEADER = x; then
-  if test \! "x`which autoheader-2.59 2> /dev/null | grep -v '^no'`" = x; then
-    AUTOHEADER=autoheader-2.59
-  elif test \! "x`which autoheader259 2> /dev/null | grep -v '^no'`" = x; then
-    AUTOHEADER=autoheader259
-  elif test \! "x`which autoheader 2> /dev/null | grep -v '^no'`" = x; then
-    AUTOHEADER=autoheader
-  else 
-    echo "autoconf 2.59+ (autoheader) wasn't found, exiting"; exit 0
-  fi
-fi
-
-
-# --force means overwrite ltmain.sh script if it already exists 
-run $LIBTOOLIZE $LIBTOOLIZE_FLAGS || die "Can't execute libtoolize"
-
-run $ACLOCAL $ACLOCAL_FLAGS || die "Can't execute aclocal"
-run $AUTOHEADER || die "Can't execute autoheader"
-
-# --add-missing instructs automake to install missing auxiliary files
-# and --force to overwrite them if they already exist
-run $AUTOMAKE $AUTOMAKE_FLAGS  || die "Can't execute automake"
-run $AUTOCONF || die "Can't execute autoconf"
-
-echo -n "Automade with: "
-$AUTOMAKE --version | head -1
-echo -n "Configured with: "
-$AUTOCONF --version | head -1
-
+run $AUTORECONF $AUTORECONF_FLAGS || die "Can't execute autoreconf"