X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bootstrap;h=76a93e117a022390b91f733e2fb8fc3596ebd2f1;hb=a6a9069447c055b25720e65ee650ba5277b03213;hp=07130be0f6ef217987dd271b7149c6a37cb43305;hpb=88e2bbbaaa6d2f0b3e2e23e4392607e05abf13f5;p=vlc diff --git a/bootstrap b/bootstrap index 07130be0f6..76a93e117a 100755 --- a/bootstrap +++ b/bootstrap @@ -2,158 +2,87 @@ ## bootstrap file for the VLC media player ## -## Copyright (C) 2005-2006 the VideoLAN team +## Copyright (C) 2005-2008 the VideoLAN team ## ## Authors: Sam Hocevar ## Rémi Denis-Courmont +set -e + +cd "$(dirname "$0")" + if test "$#" != "0"; then echo "Usage: $0" - echo " Calls automake, autoconf, autoheader, autopoint and other auto* to generate" - echo " m4 macros and prepare Makefiles." + echo " Calls autoreconf to generate m4 macros and prepare Makefiles." exit 1 fi +ACLOCAL_ARGS="-I m4 ${ACLOCAL_ARGS}" + +# Check for tools directory +if test -d extras/tools/build/bin; then + PATH="`pwd`/extras/tools/build/bin:$PATH" +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 +if ! "${PKG_CONFIG:-pkg-config}" --version >/dev/null 2>&1; then + echo 'Error: "pkg-config" is not installed.' >&2 + exit 1 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])]) +# Check for autopoint (GNU gettext) +export AUTOPOINT +test "$AUTOPOINT" || AUTOPOINT=autopoint +if ! "$AUTOPOINT" --dry-run --force >/dev/null 2>&1; then + AUTOPOINT=true + 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 -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 +### +### Generate the modules makefile, by parsing modules/**/Modules.am +### -modules/genmf `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac` +echo "generating modules/**/Makefile.am" +for d in modules/*/*/Modules.am; do + d="${d#modules/}" + d="${d%/Modules.am}" + ${CONFIG_SHELL-sh} modules/genmf "$d" + printf "." +done +printf "\n" -cat >> m4/private.m4 << EOF -BLAH -]) -EOF +set -x ### ### classic bootstrap stuff ### -set -x - -# Automake complains if these are not present -echo > vlc-config.in -mkdir -p intl -cp -f INSTALL INSTALL.svn -autoreconf --install --force ${ACLOCAL_ARGS} +autoreconf --install --force --verbose ${ACLOCAL_ARGS} rm -f po/Makevars.template -echo > ABOUT-NLS -mv -f INSTALL.svn 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 +rm -f stamp-h* # 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"