]> git.sesse.net Git - vlc/blobdiff - bootstrap
Missing quotes
[vlc] / bootstrap
index c32c59348675fab6e08acfdd0e954a4e2aee6608..e6a94a61a267ae846e58a2969fcc8a06d56330b9 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -3,7 +3,7 @@
 ##  bootstrap file for the VLC media player
 ##  $Id$
 ##
 ##  bootstrap file for the VLC media player
 ##  $Id$
 ##
-## Copyright (C) 2005 the VideoLAN team
+## Copyright (C) 2005-2006 the VideoLAN team
 ##
 ##  Initial author: Sam Hocevar <sam@zoy.org>
 
 ##
 ##  Initial author: Sam Hocevar <sam@zoy.org>
 
@@ -36,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
@@ -78,7 +80,21 @@ fi
 
 if test "${amvers}" = "none"; then
   set +x
 
 if test "${amvers}" = "none"; then
   set +x
-  echo "you need automake version 1.5 or later"
+  echo "$0: you need automake version 1.5 or later"
+  exit 1
+fi
+
+# 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
+  echo "$0: you need libtool"
   exit 1
 fi
 
   exit 1
 fi
 
@@ -95,9 +111,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
@@ -127,8 +143,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
@@ -178,10 +194,11 @@ do
   subdirs="`sed -ne 's,'modules/${dir}'/\([^/]*\)/Makefile,\1,p' configure.ac | xargs`"
   mods="`sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < "${modf}" | xargs`"
   extra_libs=""
   subdirs="`sed -ne 's,'modules/${dir}'/\([^/]*\)/Makefile,\1,p' configure.ac | xargs`"
   mods="`sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < "${modf}" | xargs`"
   extra_libs=""
+  extra_ltlibs=""
   for mod in $mods
   do
   for mod in $mods
   do
-    extra_libs="${extra_libs} lib${mod}_plugin.a"
-    extra_libs="${extra_libs} lib${mod}.a lib${mod}_pic.a"
+    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"
   done
   rm -f "${makf}" && cat > "${makf}" << EOF
 
   done
   rm -f "${makf}" && cat > "${makf}" << EOF
 
@@ -192,9 +209,7 @@ basedir = ${basedir}
 mods = ${mods}
 
 NULL =
 mods = ${mods}
 
 NULL =
-libvlc_LIBRARIES =
-noinst_LIBRARIES =
-noinst_HEADERS =
+libvlc_LTLIBRARIES =
 EXTRA_DIST = Modules.am
 BUILT_SOURCES =
 SUBDIRS = ${subdirs}
 EXTRA_DIST = Modules.am
 BUILT_SOURCES =
 SUBDIRS = ${subdirs}
@@ -203,23 +218,40 @@ SUFFIXES = _plugin\$(LIBEXT) _plugin.a
 libvlcdir = \$(libdir)/vlc/\$(basedir)
 
 EXTRA_LIBRARIES = ${extra_libs}
 libvlcdir = \$(libdir)/vlc/\$(basedir)
 
 EXTRA_LIBRARIES = ${extra_libs}
+EXTRA_LTLIBRARIES = ${extra_ltlibs}
+
 include Modules.am
 
 include Modules.am
 
+LTLIBVLC = \$(top_builddir)/src/libvlc.la
+
+if BUILD_SHARED
+LIBVLC = \$(top_builddir)/src/libvlc\$(LIBEXT)
+LIBADD = \$(LIBVLC)
+endif
+
 all: all-modules
 
 # Find out which modules were enabled and tell make to build them
 all-modules:
 all: all-modules
 
 # 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; \\
+       \`; 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; \\
        @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; \\
+       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"
        \`; 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):
 
 # Build a plugin with the adequate linker and linker's flags
 _plugin.a_plugin\$(LIBEXT):
-       @mod="\$*" ; mod=\$\${mod:3} ; \
-       ldfl="\`\$(VLC_CONFIG) --libs plugin \$\$mod\` -u \$(SYMPREF)\$(VLC_ENTRY)" ; \
+       @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)" ;; \
        case \`\$(VLC_CONFIG) --linkage \$\$mod\` in \\
          c++)  ld="\$(CXXLINK)" ;; \
          objc) ld="\$(OBJCLINK)" ;; \
@@ -227,9 +259,15 @@ _plugin.a_plugin\$(LIBEXT):
        esac ; \
        echo \$\$ld \$< \$\$ldfl ; \
        \$\$ld \$< \$\$ldfl
        esac ; \
        echo \$\$ld \$< \$\$ldfl ; \
        \$\$ld \$< \$\$ldfl
+#ifneq (,\$(findstring cygwin,\$(host)))
+#      mv "$@.exe" "$@"
+#endif
+       @if test -f "$@.exe"; then mv "$@.exe" "$@"; fi
 
 
+if MAINTAINER_MODE
 \$(srcdir)/Makefile.am: \$(srcdir)/Modules.am \$(top_srcdir)/bootstrap
        cd \$(top_srcdir) && \$(SHELL) ./bootstrap
 \$(srcdir)/Makefile.am: \$(srcdir)/Modules.am \$(top_srcdir)/bootstrap
        cd \$(top_srcdir) && \$(SHELL) ./bootstrap
+endif
 
 mostlyclean-local:
        -rm -f *.a *\$(LIBEXT)
 
 mostlyclean-local:
        -rm -f *.a *\$(LIBEXT)
@@ -237,6 +275,14 @@ mostlyclean-local:
 ### automake creates libvlcdir after running install-*-local
 ### so we have to create it ourselves first
 install-exec-local: all-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 ; \
+       fi
+else
        mkdir -p -- "\$(DESTDIR)\$(libvlcdir)"
        @z=\$\$(\$(VLC_CONFIG) --list plugin); \
        for mod in \$(mods); do \
        mkdir -p -- "\$(DESTDIR)\$(libvlcdir)"
        @z=\$\$(\$(VLC_CONFIG) --list plugin); \
        for mod in \$(mods); do \
@@ -267,8 +313,17 @@ if BUILD_MOZILLA
          esac; \
        done
 endif
          esac; \
        done
 endif
+endif
 
 uninstall-local:
 
 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 ; \
+       fi
+else
        @z=\$\$(\$(VLC_CONFIG) --list plugin); \
        for mod in \$(mods); do \
          case "\$\$z " \
        @z=\$\$(\$(VLC_CONFIG) --list plugin); \
        for mod in \$(mods); do \
          case "\$\$z " \
@@ -298,6 +353,7 @@ if BUILD_MOZILLA
          esac; \
        done
 endif
          esac; \
        done
 endif
+endif
 
 EOF
   for mod in $mods
 
 EOF
   for mod in $mods
@@ -332,15 +388,23 @@ EOF
     fi
     cat >> "${makf}" << EOF
 lib${mod}_plugin_a_SOURCES = \$(SOURCES_${mod})
     fi
     cat >> "${makf}" << EOF
 lib${mod}_plugin_a_SOURCES = \$(SOURCES_${mod})
+lib${mod}_plugin_la_SOURCES = \$(SOURCES_${mod})
 EOF
     if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
 nodist_lib${mod}_plugin_a_SOURCES = \$(nodist_SOURCES_${mod})
 EOF
     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
     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}\`
 EOF
     fi
     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_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)
+lib${mod}_plugin_la_LIBADD = \$(LTLIBVLC)
 
 lib${mod}_pic_a_SOURCES = \$(SOURCES_${mod})
 EOF
 
 lib${mod}_pic_a_SOURCES = \$(SOURCES_${mod})
 EOF
@@ -353,16 +417,22 @@ 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}_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})
+lib${mod}_a_SOURCES = \$(SOURCES_${mod})
+lib${mod}_la_SOURCES = \$(SOURCES_${mod})
 EOF
     if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
 nodist_lib${mod}_a_SOURCES = ${PRIVATE}\$(nodist_SOURCES_${mod})
 EOF
     if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
 nodist_lib${mod}_a_SOURCES = ${PRIVATE}\$(nodist_SOURCES_${mod})
+nodist_lib${mod}_la_SOURCES = ${PRIVATE}\$(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}\`
 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
 
 EOF
   done
 
 EOF
   done
@@ -419,6 +489,13 @@ 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}
 # Do the rest
 ${autopoint} -f
 ${aclocal} ${ACLOCAL_ARGS}
@@ -439,17 +516,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
@@ -457,24 +525,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
@@ -482,12 +546,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
@@ -495,6 +557,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