Add try/catch when reading elements with libmatroska.
[vlc/vlc-2.0.git] / bootstrap
1 #! /bin/sh
2
3 ##  bootstrap file for the VLC media player
4 ##
5 ## Copyright (C) 2005-2008 the VideoLAN team
6 ##
7 ##  Authors: Sam Hocevar <sam@zoy.org>
8 ##           RĂ©mi Denis-Courmont <rem # videolan # org>
9
10 set -e
11
12 cd "$(dirname "$0")"
13
14 if test "$#" != "0"; then
15   echo "Usage: $0"
16   echo "  Calls autoreconf to generate m4 macros and prepare Makefiles."
17   exit 1
18 fi
19
20 ACLOCAL_ARGS="-I m4 ${ACLOCAL_ARGS}"
21
22 # Check for tools directory
23 if test -d extras/tools/build/bin; then
24   PATH="`pwd`/extras/tools/build/bin:$PATH"
25 fi
26
27 ###
28 ###  Get a sane environment, just in case
29 ###
30 CYGWIN=binmode
31 export CYGWIN
32
33 # Check for contrib directory
34 if test -d extras/contrib/build/bin; then
35   PATH="`pwd`/extras/contrib/build/bin:$PATH"
36   if test -d extras/contrib/build/share/aclocal; then
37     ACLOCAL_ARGS="${ACLOCAL_ARGS} -I extras/contrib/build/share/aclocal"
38   fi
39   if test ".`uname -s`" = ".Darwin"; then
40     LD_LIBRARY_PATH=./extras/contrib/build/lib:$LD_LIBRARY_PATH
41     DYLD_LIBRARY_PATH=./extras/contrib/build/lib:$DYLD_LIBRARY_PATH
42     export LD_LIBRARY_PATH
43     export DYLD_LIBRARY_PATH
44   fi
45 fi
46
47 # Check for pkg-config
48 if ! "${PKG_CONFIG:-pkg-config}" --version >/dev/null 2>&1; then
49         echo 'Error: "pkg-config" is not installed.' >&2
50         exit 1
51 fi
52
53 # Prepare m4/private.m4
54 rm -f m4/private.m4 && cat > m4/private.m4 << EOF
55 dnl  Private VLC macros - generated by bootstrap
56 EOF
57
58 # Check for autopoint (GNU gettext)
59 export AUTOPOINT
60 test "$AUTOPOINT" || AUTOPOINT=autopoint
61 if ! "$AUTOPOINT" --dry-run --force >/dev/null 2>&1; then
62         AUTOPOINT=true
63         cat << EOF
64 NOTE: GNU gettext appears to be missing or out-of-date.
65 Please install or update GNU gettext.
66 Also check if you have cvs, a dependency of autopoint.
67 Otherwise, you will not be able to build a source tarball.
68 ==============================================================
69
70 EOF
71 fi
72
73 ###
74 ### Generate the modules makefile, by parsing modules/**/Modules.am
75 ###
76
77 echo "generating modules/**/Makefile.am"
78 find modules/ -name Modules.am | \
79 sed -ne 's,modules/\(.*\)/Modules.am,\1,p' | \
80 while read d; do
81         ${CONFIG_SHELL-sh} modules/genmf "$d"
82         printf "."
83 done
84 printf "\n"
85
86 set -x
87
88 ###
89 ###  classic bootstrap stuff
90 ###
91
92 # Automake complains if these are not present
93 echo > ABOUT-NLS
94 cp -f INSTALL INSTALL.git
95
96 autoreconf --install --force --verbose ${ACLOCAL_ARGS}
97 rm -f po/Makevars.template ABOUT-NLS
98 echo > ABOUT-NLS
99 mv -f INSTALL.git INSTALL
100
101 ##
102 ##  files which need to be regenerated
103 ##
104 rm -f stamp-h*
105
106 # Shut up
107 set +x
108 echo "Successfully bootstrapped"