X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bootstrap;h=1223b2014cae27d35e8ac90d4273f382a30ed4e8;hb=4485d8343924024bae34ec897e5a2a07940f491e;hp=d2bc5cfbe08dce8e9bef219f318dba2586260be5;hpb=edad4b8a0f412b28a2c7c6bc455ccbb027879301;p=vlc diff --git a/bootstrap b/bootstrap index d2bc5cfbe0..1223b2014c 100755 --- a/bootstrap +++ b/bootstrap @@ -1,7 +1,7 @@ #! /bin/sh ## bootstrap file for the VLC media player -## $Id: bootstrap,v 1.74 2003/10/23 15:30:22 sam Exp $ +## $Id$ ## ## Authors: Sam Hocevar @@ -29,9 +29,40 @@ set -x AUTOMAKESUCKS=no INSTALLSUCKS=no +ACLOCAL_ARGS="-I m4" + +# Check for contrib directory +if test -d extras/contrib/bin; then + export PATH=./extras/contrib/bin:$PATH + ACLOCAL_ARGS="${ACLOCAL_ARGS} -I extras/contrib/share/aclocal" + 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 +fi + # Check for automake amvers="none" -if automake-1.7 --version >/dev/null 2>&1; then +if automake-1.8 --version >/dev/null 2>&1; then + amvers="-1.8" + # If we also have 1.6 (>> 1.6.1), use it instead because it is faster + if automake-1.6 --version >/dev/null 2>&1; then + if expr "`automake-1.6 --version | sed -e '1s/[^0-9]*//' -e q`" ">" "1.6.1" > /dev/null 2>&1; then + amvers="-1.6" + fi + fi +elif automake-1.9 --version >/dev/null 2>&1; then + amvers="-1.9" + # If we also have 1.6 (>> 1.6.1), use it instead because it is faster + if automake-1.6 --version >/dev/null 2>&1; then + if expr "`automake-1.6 --version | sed -e '1s/[^0-9]*//' -e q`" ">" "1.6.1" > /dev/null 2>&1; then + amvers="-1.6" + fi + fi +elif automake-1.7 --version >/dev/null 2>&1; then amvers="-1.7" # If we also have 1.6 (>> 1.6.1), use it instead because it is faster if automake-1.6 --version >/dev/null 2>&1; then @@ -56,6 +87,8 @@ elif automake --version > /dev/null 2>&1; then INSTALLSUCKS=yes ;; 1.6|1.6.0|1.6.1) AUTOMAKESUCKS=yes ;; + 1.9|1.9.2) + ;; esac fi @@ -75,26 +108,10 @@ if expr `gettextize --version | sed -e '1s/[^0-9]*//' -e q` \ GETTEXT=yes else # User's gettext is too old. try to continue anyway. - echo > ABOUT-NLS - mkdir -p intl - echo > intl/Makefile.am - cat >> m4/private.m4 << EOF -dnl User's gettext is too old, so this is a no-op -AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) - -EOF autopoint=: GETTEXT=old fi;else # we don't have gettext. grmbl. try to continue anyway. - echo > ABOUT-NLS - mkdir -p intl - echo > intl/Makefile.am - cat >> m4/private.m4 << EOF -dnl User does not have gettext, so this is a no-op -AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) - -EOF autopoint=: GETTEXT=no fi @@ -104,12 +121,6 @@ if pkg-config --version >/dev/null 2>&1; then # We have pkg-config, everything is cool. PKGCONFIG=yes else - # Not present, use a workaround. - cat >> m4/private.m4 << EOF -dnl User does not have pkg-config, so this is a no-op -AC_DEFUN([PKG_CHECK_MODULES], [:]) - -EOF PKGCONFIG=no fi @@ -123,30 +134,45 @@ autoheader=autoheader ## set +x -printf "generating modules/**/Makefile.am and m4/private.m4" +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 this is a no-op +AC_DEFUN([PKG_CHECK_MODULES], [:], [], [], []) + +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 + rm -f m4/private.m4-tmp1 && cat > m4/private.m4-tmp1 << EOF dnl The required AM_CONDITIONAL calls dnl XXX: too many conditionals make the build very slow, disabled them -AC_DEFUN([AX_VLC_CONDITIONALS], [ +AC_DEFUN([VLC_CONDITIONALS], [ EOF rm -f m4/private.m4-tmp2 && cat > m4/private.m4-tmp2 << EOF dnl The required AC_SUBST calls -AC_DEFUN([AX_VLC_SUBSTS], [ +AC_DEFUN([VLC_SUBSTS], [ EOF rm -f m4/private.m4-tmp3 && cat > m4/private.m4-tmp3 << EOF dnl The required AC_OUTPUT calls dnl XXX: this feature is only supported starting from automake-1.7 -AC_DEFUN([AX_VLC_MAKEFILES], [AC_OUTPUT([ +AC_DEFUN([VLC_MAKEFILES], [AC_OUTPUT([ EOF rm -f m4/private.m4-tmp4 && cat > m4/private.m4-tmp4 << EOF dnl Helper macro for vlc-config generation -AC_DEFUN([AX_VLC_CONFIG_HELPER], [ +AC_DEFUN([VLC_CONFIG_HELPER], [ cat >> vlc-config.in << BLAH EOF @@ -163,7 +189,7 @@ for dir in `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac` do printf "." mf="modules/${dir}/Modules.am" - basedir="${dir%%\/*}" + basedir="`echo "${dir}" | cut -f1 -d/`" # automake will not recurse for make dist if we don't define SUBDIRS = . subdirs="`sed -ne 's,'modules/${dir}'/\([^/]*\)/Makefile,\1,p' configure.ac | xargs`" rm -f modules/${dir}/Makefile.am && cat > modules/${dir}/Makefile.am << EOF @@ -181,16 +207,28 @@ SUBDIRS = ${subdirs} libvlcdir = \$(libdir)/vlc/${basedir} include Modules.am +if BUILD_MOZILLA if HAVE_WIN32 # There's no need for pic code on win32 so get rid of this to substantially # reduce the compilation time. pic = no endif +else +pic = no +endif -clean: clean-local clean-local: -rm -f *.a *.so *.dll *.sl *.dylib +all: all-modules +all-modules: + @set fnord \$\$MAKEFLAGS; amf=\$\$2; targets=\`\\ + if test "\$(plugin)" != "no"; then z=\$\$(\$(VLC_CONFIG) --target plugin); for mod in `sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < ${mf} | xargs`; do case "\$\$z" in */lib\$\${mod}_plugin*) echo lib\$\${mod}_plugin\$(LIBEXT);; esac; done; fi; \\ + if test "\$(builtin)" != "no"; then z=\$\$(\$(VLC_CONFIG) --target builtin); for mod in `sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < ${mf} | xargs`; do case "\$\$z" in */lib\$\${mod}.a*) echo lib\$\${mod}.a;; esac; done; fi; \\ + if test "\$(pic)" != "no"; then z=\$\$(\$(VLC_CONFIG) --target builtin pic); for mod in `sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < ${mf} | xargs`; do case "\$\$z" in */lib\$\${mod}_pic.a*) echo lib\$\${mod}_pic.a;; esac; done; fi; \\ + \`; case "\$\$targets" in *lib*) \$(MAKE) \$(AM_MAKEFLAGS) \$\$targets || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; ;; esac; \\ + test -z "\$\$fail" + EOF for mod in `sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < ${mf}` do @@ -216,46 +254,16 @@ EOF # work properly with any automake version I tested. cat >> modules/${dir}/Makefile.am << EOF # The ${mod} plugin -clean: clean-${mod} -all: all-${mod} EOF if [ "${NODIST}" != "#" ]; then cat >> modules/${dir}/Makefile.am << EOF +clean-local: clean-${mod} clean-${mod}: -test -z "\$(nodist_SOURCES_${mod})" || rm -f \$(nodist_SOURCES_${mod}) EOF fi cat >> modules/${dir}/Makefile.am << EOF -all-${mod}: -if BUILD_MOZILLA - @set fnord \$\$MAKEFLAGS; amf=\$\$2; \\ - if test "\$(plugin)" != "no" \\ - && \$(VLC_CONFIG) --target plugin | grep "${dir}/lib${mod}_plugin" >/dev/null 2>&1; then \\ - \$(MAKE) \$(AM_MAKEFLAGS) lib${mod}_plugin\$(LIBEXT) || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \\ - fi; \\ - if test "\$(builtin)" != "no" \\ - && \$(VLC_CONFIG) --target builtin | grep "${dir}/lib${mod}\\.a" >/dev/null 2>&1; then \\ - \$(MAKE) \$(AM_MAKEFLAGS) lib${mod}.a || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \\ - fi; \\ - if test "\$(pic)" != "no" \\ - && \$(VLC_CONFIG) --target builtin pic | grep "${dir}/lib${mod}_pic\\.a" >/dev/null 2>&1; then \\ - \$(MAKE) \$(AM_MAKEFLAGS) lib${mod}_pic.a || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \\ - fi; \\ - test -z "\$\$fail" -else - @set fnord \$\$MAKEFLAGS; amf=\$\$2; \\ - if test "\$(plugin)" != "no" \\ - && \$(VLC_CONFIG) --target plugin | grep "${dir}/lib${mod}_plugin" >/dev/null 2>&1; then \\ - \$(MAKE) \$(AM_MAKEFLAGS) lib${mod}_plugin\$(LIBEXT) || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \\ - fi; \\ - if test "\$(builtin)" != "no" \\ - && \$(VLC_CONFIG) --target builtin | grep "${dir}/lib${mod}\\.a" >/dev/null 2>&1; then \\ - \$(MAKE) \$(AM_MAKEFLAGS) lib${mod}.a || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \\ - fi; \\ - test -z "\$\$fail" -endif - if UNTRUE L${mod}p = lib${mod}_plugin.a D${mod}p = lib${mod}_plugin\$(LIBEXT) @@ -344,7 +352,7 @@ BLAH EOF cat m4/private.m4-tmp4 >> m4/private.m4 && rm -f m4/private.m4-tmp4 -echo "done." +echo " done." ### ### classic bootstrap stuff @@ -353,10 +361,12 @@ 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 -(cd autotools && rm -f config.guess config.sub missing mkinstalldirs compile depcomp install-sh) +rm -Rf autotools +mkdir autotools # remove libtool cruft rm -f ltmain.sh libtool ltconfig # remove gettext cruft @@ -367,12 +377,17 @@ rm -f m4/oldgettext.m4 stamp-pic configure.ac.in Modules.am # remove new vlc cruft rm -f stamp-builtin stamp-h* mozilla/stamp-pic -# Automake complains if this is not present +# 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 # Do the rest ${autopoint} -f -${aclocal} -I m4 +${aclocal} ${ACLOCAL_ARGS} ${autoconf} ${autoheader} ${automake} --add-missing --copy