X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bootstrap;h=0334f46bc91ba217136f022966d679fd9a700f50;hb=c60652e38ac6afd74bd8225e9dae5406f13aaa4f;hp=6e38094623ba54794e600d035c94359d8baf681b;hpb=f0d5f2d2a5d8539126c447c41e5bd5fc0c94d443;p=vlc diff --git a/bootstrap b/bootstrap index 6e38094623..0334f46bc9 100755 --- a/bootstrap +++ b/bootstrap @@ -2,29 +2,28 @@ ## 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 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 ### ### Get a sane environment, just in case ### -LANG=C -export LANG CYGWIN=binmode export CYGWIN set -e set -x +cd "$(dirname "$0")" + ## ## Check for various tools ## @@ -32,17 +31,21 @@ set -x 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" +if test -d extras/contrib/build/bin; then + PATH="`pwd`/extras/contrib/build/bin:$PATH" + if test -d extras/contrib/build/share/aclocal; then + ACLOCAL_ARGS="${ACLOCAL_ARGS} -I extras/contrib/build/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 + LD_LIBRARY_PATH=./extras/contrib/build/lib:$LD_LIBRARY_PATH + DYLD_LIBRARY_PATH=./extras/contrib/build/lib:$DYLD_LIBRARY_PATH + export LD_LIBRARY_PATH + export DYLD_LIBRARY_PATH elif test ".`uname -s`" = ".BeOS"; then - export LIBRARY_PATH=./extras/contrib/lib:$LIBRARY_PATH - export BELIBRARIES=./extras/contrib/lib:$BELIBRARIES + LIBRARY_PATH=./extras/contrib/build/lib:$LIBRARY_PATH + BELIBRARIES=./extras/contrib/build/lib:$BELIBRARIES + export LIBRARY_PATH + export BELIBRARIES fi elif test ".`uname -s`" = ".Darwin"; then set +x @@ -58,79 +61,6 @@ elif test ".`uname -s`" = ".Darwin"; then exit 1 fi -# Check for autoconf -rm -f m4/autoconf260.m4 -case "$(autoconf --version|head -n 1)" in - *2.5[012345678]*) - echo "$0: you need autoconf version 2.59 or later (2.60 recommanded)." - exit 1 - ;; - - *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 automake -amvers="no" -for v in "-1.10" "110" "-1.9" "19"; do - if automake${v} --version >/dev/null 2>&1; then - amsuff="${v}" - amvers="`echo ${v} | sed -e 's/^-//'`" - break - fi -done - -if test "${amvers}" = "no" && automake --version > /dev/null 2>&1; then - amvers="`automake --version | sed -e '1s/[^0-9]*//' -e q`" - amsuff="" -fi - -case "${amvers}" in - no|1.[012345678]|1.[0123456].*|1[0123456]|1.[0123456]-*) - set +x - echo "$0: you need automake version 1.9 or later" - exit 1 - ;; -esac - -# Check for libtool -libtoolize="no" -if test -x extras/contrib/bin/libtoolize; then - libtoolize="extras/contrib/bin/libtoolize" -elif glibtoolize --version >/dev/null 2>&1; then - libtoolize="glibtoolize" -elif libtoolize --version >/dev/null 2>&1; then - libtoolize="libtoolize" -fi - -if test "$libtoolize" = "no"; then - set +x - echo "$0: you need libtool" - exit 1 -fi - -# Check for gettext -if gettextize --version >/dev/null 2>&1; then -# Autopoint is available from 0.11.3, but we need 0.11.5 -if expr `gettextize --version |cut -d' ' -f2- | sed -e '1s/[^0-9]*//' -e q` \ - '>=' 0.11.5 >/dev/null 2>&1; then - # We have gettext, and a recent version! Everything is cool. - autopoint=autopoint - GETTEXT=yes -else - # User's gettext is too old. try to continue anyway. - autopoint=: - GETTEXT=old -fi;else - set +x - echo "$0: you need gettextize (package gettext-devel or gettext)" - exit 1 -fi - # Check for pkg-config if pkg-config --version >/dev/null 2>&1; then # We have pkg-config, everything is cool. @@ -139,17 +69,20 @@ else PKGCONFIG=no fi -aclocal=aclocal${amsuff} -automake=automake${amsuff} -autoconf=autoconf -autoheader=autoheader +# 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 and m4/private.m4" +echo "generating modules/**/Makefile.am" # Prepare m4/private.m4 rm -f m4/private.m4 && cat > m4/private.m4 << EOF @@ -164,85 +97,29 @@ AC_DEFUN([PKG_CHECK_MODULES],[ifelse([\$4], , :, [\$4])]) EOF fi -if [ "${GETTEXT}" != "yes" ]; then cat >> m4/private.m4 << EOF -dnl User does not have gettext, so this is a no-op -AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) - -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 +sh modules/genmf `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac` ### ### classic bootstrap stuff ### set -x -# remove autotools cruft -rm -f aclocal.m4 configure config.log config.h config.h.in -rm -Rf autom4te*.cache -# remove old autotools extra cruft -rm -f config.guess config.sub missing mkinstalldirs compile depcomp install-sh -# remove new autotools extra cruft -rm -Rf autotools -mkdir autotools -# remove libtool cruft -rm -f ltmain.sh libtool ltconfig -# remove gettext cruft -rm -f ABOUT-NLS -rm -Rf intl -# remove vlc cruft -rm -f stamp-builtin stamp-h* mozilla/stamp-pic - # Automake complains if these are not present -rm -f vlc-config.in && printf "" > vlc-config.in -if [ "$GETTEXT" != "yes" ]; then - test -d intl || mkdir intl - printf "" > intl/Makefile.am - printf "" > ABOUT-NLS -fi +echo > vlc-config.in +echo > ABOUT-NLS +cp -f INSTALL INSTALL.git -# Libtoolize directory -${libtoolize} --copy --force -if test -f "ltmain.sh"; then - echo "$0: working around a minor libtool issue" - mv ltmain.sh autotools/ -fi - -# Do the rest -${autopoint} -f -rm -f po/Makevars.template -${aclocal} ${ACLOCAL_ARGS} -${autoconf} -${autoheader} -${automake} --add-missing --copy -Wall +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 @@ -250,14 +127,14 @@ set +x ## ## Tell the user about gettext, pkg-config and sed ## -if [ "${GETTEXT}" = "old" ]; then +if [ "$AUTOPOINT" = "true" ]; then cat << EOF -========================================================== -NOTE: you have an old version of gettext installed on your -system. The vlc build will work, but if your system does not -have libintl you will not have internationalization support. -We suggest upgrading to gettext 0.11.5 or later. +============================================================== +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 @@ -265,9 +142,8 @@ 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. +NOTE: "pkg-config" is missing from your system. Certain +libraries may not be detected properly. EOF fi