Use m4_esyscmd instead of m4_esyscmd_s
[opus.git] / autogen.sh
1 #!/bin/sh
2
3 # Copyright (c) 2010-2011 Jean-Marc Valin
4 #
5 #  This file is extracted from RFC6716. Please see that RFC for additional
6 #  information.
7 #
8 #  Redistribution and use in source and binary forms, with or without
9 #  modification, are permitted provided that the following conditions
10 #  are met:
11 #
12 #  - Redistributions of source code must retain the above copyright
13 #  notice, this list of conditions and the following disclaimer.
14 #
15 #  - Redistributions in binary form must reproduce the above copyright
16 #  notice, this list of conditions and the following disclaimer in the
17 #  documentation and/or other materials provided with the distribution.
18 #
19 #  - Neither the name of Internet Society, IETF or IETF Trust, nor the
20 #  names of specific contributors, may be used to endorse or promote
21 #  products derived from this software without specific prior written
22 #  permission.
23 #
24 #  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25 #  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26 #  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27 #  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
28 #  OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 #  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
30 #  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
31 #  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
32 #  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
33 #  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
34 #  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
36
37 # Run this to set up the build system: configure, makefiles, etc.
38 # (based on the version in enlightenment's cvs)
39
40 package="opus"
41
42 olddir=`pwd`
43 srcdir=`dirname $0`
44 test -z "$srcdir" && srcdir=.
45
46 cd "$srcdir"
47 DIE=0
48
49 echo "checking for autoconf... "
50 (autoconf --version) < /dev/null > /dev/null 2>&1 || {
51         echo
52         echo "You must have autoconf installed to compile $package."
53         echo "Download the appropriate package for your distribution,"
54         echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
55         DIE=1
56 }
57
58 VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9]*\).*/\1/"
59 VERSIONMKINT="sed -e s/[^0-9]//"
60
61 # do we need automake?
62 if test -r Makefile.am; then
63   AM_OPTIONS=`fgrep AUTOMAKE_OPTIONS Makefile.am`
64   AM_NEEDED=`echo $AM_OPTIONS | $VERSIONGREP`
65   if test "$AM_NEEDED" = "$AM_OPTIONS"; then
66     AM_NEEDED=""
67   fi
68   if test -z $AM_NEEDED; then
69     echo -n "checking for automake... "
70     AUTOMAKE=automake
71     ACLOCAL=aclocal
72     if ($AUTOMAKE --version < /dev/null > /dev/null 2>&1); then
73       echo "yes"
74     else
75       echo "no"
76       AUTOMAKE=
77     fi
78   else
79     echo -n "checking for automake $AM_NEEDED or later... "
80     for am in automake-$AM_NEEDED automake$AM_NEEDED automake; do
81       ($am --version < /dev/null > /dev/null 2>&1) || continue
82       ver=`$am --version < /dev/null | head -n 1 | $VERSIONGREP | $VERSIONMKINT`
83       verneeded=`echo $AM_NEEDED | $VERSIONMKINT`
84       if test $ver -ge $verneeded; then
85         AUTOMAKE=$am
86         echo $AUTOMAKE
87         break
88       fi
89     done
90     test -z $AUTOMAKE &&  echo "no"
91     echo -n "checking for aclocal $AM_NEEDED or later... "
92     for ac in aclocal-$AM_NEEDED aclocal$AM_NEEDED aclocal; do
93       ($ac --version < /dev/null > /dev/null 2>&1) || continue
94       ver=`$ac --version < /dev/null | head -n 1 | $VERSIONGREP | $VERSIONMKINT`
95       verneeded=`echo $AM_NEEDED | $VERSIONMKINT`
96       if test $ver -ge $verneeded; then
97         ACLOCAL=$ac
98         echo $ACLOCAL
99         break
100       fi
101     done
102     test -z $ACLOCAL && echo "no"
103   fi
104   test -z $AUTOMAKE || test -z $ACLOCAL && {
105         echo
106         echo "You must have automake installed to compile $package."
107         echo "Download the appropriate package for your distribution,"
108         echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
109         exit 1
110   }
111 fi
112
113 echo -n "checking for libtool... "
114 for LIBTOOLIZE in libtoolize glibtoolize nope; do
115   ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 && break
116 done
117 if test x$LIBTOOLIZE = xnope; then
118   echo "nope."
119   LIBTOOLIZE=libtoolize
120 else
121   echo $LIBTOOLIZE
122 fi
123 ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 || {
124         echo
125         echo "You must have libtool installed to compile $package."
126         echo "Download the appropriate package for your system,"
127         echo "or get the source from one of the GNU ftp sites"
128         echo "listed in http://www.gnu.org/order/ftp.html"
129         DIE=1
130 }
131
132 if test "$DIE" -eq 1; then
133         exit 1
134 fi
135
136 echo "Generating configuration files for $package, please wait...."
137
138 echo "  $ACLOCAL $ACLOCAL_FLAGS"
139 $ACLOCAL $ACLOCAL_FLAGS || exit 1
140 echo "  autoheader"
141 autoheader || exit 1
142 echo "  $LIBTOOLIZE --automake"
143 $LIBTOOLIZE --automake || exit 1
144 echo "  $AUTOMAKE --add-missing $AUTOMAKE_FLAGS"
145 $AUTOMAKE --add-missing $AUTOMAKE_FLAGS || exit 1
146 echo "  autoconf"
147 autoconf || exit 1
148
149 cd $olddir
150 #$srcdir/configure "$@" && echo