mirror of
https://github.com/videolan/vlc.git
synced 2024-11-30 21:33:40 +08:00
158 lines
3.5 KiB
Bash
Executable File
158 lines
3.5 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
## bootstrap file for the VLC media player
|
|
##
|
|
## Copyright (C) 2005-2006 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 automake, autoconf, autoheader, autopoint and other auto* to generate"
|
|
echo " m4 macros and prepare Makefiles."
|
|
exit 1
|
|
fi
|
|
|
|
###
|
|
### Get a sane environment, just in case
|
|
###
|
|
CYGWIN=binmode
|
|
export CYGWIN
|
|
|
|
set -e
|
|
set -x
|
|
|
|
##
|
|
## Check for various tools
|
|
##
|
|
|
|
ACLOCAL_ARGS="-I m4 ${ACLOCAL_ARGS}"
|
|
|
|
# Check for contrib directory
|
|
if test -d extras/contrib/bin; then
|
|
export 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
|
|
export LD_LIBRARY_PATH=./extras/contrib/lib:$LD_LIBRARY_PATH
|
|
export DYLD_LIBRARY_PATH=./extras/contrib/lib:$DYLD_LIBRARY_PATH
|
|
elif test ".`uname -s`" = ".BeOS"; then
|
|
export LIBRARY_PATH=./extras/contrib/lib:$LIBRARY_PATH
|
|
export BELIBRARIES=./extras/contrib/lib:$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 autoconf
|
|
rm -f m4/autoconf260.m4
|
|
case "$(autoreconf --version|head -n 1)" in
|
|
*2.59*)
|
|
echo "Enabling provisional autoconf 2.59 work-around. Update autoconf ASAP."
|
|
echo "Press Enter to continue"
|
|
read
|
|
cp -f extras/m4/autoconf260.m4 m4/
|
|
;;
|
|
esac
|
|
|
|
# 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
|
|
|
|
##
|
|
## Generate the modules makefile, by parsing modules/**/Modules.am
|
|
##
|
|
|
|
set +x
|
|
echo "generating modules/**/Makefile.am and m4/private.m4"
|
|
|
|
# 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
|
|
|
|
cat >> m4/private.m4 << EOF
|
|
dnl Helper macro for vlc-config generation
|
|
AC_DEFUN([VLC_CONFIG_HELPER], [
|
|
cat >> vlc-config.in << BLAH
|
|
EOF
|
|
|
|
modules=""
|
|
|
|
rm -f modules/Makefile.am && cat > modules/Makefile.am << EOF
|
|
# Autogenerated by bootstrap - DO NOT EDIT
|
|
EXTRA_DIST = LIST
|
|
dist_noinst_SCRIPTS = genmf
|
|
SUBDIRS = `sed -ne 's,modules/\([^/]*\)/Makefile,\1,p' configure.ac | xargs`
|
|
|
|
EOF
|
|
|
|
modules/genmf `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac`
|
|
|
|
cat >> m4/private.m4 << EOF
|
|
BLAH
|
|
])
|
|
EOF
|
|
|
|
###
|
|
### classic bootstrap stuff
|
|
###
|
|
set -x
|
|
|
|
# Automake complains if these are not present
|
|
echo > vlc-config.in
|
|
mkdir -p intl
|
|
|
|
autoreconf --install --force ${ACLOCAL_ARGS}
|
|
rm -f po/Makevars.template
|
|
echo > ABOUT-NLS
|
|
|
|
##
|
|
## 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 [ "$PKGCONFIG" = "no" ]; then
|
|
cat << EOF
|
|
|
|
==============================================================
|
|
NOTE: you do not have the "pkg-config" utility on your system;
|
|
detection of the Gtk-2.0 and GNOME 2.0 libraries will not be
|
|
reliable.
|
|
EOF
|
|
fi
|
|
|
|
echo "Successfully bootstrapped"
|