Don't override original pointer when realloc fails.
[vlc/vlc-skelet.git] / bootstrap
blob66834c245b06e98a038b45ac4e53039b0a5762af
1 #! /bin/sh
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>
10 if test "$#" != "0"; then
11 echo "Usage: $0"
12 echo " Calls autoreconf to generate m4 macros and prepare Makefiles."
13 exit 1
16 ###
17 ### Get a sane environment, just in case
18 ###
19 CYGWIN=binmode
20 export CYGWIN
22 set -e
23 set -x
26 ## Check for various tools
29 ACLOCAL_ARGS="-I m4 ${ACLOCAL_ARGS}"
31 # Check for contrib directory
32 if test -d extras/contrib/bin; then
33 PATH="`pwd`/extras/contrib/bin:$PATH"
34 if test -d extras/contrib/share/aclocal; then
35 ACLOCAL_ARGS="${ACLOCAL_ARGS} -I extras/contrib/share/aclocal"
37 if test ".`uname -s`" = ".Darwin"; then
38 LD_LIBRARY_PATH=./extras/contrib/lib:$LD_LIBRARY_PATH
39 DYLD_LIBRARY_PATH=./extras/contrib/lib:$DYLD_LIBRARY_PATH
40 export LD_LIBRARY_PATH
41 export DYLD_LIBRARY_PATH
42 elif test ".`uname -s`" = ".BeOS"; then
43 LIBRARY_PATH=./extras/contrib/lib:$LIBRARY_PATH
44 BELIBRARIES=./extras/contrib/lib:$BELIBRARIES
45 export LIBRARY_PATH
46 export BELIBRARIES
48 elif test ".`uname -s`" = ".Darwin"; then
49 set +x
50 echo ""
51 echo "ERR: Contribs haven't been built"
52 echo "ERR: Please run:"
53 echo "ERR: "
54 echo "ERR: 'cd extras/contrib && ./bootstrap && make && cd ../..'"
55 echo "ERR: "
56 echo "ERR: Make sure fink has been disabled too."
57 echo ""
58 set -x
59 exit 1
62 # Check for pkg-config
63 if pkg-config --version >/dev/null 2>&1; then
64 # We have pkg-config, everything is cool.
65 PKGCONFIG=yes
66 else
67 PKGCONFIG=no
70 # Check for autopoint (GNU gettext)
71 export AUTOPOINT
72 test "$AUTOPOINT" || AUTOPOINT=autopoint
73 if ! "$AUTOPOINT" --dry-run --force >/dev/null 2>&1; then
74 AUTOPOINT=true
75 echo > ABOUT-NLS
79 ## Generate the modules makefile, by parsing modules/**/Modules.am
82 set +x
83 echo "generating modules/**/Makefile.am"
85 # Prepare m4/private.m4
86 rm -f m4/private.m4 && cat > m4/private.m4 << EOF
87 dnl Private VLC macros - generated by bootstrap
89 EOF
91 if [ "${PKGCONFIG}" = "no" ]; then cat >> m4/private.m4 << EOF
92 dnl User does not have pkg-config, so assume package was not found
93 AC_DEFUN([PKG_CHECK_MODULES],[ifelse([\$4], , :, [\$4])])
95 EOF
98 modules/genmf `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac`
101 ### classic bootstrap stuff
103 set -x
105 # Automake complains if these are not present
106 echo > vlc-config.in
107 echo > ABOUT-NLS
108 cp -f INSTALL INSTALL.git
110 autoreconf --install --force --verbose ${ACLOCAL_ARGS}
111 rm -f po/Makevars.template ABOUT-NLS
112 echo > ABOUT-NLS
113 mv -f INSTALL.git INSTALL
116 ## files which need to be regenerated
118 rm -f vlc-config.in vlc-config
119 rm -f src/misc/modules_builtin.h
120 rm -f stamp-builtin stamp-h* mozilla/stamp-pic
122 # Shut up
123 set +x
126 ## Tell the user about gettext, pkg-config and sed
128 if [ "$AUTOPOINT" = "true" ]; then
129 cat << EOF
131 ==============================================================
132 NOTE: GNU gettext appears to be missing or out-of-date.
133 Please install or update GNU gettext.
134 Also check if you have cvs, a dependency of autopoint.
135 Otherwise, you will not be able to build a source tarball.
139 if [ "$PKGCONFIG" = "no" ]; then
140 cat << EOF
142 ==============================================================
143 NOTE: "pkg-config" is missing from your system. Certain
144 libraries may not be detected properly.
148 echo "Successfully bootstrapped"