vlc/bootstrap

151 lines
3.4 KiB
Bash
Executable File

#! /bin/sh
## bootstrap file for the VLC media player
##
## Copyright (C) 2005-2008 the VideoLAN team
##
## Authors: Sam Hocevar <sam@zoy.org>
## Rémi Denis-Courmont <rem # videolan # org>
if test "$#" != "0"; then
echo "Usage: $0"
echo " Calls autoreconf to generate m4 macros and prepare Makefiles."
exit 1
fi
###
### Get a sane environment, just in case
###
CYGWIN=binmode
export CYGWIN
set -e
set -x
cd "$(dirname "$0")"
##
## Check for various tools
##
ACLOCAL_ARGS="-I m4 ${ACLOCAL_ARGS}"
# Check for contrib directory
if test -d extras/contrib/bin; then
PATH="`pwd`/extras/contrib/bin:$PATH"
if test -d extras/contrib/share/aclocal; then
ACLOCAL_ARGS="${ACLOCAL_ARGS} -I extras/contrib/share/aclocal"
fi
if test ".`uname -s`" = ".Darwin"; then
LD_LIBRARY_PATH=./extras/contrib/lib:$LD_LIBRARY_PATH
DYLD_LIBRARY_PATH=./extras/contrib/lib:$DYLD_LIBRARY_PATH
export LD_LIBRARY_PATH
export DYLD_LIBRARY_PATH
elif test ".`uname -s`" = ".BeOS"; then
LIBRARY_PATH=./extras/contrib/lib:$LIBRARY_PATH
BELIBRARIES=./extras/contrib/lib:$BELIBRARIES
export LIBRARY_PATH
export BELIBRARIES
fi
elif test ".`uname -s`" = ".Darwin"; then
set +x
echo ""
echo "ERR: Contribs haven't been built"
echo "ERR: Please run:"
echo "ERR: "
echo "ERR: 'cd extras/contrib && ./bootstrap && make && cd ../..'"
echo "ERR: "
echo "ERR: Make sure fink has been disabled too."
echo ""
set -x
exit 1
fi
# Check for pkg-config
if pkg-config --version >/dev/null 2>&1; then
# We have pkg-config, everything is cool.
PKGCONFIG=yes
else
PKGCONFIG=no
fi
# Check for autopoint (GNU gettext)
export AUTOPOINT
test "$AUTOPOINT" || AUTOPOINT=autopoint
if ! "$AUTOPOINT" --dry-run --force >/dev/null 2>&1; then
AUTOPOINT=true
echo > ABOUT-NLS
fi
##
## Generate the modules makefile, by parsing modules/**/Modules.am
##
set +x
echo "generating modules/**/Makefile.am"
# Prepare m4/private.m4
rm -f m4/private.m4 && cat > m4/private.m4 << EOF
dnl Private VLC macros - generated by bootstrap
EOF
if [ "${PKGCONFIG}" = "no" ]; then cat >> m4/private.m4 << EOF
dnl User does not have pkg-config, so assume package was not found
AC_DEFUN([PKG_CHECK_MODULES],[ifelse([\$4], , :, [\$4])])
EOF
fi
modules/genmf `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac`
###
### classic bootstrap stuff
###
set -x
# Automake complains if these are not present
echo > vlc-config.in
echo > ABOUT-NLS
cp -f INSTALL INSTALL.git
autoreconf --install --force --verbose ${ACLOCAL_ARGS}
rm -f po/Makevars.template ABOUT-NLS
echo > ABOUT-NLS
mv -f INSTALL.git INSTALL
##
## files which need to be regenerated
##
rm -f vlc-config.in vlc-config
rm -f src/misc/modules_builtin.h
rm -f stamp-builtin stamp-h* mozilla/stamp-pic
# Shut up
set +x
##
## Tell the user about gettext, pkg-config and sed
##
if [ "$AUTOPOINT" = "true" ]; then
cat << EOF
==============================================================
NOTE: GNU gettext appears to be missing or out-of-date.
Please install or update GNU gettext.
Also check if you have cvs, a dependency of autopoint.
Otherwise, you will not be able to build a source tarball.
EOF
fi
if [ "$PKGCONFIG" = "no" ]; then
cat << EOF
==============================================================
NOTE: "pkg-config" is missing from your system. Certain
libraries may not be detected properly.
EOF
fi
echo "Successfully bootstrapped"