[l10n] Updated German translation
[banshee:bl8-clone.git] / autogen.sh
1 #!/usr/bin/env bash
2
3 PROJECT=banshee
4
5 function error () {
6         echo "Error: $1" 1>&2
7         exit 1
8 }
9
10 function check_autotool_version () {
11         which $1 &>/dev/null || {
12                 error "$1 is not installed, and is required to configure $PACKAGE"
13         }
14
15         version=$($1 --version | head -n 1 | cut -f4 -d' ')
16         major=$(echo $version | cut -f1 -d.)
17         minor=$(echo $version | cut -f2 -d.)
18         rev=$(echo $version | cut -f3 -d. | sed 's/[^0-9].*$//')
19         major_check=$(echo $2 | cut -f1 -d.)
20         minor_check=$(echo $2 | cut -f2 -d.)
21         rev_check=$(echo $2 | cut -f3 -d.)
22
23         if [ $major -lt $major_check ]; then
24                 do_bail=yes
25         elif [[ $minor -lt $minor_check && $major = $major_check ]]; then
26                 do_bail=yes
27         elif [[ $rev -lt $rev_check && $minor = $minor_check && $major = $major_check ]]; then
28                 do_bail=yes
29         fi
30
31         if [ x"$do_bail" = x"yes" ]; then
32                 error "$1 version $2 or better is required to configure $PROJECT"
33         fi
34 }
35
36 function run () {
37         echo "Running $@ ..."
38         $@ 2>.autogen.log || {
39                 cat .autogen.log 1>&2
40                 rm .autogen.log
41                 error "Could not run $1, which is required to configure $PROJECT"
42         }
43         rm .autogen.log
44 }
45
46 srcdir=$(dirname $0)
47 test -z "$srcdir" && srcdir=.
48
49 (test -f $srcdir/configure.ac) || {
50         error "Directory \"$srcdir\" does not look like the top-level $PROJECT directory"
51 }
52
53 # MacPorts on OS X only seems to have glibtoolize
54 WHICHLIBTOOLIZE=$(which libtoolize || which glibtoolize)
55 if [ x"$WHICHLIBTOOLIZE" == x"" ]; then
56         error "libtool is required to configure $PROJECT"
57 fi
58 LIBTOOLIZE=$(basename $WHICHLIBTOOLIZE)
59
60 check_autotool_version aclocal 1.9
61 check_autotool_version automake 1.9
62 check_autotool_version autoconf 2.53
63 check_autotool_version $LIBTOOLIZE 1.4.3
64 check_autotool_version intltoolize 0.35.0
65 check_autotool_version pkg-config 0.14.0
66
67 if git --help &>/dev/null; then
68         git submodule update --init
69 fi
70
71 run intltoolize --force --copy
72 run $LIBTOOLIZE --force --copy --automake
73 run aclocal -I build/m4/banshee -I build/m4/shamrock -I build/m4/shave $ACLOCAL_FLAGS
74 run autoconf
75 run autoheader
76
77 test -f config.h.in && touch config.h.in
78 run automake --gnu --add-missing --force --copy \
79         -Wno-portability -Wno-portability
80
81 if [ ! -z "$NOCONFIGURE" ]; then
82         echo "Done. ./configure skipped."
83         exit $?
84 fi
85
86 if [ $# = 0 ]; then
87         echo "WARNING: I am going to run configure without any arguments."
88 fi
89
90
91 { cat <<EOF
92 #!/usr/bin/env bash
93 ./autogen.sh $@ \$@
94 EOF
95 } > reautogen.sh
96 chmod +x reautogen.sh
97
98 run ./configure $@