#! /bin/sh ## bootstrap file for the VLC media player ## ## Copyright (C) 2005-2006 the VideoLAN team ## ## Authors: Sam Hocevar ## RĂ©mi Denis-Courmont 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/buildsystem/autotools/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 cp -f INSTALL INSTALL.svn autoreconf --install --force ${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 # 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"