X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bootstrap;h=7fd6835a55c0d8e451dff41e15e114056fdde31d;hb=cb285c57db9d79ae71f40b6fae3637a419774eff;hp=171148da3931c484651a408b9aad5f7086cb745b;hpb=7e7d587a44280a84914474364c6806f948af17cb;p=vlc diff --git a/bootstrap b/bootstrap index 171148da39..7fd6835a55 100755 --- a/bootstrap +++ b/bootstrap @@ -1,11 +1,11 @@ #! /bin/sh ## bootstrap file for the VLC media player -## $Id$ ## ## Copyright (C) 2005-2006 the VideoLAN team ## -## Initial author: Sam Hocevar +## Authors: Sam Hocevar +## Rémi Denis-Courmont if test "$#" != "0"; then echo "Usage: $0" @@ -48,42 +48,43 @@ if test -d extras/contrib/bin; then fi fi +# Check for autoconf +rm -f m4/autoconf260.m4 +case "$(autoconf --version|head -1)" in + *2.5[012345678]*) + echo "Hey, your autoconf is quite old. Update it." >&2 + exit 1 + ;; + + *2.59*) + echo "Enabling provisional autoconf 2.59 work-around. Update autoconf ASAP." + cp -f extras/m4/autoconf260.m4 m4/ + ;; +esac + # Check for automake -amvers="none" -if automake-1.9 --version >/dev/null 2>&1; then - amvers="-1.9" -elif automake-1.8 --version >/dev/null 2>&1; then - amvers="-1.8" -elif automake-1.7 --version >/dev/null 2>&1; then - amvers="-1.7" -elif automake-1.6 --version >/dev/null 2>&1; then - amvers="-1.6" - if expr "`automake-1.6 --version | sed -e '1s/[^0-9]*//' -e q`" "<=" "1.6.1" > /dev/null 2>&1; then - AUTOMAKESUCKS=yes +amvers="no" +for v in "-1.9" "19" "-1.8" "18" "-1.7" "17"; do + if automake${v} --version >/dev/null 2>&1; then + amsuff="${v}" + amvers="${v}" + break fi -elif automake-1.5 --version >/dev/null 2>&1; then - INSTALLSUCKS=yes - amvers="-1.5" -elif automake --version > /dev/null 2>&1; then - amvers="" - case "`automake --version | sed -e '1s/[^0-9]*//' -e q`" in - 0|0.*|1|1.[01234]|1.[01234][-.]*) - amvers="none" ;; - 1.5|1.5.*) - INSTALLSUCKS=yes ;; - 1.6|1.6.0|1.6.1) - AUTOMAKESUCKS=yes ;; - 1.9|1.9.2) - ;; - esac -fi +done -if test "${amvers}" = "none"; then - set +x - echo "$0: you need automake version 1.5 or later" - exit 1 +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.[0123456]|1.[0123456].*|1[0123456]) + set +x + echo "$0: you need automake version 1.7 or later" + exit 1 + ;; +esac + # Check for libtool libtoolize="no" if glibtoolize --version >/dev/null 2>&1; then @@ -197,8 +198,8 @@ do extra_ltlibs="" for mod in $mods do - extra_libs="${extra_libs} lib${mod}_plugin.a lib${mod}.a lib${mod}_pic.a" - extra_ltlibs="${extra_ltlibs} lib${mod}_plugin.la lib${mod}.la" + extra_libs="${extra_libs} lib${mod}_plugin.a lib${mod}.a" + extra_ltlibs="${extra_ltlibs} lib${mod}_plugin.la" done rm -f "${makf}" && cat > "${makf}" << EOF @@ -210,6 +211,7 @@ mods = ${mods} NULL = libvlc_LTLIBRARIES = +noinst_LTLIBRARIES = EXTRA_DIST = Modules.am BUILT_SOURCES = clean_modules = @@ -226,25 +228,26 @@ include Modules.am LTLIBVLC = \$(top_builddir)/src/libvlc.la if BUILD_SHARED -LIBVLC = \$(top_builddir)/src/libvlc\$(LIBEXT) +LIBVLC = -L\$(top_builddir)/src -lvlc LIBADD = \$(LIBVLC) endif all: all-modules +nice: + \$(top_builddir)/compile + # Find out which modules were enabled and tell make to build them all-modules: if USE_LIBTOOL @set fnord \$\$MAKEFLAGS; amf=\$\$2; targets=\`\\ - if test "\$(plugin)" != "no"; then z=\$\$(\$(VLC_CONFIG) --list plugin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_plugin.la;; esac; done; fi; \\ - if test "\$(builtin)" != "no"; then z=\$\$(\$(VLC_CONFIG) --list builtin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}.la;; esac; done; fi; \\ + z=\$\$(\$(VLC_CONFIG) --list plugin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_plugin.la;; esac; done; \\ \`; case "\$\$targets" in *lib*) \$(MAKE) \$(AM_MAKEFLAGS) \$\$targets || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; ;; esac; \\ test -z "\$\$fail" else @set fnord \$\$MAKEFLAGS; amf=\$\$2; targets=\`\\ - if test "\$(plugin)" != "no"; then z=\$\$(\$(VLC_CONFIG) --list plugin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_plugin\$(LIBEXT);; esac; done; fi; \\ - if test "\$(builtin)" != "no"; then z=\$\$(\$(VLC_CONFIG) --list builtin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}.a;; esac; done; fi; \\ - if test "\$(pic)" = "pic"; then z=\$\$(\$(VLC_CONFIG) --list builtin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_pic.a;; esac; done; fi; \\ + z=\$\$(\$(VLC_CONFIG) --list plugin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_plugin\$(LIBEXT);; esac; done; \\ + z=\$\$(\$(VLC_CONFIG) --list builtin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}.a;; esac; done; \\ \`; case "\$\$targets" in *lib*) \$(MAKE) \$(AM_MAKEFLAGS) \$\$targets || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; ;; esac; \\ test -z "\$\$fail" endif @@ -271,19 +274,13 @@ if MAINTAINER_MODE endif mostlyclean-local: +if USE_LIBTOOL + -rm -f *.la +else -rm -f *.a *\$(LIBEXT) +endif clean-local: \$(clean_modules) -if USE_LIBTOOL - @if test -z "\$(libvlc_LTLIBRARIES)"; then \ - l=\$\$(\$(VLC_CONFIG) --list plugin); \ - p=\`for mod in \$(mods); do case "\$\$l " in *\ \$\${mod}\ *) echo -n " lib\$\${mod}_plugin.la" ;; esac; done\` ; \ - l=\$\$(\$(VLC_CONFIG) --list builtin); \ - s=\`for mod in \$(mods); do case "\$\$l " in *\ \$\${mod}\ *) echo -n " lib\$\${mod}.la" ;; esac; done\` ; \ - test -z "\$\$p\$\$s" || \ - \$(MAKE) \$(AM_MAKEFLAGS) libvlc_LTLIBRARIES="\$\$p\$\$s" clean ; \ - fi -endif ### automake creates libvlcdir after running install-*-local ### so we have to create it ourselves first @@ -293,7 +290,7 @@ if USE_LIBTOOL z=\$\$(\$(VLC_CONFIG) --list plugin); \ m=\`for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo -n " lib\$\${mod}_plugin.la" ;; esac; done\` ; \ test -z "\$\$m" || \ - \$(MAKE) \$(AM_MAKEFLAGS) libvlc_LTLIBRARIES="\$\$m" install ; \ + \$(MAKE) \$(AM_MAKEFLAGS) libvlc_LTLIBRARIES="\$\$m" install-libvlcLTLIBRARIES || exit \$\$? ; \ fi else mkdir -p -- "\$(DESTDIR)\$(libvlcdir)" @@ -306,26 +303,6 @@ else ;; \ esac; \ done - @z=\$\$(\$(VLC_CONFIG) --list builtin); \ - for mod in \$(mods); do \ - case "\$\$z " \ - in *\ \$\${mod}\ *) \ - echo \$(INSTALL_DATA) "lib\$\${mod}.a" "\$(DESTDIR)\$(libdir)/vlc/" ; \ - \$(INSTALL_DATA) "lib\$\${mod}.a" "\$(DESTDIR)\$(libdir)/vlc/" || exit \$\$?; \ - ;; \ - esac; \ - done -if BUILD_MOZILLA - @z=\$\$(\$(VLC_CONFIG) --list builtin); \ - for mod in \$(mods); do \ - case "\$\$z " \ - in *\ \$\${mod}\ *) \ - echo \$(INSTALL_DATA) "lib\$\${mod}_pic.a" "\$(DESTDIR)\$(libdir)/vlc/" ; \ - \$(INSTALL_DATA) "lib\$\${mod}_pic.a" "\$(DESTDIR)\$(libdir)/vlc/" || exit \$\$?; \ - ;; \ - esac; \ - done -endif endif uninstall-local: @@ -334,7 +311,7 @@ if USE_LIBTOOL z=\$\$(\$(VLC_CONFIG) --list plugin); \ m=\`for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo -n " lib\$\${mod}_plugin.la" ;; esac; done\` ; \ test -z "\$\$m" || \ - \$(MAKE) \$(AM_MAKEFLAGS) libvlc_LTLIBRARIES="\$\$m" uninstall ; \ + \$(MAKE) \$(AM_MAKEFLAGS) libvlc_LTLIBRARIES="\$\$m" uninstall-libvlcLTLIBRARIES || exit \$\$?; \ fi else @z=\$\$(\$(VLC_CONFIG) --list plugin); \ @@ -346,26 +323,6 @@ else ;; \ esac; \ done - @z=\$\$(\$(VLC_CONFIG) --list builtin); \ - for mod in \$(mods); do \ - case "\$\$z " \ - in *\ \$\${mod}\ *) \ - echo rm -f "\$(DESTDIR)\$(libdir)/vlc/lib\$\${mod}.a" ; \ - rm -f "\$(DESTDIR)\$(libdir)/vlc/lib\$\${mod}.a" || true; \ - ;; \ - esac; \ - done -if BUILD_MOZILLA - @z=\$\$(\$(VLC_CONFIG) --list builtin); \ - for mod in \$(mods); do \ - case "\$\$z " \ - in *\ \$\${mod}\ *) \ - echo rm -f "\$(DESTDIR)\$(libdir)/vlc/lib\$\${mod}_pic.a" ; \ - rm -f "\$(DESTDIR)\$(libdir)/vlc/lib\$\${mod}_pic.a" || true; \ - ;; \ - esac; \ - done -endif endif EOF @@ -416,36 +373,20 @@ lib${mod}_plugin_la_CFLAGS = \`\$(VLC_CONFIG) --cflags plugin ${mod}\` lib${mod}_plugin_la_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags plugin ${mod}\` lib${mod}_plugin_la_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags plugin ${mod}\` lib${mod}_plugin_la_LDFLAGS = \`\$(VLC_CONFIG) --libs plugin ${mod}\` \\ - -rpath '\$(libvlcdir)' -module -shrext \$(LIBEXT) + -rpath '\$(libvlcdir)' -avoid-version -module -shrext \$(LIBEXT) \\ + -export-symbol-regex ^\$(VLC_ENTRY)\$\$ -no-undefined lib${mod}_plugin_la_LIBADD = \$(LTLIBVLC) -lib${mod}_pic_a_SOURCES = \$(SOURCES_${mod}) -EOF - if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF -nodist_lib${mod}_pic_a_SOURCES = \$(nodist_SOURCES_${mod}) -EOF - fi - cat >> "${makf}" << EOF -lib${mod}_pic_a_CFLAGS = \`\$(VLC_CONFIG) --cflags builtin pic ${mod}\` -lib${mod}_pic_a_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags builtin pic ${mod}\` -lib${mod}_pic_a_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags builtin pic ${mod}\` - lib${mod}_a_SOURCES = \$(SOURCES_${mod}) -lib${mod}_la_SOURCES = \$(SOURCES_${mod}) EOF if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF nodist_lib${mod}_a_SOURCES = \$(nodist_SOURCES_${mod}) -nodist_lib${mod}_la_SOURCES = \$(nodist_SOURCES_${mod}) EOF fi cat >> "${makf}" << EOF -lib${mod}_a_CFLAGS = \`\$(VLC_CONFIG) --cflags builtin ${mod}\` -lib${mod}_a_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags builtin ${mod}\` -lib${mod}_a_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags builtin ${mod}\` -lib${mod}_la_CFLAGS = \`\$(VLC_CONFIG) --cflags builtin ${mod}\` -lib${mod}_la_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags builtin ${mod}\` -lib${mod}_la_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags builtin ${mod}\` -lib${mod}_la_LDFLAGS = \`\$(VLC_CONFIG) --libs ${mod}\` -static +lib${mod}_a_CFLAGS = \`\$(VLC_CONFIG) --cflags builtin pic ${mod}\` +lib${mod}_a_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags builtin pic ${mod}\` +lib${mod}_a_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags builtin pic ${mod}\` EOF done @@ -489,9 +430,7 @@ rm -f ltmain.sh libtool ltconfig # remove gettext cruft rm -f ABOUT-NLS rm -Rf intl -# remove old vlc cruft -rm -f m4/oldgettext.m4 stamp-pic configure.ac.in Modules.am -# remove new vlc cruft +# remove vlc cruft rm -f stamp-builtin stamp-h* mozilla/stamp-pic # Automake complains if these are not present @@ -514,14 +453,13 @@ ${autopoint} -f ${aclocal} ${ACLOCAL_ARGS} ${autoconf} ${autoheader} -${automake} --add-missing --copy +${automake} --add-missing --copy -Wall ## ## files which need to be regenerated ## rm -f vlc-config.in vlc-config rm -f src/misc/modules_builtin.h -rm -f mozilla/vlcintf.h # Shut up set +x @@ -550,25 +488,3 @@ reliable. EOF fi -if [ "$AUTOMAKESUCKS" = "yes" ]; then - cat << EOF - -============================================================= -IMPORTANT NOTE: your version of automake has a bug which will -prevent proper plugin compilation. Either compile VLC with -the --disable-plugins flag, or use a version of automake newer -than 1.6.1 (1.6.2 is OK, and so are the 1.5 series). -EOF -fi - -if [ "$INSTALLSUCKS" = "yes" ]; then - cat << EOF - -============================================================= -IMPORTANT NOTE: your version of automake has a bug which will -prevent proper installation. Do not use "make install" with this -version of automake, or use a version of automake newer than 1.5 -(such as 1.6 or 1.7). -EOF -fi -