~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to config/autorun.sh

Merge Valgrind.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/env bash
2
 
# Taken from lighthttpd server (BSD). Thanks Jan!
 
1
#!/bin/sh
 
2
#
 
3
#  Copyright (c) 2006 Jan Kneschke
 
4
#  Copyright (c) 2009 Sun Microsystems
 
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
#
3
30
# Run this to generate all the initial makefiles, etc.
4
31
 
5
32
die() { echo "$@"; exit 1; }
6
33
 
7
 
# LIBTOOLIZE=${LIBTOOLIZE:-libtoolize}
 
34
# --force means overwrite ltmain.sh script if it already exists 
8
35
LIBTOOLIZE_FLAGS=" --automake --copy --force"
9
 
# ACLOCAL=${ACLOCAL:-aclocal}
10
 
# AUTOHEADER=${AUTOHEADER:-autoheader}
11
 
# AUTOMAKE=${AUTOMAKE:-automake}
 
36
# --add-missing instructs automake to install missing auxiliary files
 
37
# and --force to overwrite them if they already exist
12
38
AUTOMAKE_FLAGS="--add-missing --copy --force"
13
 
# AUTOCONF=${AUTOCONF:-autoconf}
 
39
ACLOCAL_FLAGS="-I m4"
14
40
 
15
41
ARGV0=$0
16
42
ARGS="$@"
17
43
 
18
 
 
19
44
run() {
20
45
        echo "$ARGV0: running \`$@' $ARGS"
21
46
        $@ $ARGS
22
47
}
23
48
 
24
 
## jump out if one of the programs returns 'false'
25
 
set -e
26
 
 
27
 
if test -d ".bzr" ; then
28
 
  bzr log --short > ChangeLog || touch ChangeLog
29
 
else
30
 
  touch ChangeLog
 
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
31
69
fi
32
70
 
 
71
# Try to detect the supported binaries if the user didn't
 
72
# override that by pushing the environment variable
33
73
if test x$LIBTOOLIZE = x; then
34
 
  if test \! "x`which glibtoolize 2> /dev/null | grep -v '^no'`" = x; then
35
 
    LIBTOOLIZE=glibtoolize
36
 
  elif test \! "x`which libtoolize-1.5 2> /dev/null | grep -v '^no'`" = x; then
37
 
    LIBTOOLIZE=libtoolize-1.5
38
 
  elif test \! "x`which libtoolize 2> /dev/null | grep -v '^no'`" = x; then
39
 
    LIBTOOLIZE=libtoolize
40
 
  elif test \! "x`which glibtoolize 2> /dev/null | grep -v '^no'`" = x; then
41
 
    LIBTOOLIZE=glibtoolize
42
 
  else 
43
 
    echo "libtoolize 1.5.x wasn't found, exiting"; exit 1
 
74
  LIBTOOLIZE=`locate_binary glibtoolize libtoolize-1.5 libtoolize`
 
75
  if test x$LIBTOOLIZE = x; then
 
76
    die "Did not find a supported libtoolize"
44
77
  fi
45
78
fi
46
79
 
47
80
if test x$ACLOCAL = x; then
48
 
  if test \! "x`which aclocal-1.10 2> /dev/null | grep -v '^no'`" = x; then
49
 
    ACLOCAL=aclocal-1.10
50
 
  elif test \! "x`which aclocal110 2> /dev/null | grep -v '^no'`" = x; then
51
 
    ACLOCAL=aclocal110
52
 
  elif test \! "x`which aclocal 2> /dev/null | grep -v '^no'`" = x; then
53
 
    ACLOCAL=aclocal
54
 
  else 
55
 
    echo "automake 1.10.x (aclocal) wasn't found, exiting"; exit 1
 
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"
56
84
  fi
57
85
fi
58
86
 
59
87
if test x$AUTOMAKE = x; then
60
 
  if test \! "x`which automake-1.10 2> /dev/null | grep -v '^no'`" = x; then
61
 
    AUTOMAKE=automake-1.10
62
 
  elif test \! "x`which automake110 2> /dev/null | grep -v '^no'`" = x; then
63
 
    AUTOMAKE=automake110
64
 
  elif test \! "x`which automake 2> /dev/null | grep -v '^no'`" = x; then
65
 
    AUTOMAKE=automake
66
 
  else 
67
 
    echo "automake 1.10.x wasn't found, exiting"; exit 1
 
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"
68
91
  fi
69
92
fi
70
93
 
71
 
 
72
 
## macosx has autoconf-2.59 and autoconf-2.60
73
94
if test x$AUTOCONF = x; then
74
 
  if test \! "x`which autoconf-2.59 2> /dev/null | grep -v '^no'`" = x; then
75
 
    AUTOCONF=autoconf-2.59
76
 
  elif test \! "x`which autoconf259 2> /dev/null | grep -v '^no'`" = x; then
77
 
    AUTOCONF=autoconf259
78
 
  elif test \! "x`which autoconf 2> /dev/null | grep -v '^no'`" = x; then
79
 
    AUTOCONF=autoconf
80
 
  else 
81
 
    echo "autoconf 2.59+ wasn't found, exiting"; exit 1
 
95
  AUTOCONF=`locate_binary autoconf-2.59 autoconf259 autoconf`
 
96
  if test x$AUTOCONF = x; then
 
97
    die "Did not find a supported autoconf"
82
98
  fi
83
99
fi
84
100
 
85
101
if test x$AUTOHEADER = x; then
86
 
  if test \! "x`which autoheader-2.59 2> /dev/null | grep -v '^no'`" = x; then
87
 
    AUTOHEADER=autoheader-2.59
88
 
  elif test \! "x`which autoheader259 2> /dev/null | grep -v '^no'`" = x; then
89
 
    AUTOHEADER=autoheader259
90
 
  elif test \! "x`which autoheader 2> /dev/null | grep -v '^no'`" = x; then
91
 
    AUTOHEADER=autoheader
92
 
  else 
93
 
    echo "autoconf 2.59+ (autoheader) wasn't found, exiting"; exit 1
 
102
  AUTOHEADER=`locate_binary autoheader-2.59 autoheader259 autoheader`
 
103
  if test x$AUTOHEADER = x; then
 
104
    die "Did not find a supported autoheader"
94
105
  fi
95
106
fi
96
107
 
97
 
 
 
108
run $LIBTOOLIZE $LIBTOOLIZE_FLAGS || die "Can't execute libtoolize"
98
109
run $ACLOCAL $ACLOCAL_FLAGS || die "Can't execute aclocal"
99
110
run $AUTOHEADER || die "Can't execute autoheader"
100
 
 
101
 
# --force means overwrite ltmain.sh script if it already exists 
102
 
run $LIBTOOLIZE $LIBTOOLIZE_FLAGS || die "Can't execute libtoolize"
103
 
 
104
 
# --add-missing instructs automake to install missing auxiliary files
105
 
# and --force to overwrite them if they already exist
106
111
run $AUTOMAKE $AUTOMAKE_FLAGS  || die "Can't execute automake"
107
112
run $AUTOCONF || die "Can't execute autoconf"
108
 
echo -n "Automade with: "
109
 
$AUTOMAKE --version | head -1
110
 
echo -n "Configured with: "
111
 
$AUTOCONF --version | head -1
 
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 "---"