]> git.sesse.net Git - vlc/blobdiff - bootstrap
libtool: prefer -export-dynamic over -export-regex, -export-symbols if compiler alrea...
[vlc] / bootstrap
index 52845507189fbe7f18df84c1819b86f813bed16e..f123d49824b8f13136021657d45e77cd60bdcea2 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.83 2003/11/15 01:21:48 massiot Exp $
+##
+## 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"
@@ -29,46 +31,85 @@ set -x
 AUTOMAKESUCKS=no
 INSTALLSUCKS=no
 
 AUTOMAKESUCKS=no
 INSTALLSUCKS=no
 
+ACLOCAL_ARGS="-I m4 ${ACLOCAL_ARGS}"
+
 # Check for contrib directory
 if test -d extras/contrib/bin; then
 # Check for contrib directory
 if test -d extras/contrib/bin; then
-  export PATH=./extras/contrib/bin:$PATH
-  export LD_LIBRARY_PATH=./extras/contrib/lib:$LD_LIBRARY_PATH
-  export DYLD_LIBRARY_PATH=./extras/contrib/lib:$DYLD_LIBRARY_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
+  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
+elif test ".`uname -s`" = ".Darwin"; then
+  set +x
+  echo ""
+  echo "ERR: Contribs haven't been built"
+  echo "ERR: Please run:"
+  echo "ERR: "
+  echo "ERR:    'cd extras/contrib && ./bootstrap && make && cd ../..'"
+  echo "ERR: "
+  echo "ERR: Make sure fink has been disabled too."
+  echo ""
+  set -x
+  exit 1
 fi
 
 fi
 
+# Check for autoconf
+rm -f m4/autoconf260.m4
+case "$(autoconf --version|head -n 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.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
+amvers="no"
+for v in "-1.10" "110" "-1.9" "19"; do
+  if automake${v} --version >/dev/null 2>&1; then
+    amsuff="${v}"
+    amvers="`echo ${v} | sed -e 's/^-//'`"
+    break
   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
-  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 ;;
-  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
+
+case "${amvers}" in
+  no|1.[012345678]|1.[0123456].*|1[0123456]|1.[0123456]-*)
+    set +x
+    echo "$0: you need automake version 1.9 or later"
+    exit 1
+    ;;
+esac
+
+# Check for libtool
+libtoolize="no"
+if test -x extras/contrib/bin/libtoolize; then
+  libtoolize="extras/contrib/bin/libtoolize"
+elif glibtoolize --version >/dev/null 2>&1; then
+  libtoolize="glibtoolize"
+elif libtoolize --version >/dev/null 2>&1; then
+  libtoolize="libtoolize"
 fi
 
 fi
 
-if test "${amvers}" = "none"; then
+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
 
@@ -85,9 +126,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
@@ -98,8 +139,8 @@ else
   PKGCONFIG=no
 fi
 
   PKGCONFIG=no
 fi
 
-aclocal=aclocal${amvers}
-automake=automake${amvers}
+aclocal=aclocal${amsuff}
+automake=automake${amsuff}
 autoconf=autoconf
 autoheader=autoheader
 
 autoconf=autoconf
 autoheader=autoheader
 
@@ -117,8 +158,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
@@ -130,23 +171,9 @@ AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
 EOF
 fi
 
 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], [
-EOF
-rm -f m4/private.m4-tmp2 && cat > m4/private.m4-tmp2 << EOF
-dnl  The required AC_SUBST calls
-AC_DEFUN([AX_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([
-EOF
-rm -f m4/private.m4-tmp4 && cat > m4/private.m4-tmp4 << EOF
+cat >> m4/private.m4 << EOF
 dnl  Helper macro for vlc-config generation
 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,67 +183,113 @@ 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_ltlibs=""
+  for mod in $mods
+  do
+    extra_ltlibs="${extra_ltlibs} lib${mod}_plugin.la"
+  done
+  rm -f "${makf}" && cat > "${makf}" << EOF
 
 
-# Autogenerated by bootstrap - DO NOT EDIT - edit Modules.am instead
+# ${makf} automatically generated from ${modf} by bootstrap
+# DO NOT EDIT - edit Modules.am or \$(top_srcdir)/bootstrap instead
+
+basedir = ${basedir}
+mods = ${mods}
 
 NULL =
 
 NULL =
-libvlc_LIBRARIES =
-noinst_LIBRARIES =
-noinst_HEADERS =
+libvlc_LTLIBRARIES =
 EXTRA_DIST = Modules.am
 BUILT_SOURCES =
 EXTRA_DIST = Modules.am
 BUILT_SOURCES =
+CLEANFILES =
 SUBDIRS = ${subdirs}
 SUBDIRS = ${subdirs}
-#DIST_SUBDIRS = \$(SUBDIRS)
-libvlcdir = \$(libdir)/vlc/${basedir}
+SUFFIXES = _plugin\$(LIBEXT) _plugin.la
+
+libvlcdir = \$(libdir)/vlc/\$(basedir)
+
+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
+LTLIBVLC = -L\$(top_builddir)/src -lvlc
+
+AM_LDFLAGS = -rpath '\$(libvlcdir)' -avoid-version \\
+       -module -no-undefined -shrext \$(LIBEXT) 
+if HAVE_COMPILER_EXPORT
+AM_LDFLAGS += -export-dynamic
 else
 else
-pic = no
+AM_LDFLAGS += -export-symbol-regex ^\$(VLC_ENTRY)\$\$
 endif
 endif
-
-clean-local:
-       -rm -f *.a *.so *.dll *.sl *.dylib
+AM_LIBADD = \$(LTLIBVLC)
 
 all: all-modules
 
 all: all-modules
+
+nice:
+       \$(top_builddir)/compile
+
+# Find out which modules were enabled and tell make to build them
 all-modules:
        @set fnord \$\$MAKEFLAGS; amf=\$\$2; targets=\`\\
 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; \\
+       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"
 
        \`; 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}`
+# Build a plugin with the adequate linker and linker's flags
+_plugin.la_plugin\$(LIBEXT):
+       @mod="\$*" ; mod=\$\${mod#lib} ; \
+       ldfl="\`\$(VLC_CONFIG) --libs plugin \$\$mod\` \$(LIBVLC) -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 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:
+       -rm -f -- *.la
+
+### automake creates libvlcdir after running install-*-local
+### so we have to create it ourselves first
+install-exec-local: all-modules
+       @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
+
+uninstall-local:
+       @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
+
+EOF
+  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
+    cat >> m4/private.m4 << EOF
     ${mod}) list="\\\${list} ${dir}/lib${mod}" ;;
 EOF
 # Generation of modules/**/Makefile.am
     ${mod}) list="\\\${list} ${dir}/lib${mod}" ;;
 EOF
 # Generation of modules/**/Makefile.am
@@ -226,107 +299,35 @@ 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}
-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})
-EOF
-    fi
-    cat >> modules/${dir}/Makefile.am << EOF
-endif
-
-EOF
-    if [ "${NODIST}" != "#" ]; then cat >> modules/${dir}/Makefile.am << EOF
-${PRIVATE}BUILT_SOURCES += \$(B${mod})
+    cat >> "${makf}" << EOF
+lib${mod}_plugin_la_SOURCES = \$(SOURCES_${mod})
 EOF
 EOF
-    fi
-    cat >> modules/${dir}/Makefile.am << EOF
-${PRIVATE}lib${mod}_plugin_a_SOURCES = \$(SOURCES_${mod})
-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_la_SOURCES = \$(nodist_SOURCES_${mod})
+CLEANFILES += "\$(nodist_SOURCES_${mod})"
+BUILT_SOURCES += \$(B${mod})
 EOF
     fi
 EOF
     fi
-    cat >> modules/${dir}/Makefile.am << 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}_pic_a_SOURCES = ${PRIVATE}\$(SOURCES_${mod})
-EOF
-    if [ "${NODIST}" != "#" ]; then cat >> modules/${dir}/Makefile.am << EOF
-nodist_lib${mod}_pic_a_SOURCES = ${PRIVATE}\$(nodist_SOURCES_${mod})
-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}_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}\` \$(AM_LDFLAGS)
+lib${mod}_plugin_la_LIBADD = \$(AM_LIBADD)
 EOF
   done
 done
 
 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
-cat >> m4/private.m4-tmp2 << EOF
-])
-EOF
-cat m4/private.m4-tmp2 >> m4/private.m4 && rm -f m4/private.m4-tmp2
-cat >> m4/private.m4-tmp3 << EOF
-])])
-EOF
-cat m4/private.m4-tmp3 >> m4/private.m4 && rm -f m4/private.m4-tmp3
-cat >> m4/private.m4-tmp4 << EOF
+printf "\n"
+
+cat >> m4/private.m4 << EOF
 BLAH
 ])
 EOF
 BLAH
 ])
 EOF
-cat m4/private.m4-tmp4 >> m4/private.m4 && rm -f m4/private.m4-tmp4
-
-echo " done."
 
 ###
 ###  classic bootstrap stuff
 
 ###
 ###  classic bootstrap stuff
@@ -335,19 +336,18 @@ 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
-(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
 rm -f ABOUT-NLS
 rm -Rf intl
 # remove libtool cruft
 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
 rm -f stamp-builtin stamp-h* mozilla/stamp-pic
 
 # Automake complains if these are not present
@@ -358,20 +358,43 @@ 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
+
+# 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
 # Do the rest
 ${autopoint} -f
-${aclocal} -I m4
+rm -f po/Makevars.template
+${aclocal} ${ACLOCAL_ARGS}
 ${autoconf}
 ${autoheader}
 ${autoconf}
 ${autoheader}
-${automake} --add-missing --copy
+${automake} --add-missing --copy -Wall
 
 ##
 ##  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 mozilla/vlcintf.h
+rm -f src/misc/modules_builtin.h
 
 # Shut up
 set +x
 
 # Shut up
 set +x
@@ -379,17 +402,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
@@ -397,44 +411,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