]>
Commit | Line | Data |
---|---|---|
832b75ed | 1 | #!/bin/sh |
ee38a438 | 2 | # $Id: autogen.sh 3748 2013-01-18 20:12:44Z chrfranke $ |
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 | { | |
832b75ed GG |
13 | # Check for Unix text file type |
14 | echo > dostest.tmp | |
15 | test "`wc -c < dostest.tmp`" -eq 1 || | |
16 | echo "Warning: DOS text file type set, 'make dist' and related targets will not work." | |
17 | rm -f dostest.tmp | |
18 | } | |
19 | ||
20 | typep() | |
21 | { | |
22 | cmd=$1 ; TMP=$IFS ; IFS=: ; set $PATH | |
23 | for dir | |
24 | do | |
25 | if [ -x "$dir/$cmd" ]; then | |
26 | echo "$dir/$cmd" | |
27 | IFS=$TMP | |
28 | return 0 | |
29 | fi | |
30 | done | |
31 | IFS=$TMP | |
32 | return 1 | |
33 | } | |
34 | ||
ee38a438 GI |
35 | test -x "$AUTOMAKE" || AUTOMAKE=`typep automake-1.12` || |
36 | AUTOMAKE=`typep automake-1.11` || AUTOMAKE=`typep automake-1.10` || | |
2127e193 GI |
37 | AUTOMAKE=`typep automake-1.9` || AUTOMAKE=`typep automake-1.8` || |
38 | AUTOMAKE=`typep automake-1.7` || AUTOMAKE=`typep automake17` || | |
832b75ed GG |
39 | { |
40 | echo | |
2127e193 GI |
41 | echo "You must have at least GNU Automake 1.7 (up to 1.11) installed" |
42 | echo "in order to bootstrap smartmontools from SVN. Download the" | |
832b75ed GG |
43 | echo "appropriate package for your distribution, or the source tarball" |
44 | echo "from ftp://ftp.gnu.org/gnu/automake/ ." | |
45 | echo | |
46 | echo "Also note that support for new Automake series (anything newer" | |
2127e193 | 47 | echo "than 1.11) is only added after extensive tests. If you live in" |
832b75ed GG |
48 | echo "the bleeding edge, you should know what you're doing, mainly how" |
49 | echo "to test it before the developers. Be patient." | |
50 | exit 1; | |
51 | } | |
52 | ||
53 | test -x "$ACLOCAL" || ACLOCAL="aclocal`echo "$AUTOMAKE" | sed 's/.*automake//'`" && ACLOCAL=`typep "$ACLOCAL"` || | |
54 | { | |
55 | echo | |
2127e193 GI |
56 | echo "autogen.sh found automake-1.X, but not the respective aclocal-1.X." |
57 | echo "Your installation of GNU Automake is broken or incomplete." | |
832b75ed GG |
58 | exit 2; |
59 | } | |
60 | ||
2127e193 | 61 | # Detect Automake version |
832b75ed | 62 | case "$AUTOMAKE" in |
2127e193 GI |
63 | *automake-1.7|*automake17) |
64 | ver=1.7 ;; | |
65 | *automake-1.8) | |
66 | ver=1.8 ;; | |
832b75ed | 67 | *) |
a23d5117 | 68 | ver="`$AUTOMAKE --version | sed -n '1s,^.*[^.0-9]\([12]\.[0-9][-.0-9pl]*\).*$,\1,p'`" |
832b75ed | 69 | ver="${ver:-?.?.?}" |
832b75ed GG |
70 | esac |
71 | ||
2127e193 GI |
72 | # Warn if Automake version was not tested or does not support filesystem |
73 | case "$ver" in | |
74 | 1.[78]|1.[78].*) | |
75 | # Check for case sensitive filesystem | |
76 | # (to avoid e.g. "DIST_COMMON = ... ChangeLog ..." in Makefile.in on Cygwin) | |
77 | rm -f CASETEST.TMP | |
78 | echo > casetest.tmp | |
79 | test -f CASETEST.TMP && | |
80 | { | |
81 | echo "Warning: GNU Automake version ${ver} does not properly handle case" | |
82 | echo "insensitive filesystems. Some make targets may not work." | |
83 | } | |
84 | rm -f casetest.tmp | |
85 | ;; | |
86 | ||
ee38a438 | 87 | 1.9.[1-6]|1.10|1.10.[12]|1.11|1.11.[1-6]|1.12.[3-5]) |
2127e193 GI |
88 | # OK |
89 | ;; | |
90 | ||
91 | *) | |
92 | echo "Note: GNU Automake version ${ver} was not tested by the developers." | |
93 | echo "Please report success/failure to the smartmontools-support mailing list." | |
94 | esac | |
832b75ed | 95 | |
d008864d GI |
96 | # Install pkg-config macros |
97 | # (Don't use 'aclocal -I m4 --install' to keep support for automake < 1.10) | |
98 | test -d m4 || mkdir m4 || exit 1 | |
99 | test -f m4/pkg.m4 || acdir=`${ACLOCAL} --print-ac-dir` && | |
100 | test -n "$acdir" && test -f "$acdir/pkg.m4" && | |
101 | { | |
102 | echo "$0: installing \`m4/pkg.m4' from \`$acdir/pkg.m4'" | |
103 | cp "$acdir/pkg.m4" m4/pkg.m4 | |
104 | } | |
105 | test -f m4/pkg.m4 || | |
106 | echo "Warning: cannot install m4/pkg.m4, 'make dist' and systemd detection will not work." | |
107 | ||
832b75ed GG |
108 | set -e # stops on error status |
109 | ||
d008864d | 110 | ${ACLOCAL} -I m4 |
832b75ed | 111 | autoheader |
d008864d | 112 | ${AUTOMAKE} --add-missing --copy |
832b75ed | 113 | autoconf |