X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bootstrap;h=915dc63f7c45fc3050b4aef81328262c2f38ea8e;hb=56e9569c94674100e92c395deac7ca3b9baaf9ea;hp=bb92ee09983c54d30426f4b6335e1e2e0362bbe1;hpb=5b369300e5f7093ac99f2f626533e7f9bc9b66fb;p=vlc diff --git a/bootstrap b/bootstrap index bb92ee0998..915dc63f7c 100755 --- a/bootstrap +++ b/bootstrap @@ -6,8 +6,6 @@ ## ## Authors: Sam Hocevar ## Rémi Denis-Courmont -## -## Muahaha! no annoying dollar I dee dollar that causes rebuild at commit if test "$#" != "0"; then echo "Usage: $0" @@ -37,7 +35,7 @@ ACLOCAL_ARGS="-I m4" # Check for contrib directory if test -d extras/contrib/bin; then - export PATH=./extras/contrib/bin:$PATH + 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 @@ -50,12 +48,26 @@ 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="no" -for v in "-1.9" "19" "-1.8" "18" "-1.7" "17" "-1.6" "16" "-1.5" "15"; do +for v in "-1.10" "110" "-1.9" "19"; do if automake${v} --version >/dev/null 2>&1; then amsuff="${v}" - amvers="${v}" + amvers="`echo ${v} | sed -e 's/^-//'`" break fi done @@ -66,15 +78,9 @@ if test "${amvers}" = "no" && automake --version > /dev/null 2>&1; then fi case "${amvers}" in - -1.6|16|1.6|1.6.0*|1.6.1*) - AUTOMAKESUCKS=yes - ;; - -1.5|15|1.5|1.5.*) - INSTALLSUCKS=yes - ;; - no|1.[01234]|1.[01234].*|1[01234]) + no|1.[012345678]|1.[0123456].*|1[0123456]|1.[0123456]-*) set +x - echo "$0: you need automake version 1.5 or later" + echo "$0: you need automake version 1.9 or later" exit 1 ;; esac @@ -119,8 +125,8 @@ else PKGCONFIG=no fi -aclocal=aclocal${amvers} -automake=automake${amvers} +aclocal=aclocal${amsuff} +automake=automake${amsuff} autoconf=autoconf autoheader=autoheader @@ -193,7 +199,7 @@ do for mod in $mods do extra_libs="${extra_libs} lib${mod}_plugin.a lib${mod}.a" - extra_ltlibs="${extra_ltlibs} lib${mod}_plugin.la lib${mod}_builtin.la" + extra_ltlibs="${extra_ltlibs} lib${mod}_plugin.la" done rm -f "${makf}" && cat > "${makf}" << EOF @@ -221,25 +227,27 @@ include Modules.am LTLIBVLC = \$(top_builddir)/src/libvlc.la -if BUILD_SHARED -LIBVLC = \$(top_builddir)/src/libvlc\$(LIBEXT) +if HAVE_WIN32 +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}_builtin.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; \\ + 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 @@ -295,15 +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 endif uninstall-local: @@ -324,15 +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 endif EOF @@ -383,24 +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}_a_SOURCES = \$(SOURCES_${mod}) -lib${mod}_builtin_la_SOURCES = \$(SOURCES_${mod}) EOF if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF nodist_lib${mod}_a_SOURCES = \$(nodist_SOURCES_${mod}) -nodist_lib${mod}_builtin_la_SOURCES = \$(nodist_SOURCES_${mod}) EOF fi cat >> "${makf}" << EOF -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}\` -lib${mod}_builtin_la_CFLAGS = \`\$(VLC_CONFIG) --cflags builtin ${mod}\` -lib${mod}_builtin_la_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags builtin ${mod}\` -lib${mod}_builtin_la_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags builtin ${mod}\` +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 @@ -462,19 +448,35 @@ if test -f "ltmain.sh"; then mv ltmain.sh autotools/ fi +# patch for DLL link for libtool on cygwin (remove when fixed) +if test ".`uname -s|sed -n '/^CYGWIN/p'`" != "."; then +patch -s -p0 << 'EOF' +--- autotools/ltmain.orig 2006-12-05 15:15:42.064607000 +0000 ++++ autotools/ltmain.sh 2006-12-05 15:16:24.705777800 +0000 +@@ -4360,7 +4360,7 @@ + + prog) + case $host in +- *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; ++ *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,;s,.dll.exe$,.dll,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 +EOF +fi + # Do the rest ${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 @@ -503,25 +505,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 -