]> git.sesse.net Git - vlc/blobdiff - bootstrap
Backport of [13378]
[vlc] / bootstrap
index d2bc5cfbe08dce8e9bef219f318dba2586260be5..4a9e423b6b3e676ba86eac4f317a9e965d038daa 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: bootstrap,v 1.74 2003/10/23 15:30:22 sam Exp $
+##  $Id$
 ##
 ##
-##  Authors: Sam Hocevar <sam@zoy.org>
+## Copyright (C) 2005 the VideoLAN team
+##
+##  Initial author: Sam Hocevar <sam@zoy.org>
 
 if test "$#" != "0"; then
   echo "Usage: $0"
 
 if test "$#" != "0"; then
   echo "Usage: $0"
@@ -29,16 +31,29 @@ set -x
 AUTOMAKESUCKS=no
 INSTALLSUCKS=no
 
 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"
 # Check for automake
 amvers="none"
-if automake-1.7 --version >/dev/null 2>&1; then
+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"
   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
 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
@@ -56,6 +71,8 @@ elif automake --version > /dev/null 2>&1; then
       INSTALLSUCKS=yes ;;
     1.6|1.6.0|1.6.1)
       AUTOMAKESUCKS=yes ;;
       INSTALLSUCKS=yes ;;
     1.6|1.6.0|1.6.1)
       AUTOMAKESUCKS=yes ;;
+    1.9|1.9.2)
+      ;;
   esac
 fi
 
   esac
 fi
 
@@ -75,28 +92,12 @@ if expr `gettextize --version | sed -e '1s/[^0-9]*//' -e q` \
   GETTEXT=yes
 else
   # User's gettext is too old. try to continue anyway.
   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
   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
+  set +x
+  echo "you need gettextize (package gettext-devel or gettext)"
+  exit 1
 fi
 
 # Check for pkg-config
 fi
 
 # Check for pkg-config
@@ -104,12 +105,6 @@ if pkg-config --version >/dev/null 2>&1; then
   # We have pkg-config, everything is cool.
   PKGCONFIG=yes
 else
   # 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
 
   PKGCONFIG=no
 fi
 
@@ -123,30 +118,45 @@ autoheader=autoheader
 ##
 
 set +x
 ##
 
 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
 
 # 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 assume package was not found
+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
+
 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
 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
 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
 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
 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
 
   cat >> vlc-config.in << BLAH
 EOF
 
@@ -156,19 +166,30 @@ 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"
-  basedir="${dir%%\/*}"
+  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`"
   # 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=""
+  for mod in $mods
+  do
+    extra_libs="${extra_libs} lib${mod}_plugin.a"
+    extra_libs="${extra_libs} lib${mod}.a lib${mod}_pic.a"
+  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 =
 libvlc_LIBRARIES =
 
 NULL =
 libvlc_LIBRARIES =
@@ -177,33 +198,115 @@ noinst_HEADERS =
 EXTRA_DIST = Modules.am
 BUILT_SOURCES =
 SUBDIRS = ${subdirs}
 EXTRA_DIST = Modules.am
 BUILT_SOURCES =
 SUBDIRS = ${subdirs}
-#DIST_SUBDIRS = \$(SUBDIRS)
-libvlcdir = \$(libdir)/vlc/${basedir}
+SUFFIXES = _plugin\$(LIBEXT) _plugin.a
+
+libvlcdir = \$(libdir)/vlc/\$(basedir)
+
+EXTRA_LIBRARIES = ${extra_libs}
 include Modules.am
 
 include Modules.am
 
-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
+all: all-modules
+
+# Find out which modules were enabled and tell make to build them
+all-modules:
+       @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; \\
+       \`; case "\$\$targets" in *lib*) \$(MAKE) \$(AM_MAKEFLAGS) \$\$targets || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; ;; esac; \\
+       test -z "\$\$fail"
+
+# 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\` -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
+
+if MAINTAINER_MODE
+\$(srcdir)/Makefile.am: \$(srcdir)/Modules.am \$(top_srcdir)/bootstrap
+       cd \$(top_srcdir) && \$(SHELL) ./bootstrap
+endif
+
+mostlyclean-local:
+       -rm -f *.a *\$(LIBEXT)
+
+### automake creates libvlcdir after running install-*-local
+### so we have to create it ourselves first
+install-exec-local: all-modules
+       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
+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
 
-clean: clean-local
-clean-local:
-       -rm -f *.a *.so *.dll *.sl *.dylib
+uninstall-local:
+       @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
+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
 
 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
@@ -214,119 +317,60 @@ 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
 # The ${mod} plugin
-clean: clean-${mod}
-all: all-${mod}
 
 EOF
 
 EOF
-    if [ "${NODIST}" != "#" ]; then cat >> modules/${dir}/Makefile.am << EOF
+    if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
+clean-local: 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
-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)
-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})
-EOF
-    fi
-    cat >> modules/${dir}/Makefile.am << EOF
-endif
-
-EOF
-    if [ "${NODIST}" != "#" ]; then cat >> modules/${dir}/Makefile.am << EOF
-${PRIVATE}BUILT_SOURCES += \$(B${mod})
+    if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
+BUILT_SOURCES += \$(B${mod})
 EOF
     fi
 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})
 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})
 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}_pic_a_SOURCES = ${PRIVATE}\$(SOURCES_${mod})
+lib${mod}_pic_a_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}_pic_a_SOURCES = \$(nodist_SOURCES_${mod})
 EOF
     fi
 EOF
     fi
-    cat >> modules/${dir}/Makefile.am << EOF
+    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 = ${PRIVATE}\$(SOURCES_${mod})
 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
+    if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
 nodist_lib${mod}_a_SOURCES = ${PRIVATE}\$(nodist_SOURCES_${mod})
 EOF
     fi
 nodist_lib${mod}_a_SOURCES = ${PRIVATE}\$(nodist_SOURCES_${mod})
 EOF
     fi
-    cat >> modules/${dir}/Makefile.am << EOF
+    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}_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
-
-
 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
@@ -344,7 +388,7 @@ BLAH
 EOF
 cat m4/private.m4-tmp4 >> m4/private.m4 && rm -f m4/private.m4-tmp4
 
 EOF
 cat m4/private.m4-tmp4 >> m4/private.m4 && rm -f m4/private.m4-tmp4
 
-echo "done."
+echo " done."
 
 ###
 ###  classic bootstrap stuff
 
 ###
 ###  classic bootstrap stuff
@@ -353,10 +397,12 @@ 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
 # 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
-(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
 # remove libtool cruft
 rm -f ltmain.sh libtool ltconfig
 # remove gettext cruft
@@ -367,12 +413,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
 
 # 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
 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
 
 # Do the rest
 ${autopoint} -f
-${aclocal} -I m4
+${aclocal} ${ACLOCAL_ARGS}
 ${autoconf}
 ${autoheader}
 ${automake} --add-missing --copy
 ${autoconf}
 ${autoheader}
 ${automake} --add-missing --copy
@@ -381,8 +432,7 @@ ${automake} --add-missing --copy
 ##  files which need to be regenerated
 ##
 rm -f vlc-config.in vlc-config
 ##  files which need to be regenerated
 ##
 rm -f vlc-config.in vlc-config
-rm -f src/misc/modules_builtin.h src/misc/modules_plugin.h
-rm -f include/vlc_symbols.h
+rm -f src/misc/modules_builtin.h
 rm -f mozilla/vlcintf.h
 
 # Shut up
 rm -f mozilla/vlcintf.h
 
 # Shut up
@@ -391,17 +441,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
@@ -409,24 +450,20 @@ 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
+fi
 
 
-case "$AUTOMAKESUCKS" in
-  no) ;;
-  yes) cat << EOF
+if [ "$AUTOMAKESUCKS" = "yes" ]; then
+  cat << EOF
 
 =============================================================
 IMPORTANT NOTE: your version of automake has a bug which will
 
 =============================================================
 IMPORTANT NOTE: your version of automake has a bug which will
@@ -434,12 +471,10 @@ 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
 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
+fi
 
 
-case "$INSTALLSUCKS" in
-  no) ;;
-  yes) cat << EOF
+if [ "$INSTALLSUCKS" = "yes" ]; then
+  cat << EOF
 
 =============================================================
 IMPORTANT NOTE: your version of automake has a bug which will
 
 =============================================================
 IMPORTANT NOTE: your version of automake has a bug which will
@@ -447,6 +482,5 @@ 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
 version of automake, or use a version of automake newer than 1.5
 (such as 1.6 or 1.7).
 EOF
-  ;;
-esac
+fi