]>
Commit | Line | Data |
---|---|---|
832b75ed | 1 | #!/bin/sh |
a37e7145 | 2 | # $Id: autogen.sh,v 1.14 2007/01/29 21:24:18 chrfranke Exp $ |
832b75ed GG |
3 | # |
4 | # Generate ./configure from config.in and Makefile.in from Makefile.am. | |
5 | # This also adds files like missing,depcomp,install-sh to the source | |
a37e7145 | 6 | # directory. To update these files at a later date use: |
832b75ed GG |
7 | # autoreconf -f -i -v |
8 | ||
9 | ||
10 | # Cygwin? | |
11 | test -x /usr/bin/uname && /usr/bin/uname | grep -i CYGWIN >/dev/null && | |
12 | { | |
13 | # Enable strict case checking | |
14 | # (to avoid e.g. "DIST_COMMON = ... ChangeLog ..." in Makefile.in) | |
15 | export CYGWIN="${CYGWIN}${CYGWIN:+ }check_case:strict" | |
16 | ||
17 | # Check for Unix text file type | |
18 | echo > dostest.tmp | |
19 | test "`wc -c < dostest.tmp`" -eq 1 || | |
20 | echo "Warning: DOS text file type set, 'make dist' and related targets will not work." | |
21 | rm -f dostest.tmp | |
22 | } | |
23 | ||
24 | typep() | |
25 | { | |
26 | cmd=$1 ; TMP=$IFS ; IFS=: ; set $PATH | |
27 | for dir | |
28 | do | |
29 | if [ -x "$dir/$cmd" ]; then | |
30 | echo "$dir/$cmd" | |
31 | IFS=$TMP | |
32 | return 0 | |
33 | fi | |
34 | done | |
35 | IFS=$TMP | |
36 | return 1 | |
37 | } | |
38 | ||
a37e7145 GG |
39 | test -x "$AUTOMAKE" || AUTOMAKE=`typep automake-1.10` || AUTOMAKE=`typep automake-1.9` || |
40 | AUTOMAKE=`typep automake-1.8` || AUTOMAKE=`typep automake-1.7` || AUTOMAKE=`typep automake17` || | |
832b75ed GG |
41 | { |
42 | echo | |
43 | echo "You must have at least GNU Automake 1.7 (up to 1.9.x) installed" | |
44 | echo "in order to bootstrap smartmontools from CVS. Download the" | |
45 | echo "appropriate package for your distribution, or the source tarball" | |
46 | echo "from ftp://ftp.gnu.org/gnu/automake/ ." | |
47 | echo | |
48 | echo "Also note that support for new Automake series (anything newer" | |
49 | echo "than 1.9.x) is only added after extensive tests. If you live in" | |
50 | echo "the bleeding edge, you should know what you're doing, mainly how" | |
51 | echo "to test it before the developers. Be patient." | |
52 | exit 1; | |
53 | } | |
54 | ||
55 | test -x "$ACLOCAL" || ACLOCAL="aclocal`echo "$AUTOMAKE" | sed 's/.*automake//'`" && ACLOCAL=`typep "$ACLOCAL"` || | |
56 | { | |
57 | echo | |
58 | echo "autogen.sh found automake-1.7, automake-1.8, or automake-1.9 in" | |
59 | echo "your PATH, but not the respective aclocal-1.7, aclocal-1.8, or" | |
60 | echo "aclocal-1.9. Your installation of GNU Automake is broken or" | |
61 | echo "incomplete." | |
62 | exit 2; | |
63 | } | |
64 | ||
65 | # Warn if Automake version is unknown | |
66 | ver= | |
67 | case "$AUTOMAKE" in | |
68 | *automake-1.[78]|*automake17) | |
69 | ;; | |
70 | *) | |
71 | ver="`$AUTOMAKE --version | head -1 | sed -n 's,^.*\([12]\.[.0-9]*[-pl0-9]*\).*$,\1,p'`" | |
72 | ver="${ver:-?.?.?}" | |
73 | case "$ver" in | |
a37e7145 | 74 | 1.[78]*|1.9.[1-6]|1.10) ver= ;; |
832b75ed GG |
75 | esac ;; |
76 | esac | |
77 | ||
78 | test -z "$ver" || | |
79 | { | |
80 | echo "Note: GNU Automake version ${ver} was not tested by the developers." | |
81 | echo "Please report success/failure to the smartmontools-support mailing list." | |
82 | } | |
83 | ||
84 | set -e # stops on error status | |
85 | ||
86 | ${ACLOCAL} | |
87 | autoheader | |
88 | ${AUTOMAKE} --add-missing --copy --foreign | |
89 | autoconf |