]> git.sesse.net Git - vlc/blobdiff - bootstrap
* Lets at the very least remove icons we don't use anymore. Should save some space.
[vlc] / bootstrap
index dccac3fe43f76f02f0011f20e86448033a8a8021..4a9e423b6b3e676ba86eac4f317a9e965d038daa 100755 (executable)
--- a/bootstrap
+++ b/bootstrap
@@ -48,30 +48,12 @@ fi
 
 # Check for automake
 amvers="none"
 
 # 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
+if automake-1.9 --version >/dev/null 2>&1; then
   amvers="-1.9"
   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.8 --version >/dev/null 2>&1; then
+  amvers="-1.8"
 elif automake-1.7 --version >/dev/null 2>&1; then
   amvers="-1.7"
 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
 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
@@ -113,9 +95,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
@@ -145,8 +127,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
@@ -184,7 +166,6 @@ 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`
 EOF
 
 for dir in `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac`
@@ -205,7 +186,10 @@ do
   rm -f "${makf}" && cat > "${makf}" << EOF
 
 # ${makf} automatically generated from ${modf} by bootstrap
   rm -f "${makf}" && cat > "${makf}" << EOF
 
 # ${makf} automatically generated from ${modf} by bootstrap
-# DO NOT EDIT - edit Modules.am instead
+# DO NOT EDIT - edit Modules.am or \$(top_srcdir)/bootstrap instead
+
+basedir = ${basedir}
+mods = ${mods}
 
 NULL =
 libvlc_LIBRARIES =
 
 NULL =
 libvlc_LIBRARIES =
@@ -214,43 +198,112 @@ 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
 
 
 EXTRA_LIBRARIES = ${extra_libs}
 include Modules.am
 
-if !BUILD_MOZILLA
-pic = no
-else
-if HAVE_WIN32
-dnl There's no need for pic code on win32 so get rid of this to substantially
-dnl reduce the compilation time.
-pic = no
-endif
-endif
-
-clean-local:
-       -rm -f *.a *.so *.dll *.sl *.dylib
-
 all: all-modules
 all: all-modules
+
+# 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) --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)" != "no"; 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 "\$(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"
 
        \`; case "\$\$targets" in *lib*) \$(MAKE) \$(AM_MAKEFLAGS) \$\$targets || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; ;; esac; \\
        test -z "\$\$fail"
 
-\$(srcdir)Makefile.am: \$(srcdir)Modules.am \$(top_srcdir)bootstrap
+# 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
        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
+
+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
   for mod in $mods
   do
 
 EOF
   for mod in $mods
   do
-    if grep '^SOURCES_'${mod}'.*=.*PRIVATE' < "${modf}" >/dev/null 2>&1; then
-        PRIVATE='#'; else
-        PRIVATE=''; fi
     if grep '^nodist_SOURCES_'${mod}'' < "${modf}" >/dev/null 2>&1; then
         NODIST=''; else
         NODIST='#'; fi
     if grep '^nodist_SOURCES_'${mod}'' < "${modf}" >/dev/null 2>&1; then
         NODIST=''; else
         NODIST='#'; fi
@@ -276,14 +329,14 @@ clean-${mod}:
 EOF
     fi
     if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
 EOF
     fi
     if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
-${PRIVATE}BUILT_SOURCES += \$(B${mod})
+BUILT_SOURCES += \$(B${mod})
 EOF
     fi
     cat >> "${makf}" << EOF
 EOF
     fi
     cat >> "${makf}" << EOF
-${PRIVATE}lib${mod}_plugin_a_SOURCES = \$(SOURCES_${mod})
+lib${mod}_plugin_a_SOURCES = \$(SOURCES_${mod})
 EOF
     if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
 EOF
     if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
-${PRIVATE}nodist_lib${mod}_plugin_a_SOURCES = \$(nodist_SOURCES_${mod})
+nodist_lib${mod}_plugin_a_SOURCES = \$(nodist_SOURCES_${mod})
 EOF
     fi
     cat >> "${makf}" << EOF
 EOF
     fi
     cat >> "${makf}" << EOF
@@ -291,10 +344,10 @@ 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_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
     if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
 EOF
     if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
-nodist_lib${mod}_pic_a_SOURCES = ${PRIVATE}\$(nodist_SOURCES_${mod})
+nodist_lib${mod}_pic_a_SOURCES = \$(nodist_SOURCES_${mod})
 EOF
     fi
     cat >> "${makf}" << EOF
 EOF
     fi
     cat >> "${makf}" << EOF
@@ -313,19 +366,6 @@ 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_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
 EOF
   done
 done
@@ -357,7 +397,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
@@ -401,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
@@ -419,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
@@ -444,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
@@ -457,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