]> git.sesse.net Git - vlc/blobdiff - bootstrap
* Fixed another bunch of memory leaks.
[vlc] / bootstrap
index 8cd918038fe3bf600fb113e86914b25d1c0aa1f9..6dc6ac62eb15ddd1d517d4acacdaabe8322a22a0 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -1,9 +1,11 @@
 #! /bin/sh
 
 ##  bootstrap file for the VLC media player
 #! /bin/sh
 
 ##  bootstrap file for the VLC media player
-##  $Id$
+##
+## Copyright (C) 2005-2006 the VideoLAN team
 ##
 ##  Authors: Sam Hocevar <sam@zoy.org>
 ##
 ##  Authors: Sam Hocevar <sam@zoy.org>
+##           RĂ©mi Denis-Courmont <rem # videolan # org>
 
 if test "$#" != "0"; then
   echo "Usage: $0"
 
 if test "$#" != "0"; then
   echo "Usage: $0"
@@ -34,7 +36,9 @@ ACLOCAL_ARGS="-I m4"
 # Check for contrib directory
 if test -d extras/contrib/bin; then
   export PATH=./extras/contrib/bin:$PATH
 # 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 -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
   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
@@ -44,57 +48,54 @@ if test -d extras/contrib/bin; then
   fi
 fi
 
   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
 # Check for automake
-amvers="none"
-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
-    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.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
   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
+done
+
+if test "${amvers}" = "no" && automake --version > /dev/null 2>&1; then
+  amvers="`automake --version | sed -e '1s/[^0-9]*//' -e q`"
+  amsuff=""
 fi
 
 fi
 
-if test "${amvers}" = "none"; then
+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
+  libtoolize="glibtoolize"
+elif libtoolize --version >/dev/null 2>&1; then
+  libtoolize="libtoolize"
+fi
+
+if test "$libtoolize" = "no"; then
   set +x
   set +x
-  echo "you need automake version 1.5 or later"
+  echo "$0: you need libtool"
   exit 1
 fi
 
   exit 1
 fi
 
@@ -111,9 +112,9 @@ else
   autopoint=:
   GETTEXT=old
 fi;else
   autopoint=:
   GETTEXT=old
 fi;else
-  # we don't have gettext. grmbl. try to continue anyway.
-  autopoint=:
-  GETTEXT=no
+  set +x
+  echo "you need gettextize (package gettext-devel or gettext)"
+  exit 1
 fi
 
 # Check for pkg-config
 fi
 
 # Check for pkg-config
@@ -143,8 +144,8 @@ dnl  Private VLC macros - generated by bootstrap
 EOF
 
 if [ "${PKGCONFIG}" = "no" ]; then cat >> m4/private.m4 << EOF
 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], [:], [], [], [])
+dnl  User does not have pkg-config, so assume package was not found
+AC_DEFUN([PKG_CHECK_MODULES],[ifelse([\$4], , :, [\$4])])
 
 EOF
 fi
 
 EOF
 fi
@@ -182,66 +183,173 @@ rm -f modules/Makefile.am && cat > modules/Makefile.am << EOF
 # Autogenerated by bootstrap - DO NOT EDIT
 EXTRA_DIST = LIST
 SUBDIRS = `sed -ne 's,modules/\([^/]*\)/Makefile,\1,p' configure.ac | xargs`
 # Autogenerated by bootstrap - DO NOT EDIT
 EXTRA_DIST = LIST
 SUBDIRS = `sed -ne 's,modules/\([^/]*\)/Makefile,\1,p' configure.ac | xargs`
-#DIST_SUBDIRS = \$(SUBDIRS)
 EOF
 
 for dir in `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac`
 do
   printf "."
 EOF
 
 for dir in `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac`
 do
   printf "."
-  mf="modules/${dir}/Modules.am"
+  modf="modules/${dir}/Modules.am"
+  makf="modules/${dir}/Makefile.am"
   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`"
   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
+  mods="`sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < "${modf}" | xargs`"
+  extra_libs=""
+  extra_ltlibs=""
+  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"
+  done
+  rm -f "${makf}" && cat > "${makf}" << EOF
+
+# ${makf} automatically generated from ${modf} by bootstrap
+# DO NOT EDIT - edit Modules.am or \$(top_srcdir)/bootstrap instead
 
 
-# Autogenerated by bootstrap - DO NOT EDIT - edit Modules.am instead
+basedir = ${basedir}
+mods = ${mods}
 
 NULL =
 
 NULL =
-libvlc_LIBRARIES =
-noinst_LIBRARIES =
-noinst_HEADERS =
+libvlc_LTLIBRARIES =
+noinst_LTLIBRARIES =
 EXTRA_DIST = Modules.am
 BUILT_SOURCES =
 EXTRA_DIST = Modules.am
 BUILT_SOURCES =
+clean_modules =
 SUBDIRS = ${subdirs}
 SUBDIRS = ${subdirs}
-#DIST_SUBDIRS = \$(SUBDIRS)
-libvlcdir = \$(libdir)/vlc/${basedir}
+SUFFIXES = _plugin\$(LIBEXT) _plugin.a
+
+libvlcdir = \$(libdir)/vlc/\$(basedir)
+
+EXTRA_LIBRARIES = ${extra_libs}
+EXTRA_LTLIBRARIES = ${extra_ltlibs}
+
 include Modules.am
 
 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
+LTLIBVLC = \$(top_builddir)/src/libvlc.la
 
 
-clean-local:
-       -rm -f *.a *.so *.dll *.sl *.dylib
+if BUILD_SHARED
+LIBVLC = -L\$(top_builddir)/src -lvlc
+LIBADD = \$(LIBVLC)
+endif
 
 all: all-modules
 
 all: all-modules
+
+nice:
+       \$(top_builddir)/compile
+
+# Find out which modules were enabled and tell make to build them
 all-modules:
 all-modules:
+if USE_LIBTOOL
        @set fnord \$\$MAKEFLAGS; amf=\$\$2; targets=\`\\
        @set fnord \$\$MAKEFLAGS; amf=\$\$2; targets=\`\\
-       if test "\$(plugin)" != "no"; then z=\$\$(\$(VLC_CONFIG) --list plugin); for mod in `sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < ${mf} | xargs`; 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 `sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < ${mf} | xargs`; do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}.a;; esac; done; fi; \\
-       if test "\$(pic)" != "no"; then z=\$\$(\$(VLC_CONFIG) --list builtin); for mod in `sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < ${mf} | xargs`; do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_pic.a;; esac; done; fi; \\
+       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; \\
        \`; case "\$\$targets" in *lib*) \$(MAKE) \$(AM_MAKEFLAGS) \$\$targets || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; ;; esac; \\
        test -z "\$\$fail"
        \`; 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; \\
+       \`; case "\$\$targets" in *lib*) \$(MAKE) \$(AM_MAKEFLAGS) \$\$targets || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; ;; esac; \\
+       test -z "\$\$fail"
+endif
+
+# Build a plugin with the adequate linker and linker's flags
+_plugin.a_plugin\$(LIBEXT):
+       @mod="\$*" ; mod=\$\${mod#lib} ; \
+       ldfl="\`\$(VLC_CONFIG) --libs plugin \$\$mod\` \$(LIBADD) -u \$(SYMPREF)\$(VLC_ENTRY)" ; \
+       case \`\$(VLC_CONFIG) --linkage \$\$mod\` in \\
+         c++)  ld="\$(CXXLINK)" ;; \
+         objc) ld="\$(OBJCLINK)" ;; \
+         c|*)  ld="\$(LINK)" ;; \
+       esac ; \
+       echo \$\$ld \$< \$\$ldfl ; \
+       \$\$ld \$< \$\$ldfl
+#ifneq (,\$(findstring cygwin,\$(host)))
+#      mv -f "\$@.exe" "\$@"
+#endif
+       @if test -f "\$@.exe"; then mv -f "\$@.exe" "\$@"; fi
+
+if MAINTAINER_MODE
+\$(srcdir)/Makefile.am: \$(srcdir)/Modules.am \$(top_srcdir)/bootstrap
+       cd \$(top_srcdir) && \$(SHELL) ./bootstrap
+endif
+
+mostlyclean-local:
+if USE_LIBTOOL
+       -rm -f *.la
+else
+       -rm -f *.a *\$(LIBEXT)
+endif
+
+clean-local: \$(clean_modules)
+
+### automake creates libvlcdir after running install-*-local
+### so we have to create it ourselves first
+install-exec-local: all-modules
+if USE_LIBTOOL
+       @if test -z "\$(libvlc_LTLIBRARIES)"; then \
+         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-libvlcLTLIBRARIES || exit \$\$? ; \
+       fi
+else
+       mkdir -p -- "\$(DESTDIR)\$(libvlcdir)"
+       @z=\$\$(\$(VLC_CONFIG) --list plugin); \
+       for mod in \$(mods); do \
+         case "\$\$z " \
+           in *\ \$\${mod}\ *) \
+             echo \$(INSTALL_PROGRAM) "lib\$\${mod}_plugin\$(LIBEXT)" "\$(DESTDIR)\$(libvlcdir)/" ; \
+             \$(INSTALL_PROGRAM) "lib\$\${mod}_plugin\$(LIBEXT)" "\$(DESTDIR)\$(libvlcdir)/" || exit \$\$?; \
+             ;; \
+         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:
+if USE_LIBTOOL
+       @if test -z "\$(libvlc_LTLIBRARIES)"; then \
+         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-libvlcLTLIBRARIES || exit \$\$?; \
+       fi
+else
+       @z=\$\$(\$(VLC_CONFIG) --list plugin); \
+       for mod in \$(mods); do \
+         case "\$\$z " \
+           in *\ \$\${mod}\ *) \
+             echo rm -f "\$(DESTDIR)\$(libvlcdir)/lib\$\${mod}_plugin\$(LIBEXT)" ; \
+             rm -f "\$(DESTDIR)\$(libvlcdir)/lib\$\${mod}_plugin\$(LIBEXT)" || true; \
+             ;; \
+         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
 
 EOF
-  for mod in `sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < ${mf}`
+  for mod in $mods
   do
   do
-    if grep '^SOURCES_'${mod}'.*=.*PRIVATE' < ${mf} >/dev/null 2>&1; then
-        PRIVATE='#'; else
-        PRIVATE=''; fi
-    if grep '^nodist_SOURCES_'${mod}'' < ${mf} >/dev/null 2>&1; then
+    if grep '^nodist_SOURCES_'${mod}'' < "${modf}" >/dev/null 2>&1; then
         NODIST=''; else
         NODIST='#'; fi
         NODIST=''; else
         NODIST='#'; fi
-#    cat >> m4/private.m4-tmp1 << EOF
-#dnl  AM_CONDITIONAL(${mod}_p, test x\$${mod}_p = xyes)
-#dnl  AM_CONDITIONAL(${mod}_b, test x\$${mod}_b = xyes)
-#EOF
     cat >> m4/private.m4-tmp4 << EOF
     ${mod}) list="\\\${list} ${dir}/lib${mod}" ;;
 EOF
     cat >> m4/private.m4-tmp4 << EOF
     ${mod}) list="\\\${list} ${dir}/lib${mod}" ;;
 EOF
@@ -252,89 +360,63 @@ EOF
 #   the resulting file size.
 # - *_CFLAGS, *_CXXFLAGS etc. because per-object CPPFLAGS does not seem to
 #   work properly with any automake version I tested.
 #   the resulting file size.
 # - *_CFLAGS, *_CXXFLAGS etc. because per-object CPPFLAGS does not seem to
 #   work properly with any automake version I tested.
-    cat >> modules/${dir}/Makefile.am << EOF
+    cat >> "${makf}" << EOF
 # The ${mod} plugin
 
 EOF
 # The ${mod} plugin
 
 EOF
-    if [ "${NODIST}" != "#" ]; then cat >> modules/${dir}/Makefile.am << EOF
-clean-local: clean-${mod}
+    if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
+clean_modules += clean-${mod}
 clean-${mod}:
        -test -z "\$(nodist_SOURCES_${mod})" || rm -f \$(nodist_SOURCES_${mod})
 
 EOF
     fi
 clean-${mod}:
        -test -z "\$(nodist_SOURCES_${mod})" || rm -f \$(nodist_SOURCES_${mod})
 
 EOF
     fi
-    cat >> modules/${dir}/Makefile.am << EOF
-if UNTRUE
-L${mod}p = lib${mod}_plugin.a
-D${mod}p = lib${mod}_plugin\$(LIBEXT)
-L${mod}b = lib${mod}.a
-L${mod}pic = lib${mod}_pic.a
-EOF
-    if [ "${NODIST}" != "#" ]; then cat >> modules/${dir}/Makefile.am << EOF
-B${mod} = \$(nodist_SOURCES_${mod})
+    if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
+BUILT_SOURCES += \$(B${mod})
 EOF
     fi
 EOF
     fi
-    cat >> modules/${dir}/Makefile.am << EOF
-endif
-
-EOF
-    if [ "${NODIST}" != "#" ]; then cat >> modules/${dir}/Makefile.am << EOF
-${PRIVATE}BUILT_SOURCES += \$(B${mod})
-EOF
-    fi
-    cat >> modules/${dir}/Makefile.am << EOF
-${PRIVATE}lib${mod}_plugin_a_SOURCES = \$(SOURCES_${mod})
+    cat >> "${makf}" << EOF
+lib${mod}_plugin_a_SOURCES = \$(SOURCES_${mod})
+lib${mod}_plugin_la_SOURCES = \$(SOURCES_${mod})
 EOF
 EOF
-    if [ "${NODIST}" != "#" ]; then cat >> modules/${dir}/Makefile.am << EOF
-${PRIVATE}nodist_lib${mod}_plugin_a_SOURCES = \$(nodist_SOURCES_${mod})
+    if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
+nodist_lib${mod}_plugin_a_SOURCES = \$(nodist_SOURCES_${mod})
+nodist_lib${mod}_plugin_la_SOURCES = \$(nodist_SOURCES_${mod})
 EOF
     fi
 EOF
     fi
-    cat >> modules/${dir}/Makefile.am << EOF
+    cat >> "${makf}" << EOF
 lib${mod}_plugin_a_CFLAGS = \`\$(VLC_CONFIG) --cflags plugin ${mod}\`
 lib${mod}_plugin_a_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags plugin ${mod}\`
 lib${mod}_plugin_a_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags plugin ${mod}\`
 lib${mod}_plugin_a_CFLAGS = \`\$(VLC_CONFIG) --cflags plugin ${mod}\`
 lib${mod}_plugin_a_CXXFLAGS = \`\$(VLC_CONFIG) --cxxflags plugin ${mod}\`
 lib${mod}_plugin_a_OBJCFLAGS = \`\$(VLC_CONFIG) --objcflags plugin ${mod}\`
+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)' -avoid-version -module -shrext \$(LIBEXT) \\
+       -export-symbol-regex ^\$(VLC_ENTRY)\$\$
+lib${mod}_plugin_la_LIBADD = \$(LTLIBVLC)
 
 
-lib${mod}_pic_a_SOURCES = ${PRIVATE}\$(SOURCES_${mod})
+lib${mod}_a_SOURCES = \$(SOURCES_${mod})
+lib${mod}_builtin_la_SOURCES = \$(SOURCES_${mod})
 EOF
 EOF
-    if [ "${NODIST}" != "#" ]; then cat >> modules/${dir}/Makefile.am << EOF
-nodist_lib${mod}_pic_a_SOURCES = ${PRIVATE}\$(nodist_SOURCES_${mod})
+    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
 EOF
     fi
-    cat >> modules/${dir}/Makefile.am << 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 = ${PRIVATE}\$(SOURCES_${mod})
-EOF
-    if [ "${NODIST}" != "#" ]; then cat >> modules/${dir}/Makefile.am << EOF
-nodist_lib${mod}_a_SOURCES = ${PRIVATE}\$(nodist_SOURCES_${mod})
-EOF
-    fi
-    cat >> modules/${dir}/Makefile.am << 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}\`
-
-libvlc_LIBRARIES += \$(L${mod}b) \$(L${mod}pic)
-lib${mod}_DATA = \$(D${mod}p)
-
-lib${mod}dir = \$(libdir)/vlc/${topdir}
-${PRIVATE}noinst_LIBRARIES += \$(L${mod}p)
-${PRIVATE}lib${mod}_plugin\$(LIBEXT): \$(lib${mod}_plugin_a_OBJECTS)
-${PRIVATE}     @case \`\$(VLC_CONFIG) --linkage ${mod}\` in \\
-${PRIVATE}       c++) echo \$(CXXLINK) \$(lib${mod}_plugin_a_OBJECTS) \\\`\$(VLC_CONFIG) --libs plugin ${mod}\\\` ; \$(CXXLINK) \$(lib${mod}_plugin_a_OBJECTS) \`\$(VLC_CONFIG) --libs plugin ${mod}\` ;; \\
-${PRIVATE}       objc) echo \$(OBJCLINK) \$(lib${mod}_plugin_a_OBJECTS) \\\`\$(VLC_CONFIG) --libs plugin ${mod}\\\` ; \$(OBJCLINK) \$(lib${mod}_plugin_a_OBJECTS) \`\$(VLC_CONFIG) --libs plugin ${mod}\` ;; \\
-${PRIVATE}       c|*) echo \$(LINK) \$(lib${mod}_plugin_a_OBJECTS) \\\`\$(VLC_CONFIG) --libs plugin ${mod}\\\` ; \$(LINK) \$(lib${mod}_plugin_a_OBJECTS) \`\$(VLC_CONFIG) --libs plugin ${mod}\` ;; \\
-${PRIVATE}     esac
-
+    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}\`
 
 EOF
   done
 done
 
 cat >> m4/private.m4-tmp1 << EOF
 
 EOF
   done
 done
 
 cat >> m4/private.m4-tmp1 << EOF
-  AM_CONDITIONAL(UNTRUE, false)
 ])
 EOF
 cat m4/private.m4-tmp1 >> m4/private.m4 && rm -f m4/private.m4-tmp1
 ])
 EOF
 cat m4/private.m4-tmp1 >> m4/private.m4 && rm -f m4/private.m4-tmp1
@@ -361,7 +443,7 @@ set -x
 
 # remove autotools cruft
 rm -f aclocal.m4 configure config.log config.h config.h.in
 
 # remove autotools cruft
 rm -f aclocal.m4 configure config.log config.h config.h.in
-rm -Rf autom4te.cache
+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
 # remove old autotools extra cruft
 rm -f config.guess config.sub missing mkinstalldirs compile depcomp install-sh
 # remove new autotools extra cruft
@@ -372,9 +454,7 @@ rm -f ltmain.sh libtool ltconfig
 # remove gettext cruft
 rm -f ABOUT-NLS
 rm -Rf intl
 # 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
 rm -f stamp-builtin stamp-h* mozilla/stamp-pic
 
 # Automake complains if these are not present
@@ -385,19 +465,25 @@ if [ "$GETTEXT" != "yes" ]; then
   printf "" > ABOUT-NLS
 fi
 
   printf "" > ABOUT-NLS
 fi
 
+# 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
 ${aclocal} ${ACLOCAL_ARGS}
 ${autoconf}
 ${autoheader}
 # 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
 
 ##
 ##  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
 
 # Shut up
 set +x
@@ -405,17 +491,8 @@ set +x
 ##
 ##  Tell the user about gettext, pkg-config and sed
 ##
 ##
 ##  Tell the user about gettext, pkg-config and sed
 ##
-case "${GETTEXT}" in
-  yes) ;;
-  no) cat << EOF
-
-===========================================================
-IMPORTANT NOTE: you do not have gettext installed on your
-system. The vlc build will work, but you will not have
-internationalization support. We suggest installing gettext.
-EOF
-  ;;
-  old) cat << EOF
+if [ "${GETTEXT}" = "old" ]; then
+  cat << EOF
 
 ==========================================================
 NOTE: you have an old version of gettext installed on your
 
 ==========================================================
 NOTE: you have an old version of gettext installed on your
@@ -423,44 +500,15 @@ 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.
 EOF
 have libintl you will not have internationalization support.
 We suggest upgrading to gettext 0.11.5 or later.
 EOF
-  ;;
-esac
+fi
 
 
-case "$PKGCONFIG" in
-  yes) ;;
-  no) cat << EOF
+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
 
 ==============================================================
 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
-  ;;
-esac
-
-case "$AUTOMAKESUCKS" in
-  no) ;;
-  yes) 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
-  ;;
-esac
-
-case "$INSTALLSUCKS" in
-  no) ;;
-  yes) 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
-  ;;
-esac
+fi