* ALL: the first libvlc commit.
As for video output 4, this breaks almost everything, but I'll slowly
do what remains to be fixed during the weekend.
Changes in vlc:
===============
* vlc is now a very small program (20 lines) which uses the libvlc API;
it is quite simple for the moment but can be extended in the future.
* interfaces, decoders, video outputs, etc. are now almost the same
objects (yes, I know, this is C++ redone in C) and are structured in
a tree. More about this later, but basically it allows the following
nice features:
- several interfaces
- several playlists with several outputs
- input plugins spawning helper interfaces (will be used for DVD menus)
- anything spawning anything; I swear there are useful uses for this!
* libvlc can be used in other programs; I'm currently writing a Mozilla
plugin for my employer.
Things currently broken:
========================
* most interfaces, most ports
* the playlist handling (almost finished rewriting this though). This means
no file can be played from the GUI, you need to use the commandline. This
also means it segfaults at EOF, when exiting the program, and it sometimes
refuses to open a file when asked to.
2002-06-01 20:32:02 +08:00
|
|
|
#! /bin/sh
|
|
|
|
|
2003-02-02 12:01:29 +08:00
|
|
|
## bootstrap file for the VLC media player
|
* ALL: the first libvlc commit.
As for video output 4, this breaks almost everything, but I'll slowly
do what remains to be fixed during the weekend.
Changes in vlc:
===============
* vlc is now a very small program (20 lines) which uses the libvlc API;
it is quite simple for the moment but can be extended in the future.
* interfaces, decoders, video outputs, etc. are now almost the same
objects (yes, I know, this is C++ redone in C) and are structured in
a tree. More about this later, but basically it allows the following
nice features:
- several interfaces
- several playlists with several outputs
- input plugins spawning helper interfaces (will be used for DVD menus)
- anything spawning anything; I swear there are useful uses for this!
* libvlc can be used in other programs; I'm currently writing a Mozilla
plugin for my employer.
Things currently broken:
========================
* most interfaces, most ports
* the playlist handling (almost finished rewriting this though). This means
no file can be played from the GUI, you need to use the commandline. This
also means it segfaults at EOF, when exiting the program, and it sometimes
refuses to open a file when asked to.
2002-06-01 20:32:02 +08:00
|
|
|
##
|
2006-02-24 03:41:36 +08:00
|
|
|
## Copyright (C) 2005-2006 the VideoLAN team
|
2005-08-13 16:12:37 +08:00
|
|
|
##
|
2006-03-05 04:24:19 +08:00
|
|
|
## Authors: Sam Hocevar <sam@zoy.org>
|
|
|
|
## Rémi Denis-Courmont <rem # videolan # org>
|
* ALL: the first libvlc commit.
As for video output 4, this breaks almost everything, but I'll slowly
do what remains to be fixed during the weekend.
Changes in vlc:
===============
* vlc is now a very small program (20 lines) which uses the libvlc API;
it is quite simple for the moment but can be extended in the future.
* interfaces, decoders, video outputs, etc. are now almost the same
objects (yes, I know, this is C++ redone in C) and are structured in
a tree. More about this later, but basically it allows the following
nice features:
- several interfaces
- several playlists with several outputs
- input plugins spawning helper interfaces (will be used for DVD menus)
- anything spawning anything; I swear there are useful uses for this!
* libvlc can be used in other programs; I'm currently writing a Mozilla
plugin for my employer.
Things currently broken:
========================
* most interfaces, most ports
* the playlist handling (almost finished rewriting this though). This means
no file can be played from the GUI, you need to use the commandline. This
also means it segfaults at EOF, when exiting the program, and it sometimes
refuses to open a file when asked to.
2002-06-01 20:32:02 +08:00
|
|
|
|
2003-06-27 21:50:13 +08:00
|
|
|
if test "$#" != "0"; then
|
|
|
|
echo "Usage: $0"
|
|
|
|
echo " Calls automake, autoconf, autoheader, autopoint and other auto* to generate"
|
|
|
|
echo " m4 macros and prepare Makefiles."
|
2002-12-26 18:55:35 +08:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2002-07-21 23:27:09 +08:00
|
|
|
###
|
2002-11-20 01:38:07 +08:00
|
|
|
### Get a sane environment, just in case
|
2002-07-21 23:27:09 +08:00
|
|
|
###
|
2002-08-30 07:53:22 +08:00
|
|
|
LANG=C
|
|
|
|
export LANG
|
2002-11-20 01:38:07 +08:00
|
|
|
CYGWIN=binmode
|
|
|
|
export CYGWIN
|
2002-07-21 23:27:09 +08:00
|
|
|
|
2003-07-05 22:47:53 +08:00
|
|
|
set -e
|
2003-10-23 23:30:22 +08:00
|
|
|
set -x
|
2003-07-05 22:47:53 +08:00
|
|
|
|
2002-11-14 04:51:05 +08:00
|
|
|
##
|
2003-10-23 23:30:22 +08:00
|
|
|
## Check for various tools
|
2002-11-14 04:51:05 +08:00
|
|
|
##
|
2002-12-26 06:36:14 +08:00
|
|
|
AUTOMAKESUCKS=no
|
|
|
|
INSTALLSUCKS=no
|
2002-11-11 02:04:24 +08:00
|
|
|
|
2007-03-15 05:34:22 +08:00
|
|
|
ACLOCAL_ARGS="-I m4 ${ACLOCAL_ARGS}"
|
2004-07-05 22:18:51 +08:00
|
|
|
|
2003-11-15 09:21:48 +08:00
|
|
|
# Check for contrib directory
|
|
|
|
if test -d extras/contrib/bin; then
|
2006-11-14 22:51:35 +08:00
|
|
|
export PATH="`pwd`/extras/contrib/bin:$PATH"
|
2005-11-08 04:15:16 +08:00
|
|
|
if test -d extras/contrib/share/aclocal; then
|
|
|
|
ACLOCAL_ARGS="${ACLOCAL_ARGS} -I extras/contrib/share/aclocal"
|
|
|
|
fi
|
2004-07-23 00:48:38 +08:00
|
|
|
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
|
2007-06-21 05:01:26 +08:00
|
|
|
elif test ".`uname -s`" = ".Darwin"; then
|
2007-06-21 05:14:58 +08:00
|
|
|
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
|
2003-11-15 09:21:48 +08:00
|
|
|
fi
|
|
|
|
|
2006-09-13 02:03:45 +08:00
|
|
|
# Check for autoconf
|
|
|
|
rm -f m4/autoconf260.m4
|
2007-06-13 16:37:51 +08:00
|
|
|
case "$(autoconf --version|head -n 1)" in
|
2006-09-13 02:03:45 +08:00
|
|
|
*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
|
|
|
|
|
2003-10-23 23:30:22 +08:00
|
|
|
# Check for automake
|
2006-06-01 17:53:36 +08:00
|
|
|
amvers="no"
|
2007-03-11 19:04:38 +08:00
|
|
|
for v in "-1.10" "110" "-1.9" "19"; do
|
2006-06-01 17:53:36 +08:00
|
|
|
if automake${v} --version >/dev/null 2>&1; then
|
|
|
|
amsuff="${v}"
|
2007-02-05 04:20:41 +08:00
|
|
|
amvers="`echo ${v} | sed -e 's/^-//'`"
|
2006-06-01 17:53:36 +08:00
|
|
|
break
|
2003-10-23 23:30:22 +08:00
|
|
|
fi
|
2006-06-01 17:53:36 +08:00
|
|
|
done
|
2003-10-23 23:30:22 +08:00
|
|
|
|
2006-06-01 17:53:36 +08:00
|
|
|
if test "${amvers}" = "no" && automake --version > /dev/null 2>&1; then
|
|
|
|
amvers="`automake --version | sed -e '1s/[^0-9]*//' -e q`"
|
|
|
|
amsuff=""
|
2006-02-24 03:41:36 +08:00
|
|
|
fi
|
|
|
|
|
2006-06-01 17:53:36 +08:00
|
|
|
case "${amvers}" in
|
2007-03-11 19:04:38 +08:00
|
|
|
no|1.[012345678]|1.[0123456].*|1[0123456]|1.[0123456]-*)
|
2006-06-01 17:53:36 +08:00
|
|
|
set +x
|
2007-03-11 19:04:38 +08:00
|
|
|
echo "$0: you need automake version 1.9 or later"
|
2006-06-01 17:53:36 +08:00
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2006-02-24 03:41:36 +08:00
|
|
|
# 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"
|
2003-10-23 23:30:22 +08:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Check for gettext
|
|
|
|
if gettextize --version >/dev/null 2>&1; then
|
|
|
|
# Autopoint is available from 0.11.3, but we need 0.11.5
|
|
|
|
if expr `gettextize --version | sed -e '1s/[^0-9]*//' -e q` \
|
|
|
|
'>=' 0.11.5 >/dev/null 2>&1; then
|
|
|
|
# We have gettext, and a recent version! Everything is cool.
|
|
|
|
autopoint=autopoint
|
|
|
|
GETTEXT=yes
|
|
|
|
else
|
|
|
|
# User's gettext is too old. try to continue anyway.
|
|
|
|
autopoint=:
|
|
|
|
GETTEXT=old
|
|
|
|
fi;else
|
2005-09-23 19:47:52 +08:00
|
|
|
set +x
|
|
|
|
echo "you need gettextize (package gettext-devel or gettext)"
|
|
|
|
exit 1
|
2003-10-23 23:30:22 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
# Check for pkg-config
|
|
|
|
if pkg-config --version >/dev/null 2>&1; then
|
|
|
|
# We have pkg-config, everything is cool.
|
|
|
|
PKGCONFIG=yes
|
|
|
|
else
|
|
|
|
PKGCONFIG=no
|
|
|
|
fi
|
|
|
|
|
2007-02-05 04:20:41 +08:00
|
|
|
aclocal=aclocal${amsuff}
|
|
|
|
automake=automake${amsuff}
|
2003-10-23 23:30:22 +08:00
|
|
|
autoconf=autoconf
|
|
|
|
autoheader=autoheader
|
|
|
|
|
2002-09-30 19:05:42 +08:00
|
|
|
##
|
|
|
|
## Generate the modules makefile, by parsing modules/**/Modules.am
|
|
|
|
##
|
|
|
|
|
2003-10-23 23:30:22 +08:00
|
|
|
set +x
|
2003-11-04 23:31:44 +08:00
|
|
|
echo "generating modules/**/Makefile.am and m4/private.m4"
|
2002-09-30 19:05:42 +08:00
|
|
|
|
2003-07-02 00:25:24 +08:00
|
|
|
# Prepare m4/private.m4
|
2003-06-27 21:50:13 +08:00
|
|
|
rm -f m4/private.m4 && cat > m4/private.m4 << EOF
|
2003-06-22 01:04:20 +08:00
|
|
|
dnl Private VLC macros - generated by bootstrap
|
2002-09-30 19:05:42 +08:00
|
|
|
|
|
|
|
EOF
|
2003-10-26 01:48:05 +08:00
|
|
|
|
|
|
|
if [ "${PKGCONFIG}" = "no" ]; then cat >> m4/private.m4 << EOF
|
2005-11-02 21:42:48 +08:00
|
|
|
dnl User does not have pkg-config, so assume package was not found
|
|
|
|
AC_DEFUN([PKG_CHECK_MODULES],[ifelse([\$4], , :, [\$4])])
|
2003-10-26 01:48:05 +08:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2007-07-19 03:47:29 +08:00
|
|
|
cat >> m4/private.m4 << EOF
|
2003-06-27 21:50:13 +08:00
|
|
|
dnl Helper macro for vlc-config generation
|
2004-06-25 20:21:32 +08:00
|
|
|
AC_DEFUN([VLC_CONFIG_HELPER], [
|
2003-06-27 21:50:13 +08:00
|
|
|
cat >> vlc-config.in << BLAH
|
|
|
|
EOF
|
2002-09-30 19:05:42 +08:00
|
|
|
|
|
|
|
modules=""
|
|
|
|
|
2003-06-27 21:50:13 +08:00
|
|
|
rm -f modules/Makefile.am && cat > modules/Makefile.am << EOF
|
|
|
|
# Autogenerated by bootstrap - DO NOT EDIT
|
|
|
|
EXTRA_DIST = LIST
|
2003-06-28 07:31:24 +08:00
|
|
|
SUBDIRS = `sed -ne 's,modules/\([^/]*\)/Makefile,\1,p' configure.ac | xargs`
|
2003-06-27 21:50:13 +08:00
|
|
|
EOF
|
2002-09-30 19:05:42 +08:00
|
|
|
|
2003-07-02 00:25:24 +08:00
|
|
|
for dir in `sed -ne 's,modules/\(.*\)/Makefile,\1,p' configure.ac`
|
2003-06-27 21:50:13 +08:00
|
|
|
do
|
|
|
|
printf "."
|
2005-08-13 16:12:37 +08:00
|
|
|
modf="modules/${dir}/Modules.am"
|
|
|
|
makf="modules/${dir}/Makefile.am"
|
2004-03-26 06:45:59 +08:00
|
|
|
basedir="`echo "${dir}" | cut -f1 -d/`"
|
2003-06-27 21:50:13 +08:00
|
|
|
# automake will not recurse for make dist if we don't define SUBDIRS = .
|
2003-07-02 00:25:24 +08:00
|
|
|
subdirs="`sed -ne 's,'modules/${dir}'/\([^/]*\)/Makefile,\1,p' configure.ac | xargs`"
|
2005-08-13 16:12:37 +08:00
|
|
|
mods="`sed -n -e 's/^ *SOURCES_\([^ ]*\).*/\1/p' < "${modf}" | xargs`"
|
2006-02-24 03:41:36 +08:00
|
|
|
extra_ltlibs=""
|
2005-08-13 16:12:37 +08:00
|
|
|
for mod in $mods
|
|
|
|
do
|
2006-10-20 03:29:46 +08:00
|
|
|
extra_ltlibs="${extra_ltlibs} lib${mod}_plugin.la"
|
2005-08-13 16:12:37 +08:00
|
|
|
done
|
|
|
|
rm -f "${makf}" && cat > "${makf}" << EOF
|
2003-06-27 21:50:13 +08:00
|
|
|
|
2005-08-13 16:12:37 +08:00
|
|
|
# ${makf} automatically generated from ${modf} by bootstrap
|
2005-08-18 23:36:12 +08:00
|
|
|
# DO NOT EDIT - edit Modules.am or \$(top_srcdir)/bootstrap instead
|
|
|
|
|
|
|
|
basedir = ${basedir}
|
|
|
|
mods = ${mods}
|
2003-06-27 21:50:13 +08:00
|
|
|
|
|
|
|
NULL =
|
2006-02-24 03:41:36 +08:00
|
|
|
libvlc_LTLIBRARIES =
|
2003-06-27 21:50:13 +08:00
|
|
|
EXTRA_DIST = Modules.am
|
|
|
|
BUILT_SOURCES =
|
2007-07-20 01:28:35 +08:00
|
|
|
CLEANFILES =
|
2003-06-28 07:31:24 +08:00
|
|
|
SUBDIRS = ${subdirs}
|
2007-07-20 01:28:35 +08:00
|
|
|
SUFFIXES = _plugin\$(LIBEXT) _plugin.la
|
2005-08-18 23:36:12 +08:00
|
|
|
|
|
|
|
libvlcdir = \$(libdir)/vlc/\$(basedir)
|
2005-08-13 16:12:37 +08:00
|
|
|
|
2006-02-24 03:41:36 +08:00
|
|
|
EXTRA_LTLIBRARIES = ${extra_ltlibs}
|
|
|
|
|
2003-06-27 21:50:13 +08:00
|
|
|
include Modules.am
|
2003-07-02 19:21:27 +08:00
|
|
|
|
2006-02-24 03:41:36 +08:00
|
|
|
LTLIBVLC = \$(top_builddir)/src/libvlc.la
|
|
|
|
|
2007-07-20 21:13:53 +08:00
|
|
|
AM_LDFLAGS = -rpath '\$(libvlcdir)' -avoid-version \\
|
|
|
|
-module -no-undefined -shrext \$(LIBEXT) \\
|
|
|
|
-export-symbol-regex ^\$(VLC_ENTRY)\$\$
|
|
|
|
|
2007-07-20 01:28:35 +08:00
|
|
|
if USE_LIBTOOL
|
2007-07-20 21:13:53 +08:00
|
|
|
AM_LIBADD = \$(LTLIBVLC)
|
2007-07-20 01:28:35 +08:00
|
|
|
endif
|
2006-12-11 03:57:01 +08:00
|
|
|
if HAVE_WIN32
|
2007-07-20 01:28:35 +08:00
|
|
|
LIBVLC = \$(top_builddir)/src/libvlc.dll
|
- Seemingly fix linking of plugins with shared libvlc on Win32
- Hopefully the same on Darwin
!!! BIG FAT WARNING !!!
On architectures where you need to resolve all symbols when
linking a shared library, libvlc must be built before the plugins, so
that they can resolve symbols from the libvlc API. Also, the "builtins"
must be built before libvlc (regardless of the architecture or use of
shared libvlc). However, our build system currently builds all modules,
whether builtins or plugins, then libvlc and then vlc.
Obviously, we could swap the build orders, so that libvlc gets built
before modules/ but that will only work if there is no buitins modules.
I'm not too keen on the idea of recursing twice within the modules/
subdirectories (once for builtins, and once for plugins). Until the
issue is settled, here is how to build and test the shared libvlc on
Win32:
1/ run configure with --enable-shared-libvlc
2/ build all built-in modules (or disable them all) one by one,
3/ make libvlc.dll
4/ make
2006-02-19 17:03:58 +08:00
|
|
|
endif
|
|
|
|
|
2003-10-25 12:48:55 +08:00
|
|
|
all: all-modules
|
2005-08-19 01:00:20 +08:00
|
|
|
|
2006-07-19 02:57:19 +08:00
|
|
|
nice:
|
|
|
|
\$(top_builddir)/compile
|
|
|
|
|
2005-08-19 01:00:20 +08:00
|
|
|
# Find out which modules were enabled and tell make to build them
|
2003-10-25 12:48:55 +08:00
|
|
|
all-modules:
|
2006-02-24 03:41:36 +08:00
|
|
|
if USE_LIBTOOL
|
|
|
|
@set fnord \$\$MAKEFLAGS; amf=\$\$2; targets=\`\\
|
2006-10-20 03:52:49 +08:00
|
|
|
z=\$\$(\$(VLC_CONFIG) --list plugin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_plugin.la;; esac; done; \\
|
2006-02-24 03:41:36 +08:00
|
|
|
\`; case "\$\$targets" in *lib*) \$(MAKE) \$(AM_MAKEFLAGS) \$\$targets || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; ;; esac; \\
|
|
|
|
test -z "\$\$fail"
|
|
|
|
else
|
2003-10-25 11:44:46 +08:00
|
|
|
@set fnord \$\$MAKEFLAGS; amf=\$\$2; targets=\`\\
|
2006-10-20 03:52:49 +08:00
|
|
|
z=\$\$(\$(VLC_CONFIG) --list plugin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}_plugin\$(LIBEXT);; esac; done; \\
|
|
|
|
z=\$\$(\$(VLC_CONFIG) --list builtin); for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo lib\$\${mod}.a;; esac; done; \\
|
2003-10-25 11:44:46 +08:00
|
|
|
\`; case "\$\$targets" in *lib*) \$(MAKE) \$(AM_MAKEFLAGS) \$\$targets || case "\$\$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; ;; esac; \\
|
|
|
|
test -z "\$\$fail"
|
2006-02-24 03:41:36 +08:00
|
|
|
endif
|
2003-10-25 11:44:46 +08:00
|
|
|
|
2005-08-19 01:00:20 +08:00
|
|
|
# Build a plugin with the adequate linker and linker's flags
|
2007-07-20 01:28:35 +08:00
|
|
|
_plugin.la_plugin\$(LIBEXT):
|
2005-10-26 22:37:49 +08:00
|
|
|
@mod="\$*" ; mod=\$\${mod#lib} ; \
|
2007-07-20 21:13:53 +08:00
|
|
|
ldfl="\`\$(VLC_CONFIG) --libs plugin \$\$mod\` \$(LIBVLC) -u \$(SYMPREF)\$(VLC_ENTRY)" ; \
|
2005-08-19 01:00:20 +08:00
|
|
|
case \`\$(VLC_CONFIG) --linkage \$\$mod\` in \\
|
|
|
|
c++) ld="\$(CXXLINK)" ;; \
|
|
|
|
objc) ld="\$(OBJCLINK)" ;; \
|
|
|
|
c|*) ld="\$(LINK)" ;; \
|
|
|
|
esac ; \
|
|
|
|
echo \$\$ld \$< \$\$ldfl ; \
|
|
|
|
\$\$ld \$< \$\$ldfl
|
2007-07-20 01:28:35 +08:00
|
|
|
@if test -f "\$@.exe"; then mv -f -- "\$@.exe" "\$@"; fi
|
2005-08-19 01:00:20 +08:00
|
|
|
|
2005-09-23 20:09:46 +08:00
|
|
|
if MAINTAINER_MODE
|
2005-08-14 01:43:47 +08:00
|
|
|
\$(srcdir)/Makefile.am: \$(srcdir)/Modules.am \$(top_srcdir)/bootstrap
|
2005-08-13 16:12:37 +08:00
|
|
|
cd \$(top_srcdir) && \$(SHELL) ./bootstrap
|
2005-09-23 20:09:46 +08:00
|
|
|
endif
|
2005-08-13 16:12:37 +08:00
|
|
|
|
2005-08-18 23:36:12 +08:00
|
|
|
mostlyclean-local:
|
2006-02-28 23:29:42 +08:00
|
|
|
-rm -f *.la
|
2007-07-20 01:28:35 +08:00
|
|
|
if !USE_LIBTOOL
|
|
|
|
-rm -f *\$(LIBEXT)
|
2006-02-28 23:29:42 +08:00
|
|
|
endif
|
2005-08-18 23:36:12 +08:00
|
|
|
|
|
|
|
### automake creates libvlcdir after running install-*-local
|
|
|
|
### so we have to create it ourselves first
|
|
|
|
install-exec-local: all-modules
|
2006-02-24 03:41:36 +08:00
|
|
|
if USE_LIBTOOL
|
|
|
|
@if test -z "\$(libvlc_LTLIBRARIES)"; then \
|
2006-10-20 03:52:49 +08:00
|
|
|
z=\$\$(\$(VLC_CONFIG) --list plugin); \
|
2006-02-24 03:41:36 +08:00
|
|
|
m=\`for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo -n " lib\$\${mod}_plugin.la" ;; esac; done\` ; \
|
2006-02-28 04:29:39 +08:00
|
|
|
test -z "\$\$m" || \
|
2006-03-04 20:34:28 +08:00
|
|
|
\$(MAKE) \$(AM_MAKEFLAGS) libvlc_LTLIBRARIES="\$\$m" install-libvlcLTLIBRARIES || exit \$\$? ; \
|
2006-02-24 03:41:36 +08:00
|
|
|
fi
|
|
|
|
else
|
2005-08-19 22:27:52 +08:00
|
|
|
mkdir -p -- "\$(DESTDIR)\$(libvlcdir)"
|
2005-08-18 23:36:12 +08:00
|
|
|
@z=\$\$(\$(VLC_CONFIG) --list plugin); \
|
|
|
|
for mod in \$(mods); do \
|
|
|
|
case "\$\$z " \
|
|
|
|
in *\ \$\${mod}\ *) \
|
2005-08-19 23:18:24 +08:00
|
|
|
echo \$(INSTALL_PROGRAM) "lib\$\${mod}_plugin\$(LIBEXT)" "\$(DESTDIR)\$(libvlcdir)/" ; \
|
|
|
|
\$(INSTALL_PROGRAM) "lib\$\${mod}_plugin\$(LIBEXT)" "\$(DESTDIR)\$(libvlcdir)/" || exit \$\$?; \
|
2005-08-18 23:36:12 +08:00
|
|
|
;; \
|
|
|
|
esac; \
|
|
|
|
done
|
2006-02-24 03:41:36 +08:00
|
|
|
endif
|
2005-08-18 23:36:12 +08:00
|
|
|
|
|
|
|
uninstall-local:
|
2006-02-24 03:41:36 +08:00
|
|
|
if USE_LIBTOOL
|
|
|
|
@if test -z "\$(libvlc_LTLIBRARIES)"; then \
|
2006-10-20 03:52:49 +08:00
|
|
|
z=\$\$(\$(VLC_CONFIG) --list plugin); \
|
2006-02-24 03:41:36 +08:00
|
|
|
m=\`for mod in \$(mods); do case "\$\$z " in *\ \$\${mod}\ *) echo -n " lib\$\${mod}_plugin.la" ;; esac; done\` ; \
|
2006-02-28 04:29:39 +08:00
|
|
|
test -z "\$\$m" || \
|
2006-03-04 20:34:28 +08:00
|
|
|
\$(MAKE) \$(AM_MAKEFLAGS) libvlc_LTLIBRARIES="\$\$m" uninstall-libvlcLTLIBRARIES || exit \$\$?; \
|
2006-02-24 03:41:36 +08:00
|
|
|
fi
|
|
|
|
else
|
2005-08-18 23:36:12 +08:00
|
|
|
@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
|
2006-02-24 03:41:36 +08:00
|
|
|
endif
|
2005-08-18 23:36:12 +08:00
|
|
|
|
2002-09-30 19:05:42 +08:00
|
|
|
EOF
|
2005-08-13 16:12:37 +08:00
|
|
|
for mod in $mods
|
2002-09-30 19:05:42 +08:00
|
|
|
do
|
2005-08-13 16:12:37 +08:00
|
|
|
if grep '^nodist_SOURCES_'${mod}'' < "${modf}" >/dev/null 2>&1; then
|
2002-09-30 19:05:42 +08:00
|
|
|
NODIST=''; else
|
|
|
|
NODIST='#'; fi
|
2007-07-19 03:47:29 +08:00
|
|
|
cat >> m4/private.m4 << EOF
|
2003-06-27 21:50:13 +08:00
|
|
|
${mod}) list="\\\${list} ${dir}/lib${mod}" ;;
|
2002-09-30 19:05:42 +08:00
|
|
|
EOF
|
2003-06-27 21:50:13 +08:00
|
|
|
# Generation of modules/**/Makefile.am
|
|
|
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
2002-10-03 00:02:43 +08:00
|
|
|
# - L_ is for LIBRARIES_, D_ for DATA_, B_ for BUILT_SOURCES_, F_ for LDFLAGS_,
|
|
|
|
# S_ for SOURCES_, _p is for _plugin, _b is for _builtin. This is to reduce
|
|
|
|
# the resulting file size.
|
2003-06-27 21:50:13 +08:00
|
|
|
# - *_CFLAGS, *_CXXFLAGS etc. because per-object CPPFLAGS does not seem to
|
|
|
|
# work properly with any automake version I tested.
|
2005-08-13 16:12:37 +08:00
|
|
|
cat >> "${makf}" << EOF
|
2002-09-30 19:05:42 +08:00
|
|
|
# The ${mod} plugin
|
2003-07-01 20:50:56 +08:00
|
|
|
|
2003-07-08 00:53:48 +08:00
|
|
|
EOF
|
2005-08-13 16:12:37 +08:00
|
|
|
cat >> "${makf}" << EOF
|
2006-02-24 03:41:36 +08:00
|
|
|
lib${mod}_plugin_la_SOURCES = \$(SOURCES_${mod})
|
2003-06-27 21:50:13 +08:00
|
|
|
EOF
|
2005-08-13 16:12:37 +08:00
|
|
|
if [ "${NODIST}" != "#" ]; then cat >> "${makf}" << EOF
|
2006-02-24 03:41:36 +08:00
|
|
|
nodist_lib${mod}_plugin_la_SOURCES = \$(nodist_SOURCES_${mod})
|
2007-07-20 01:28:35 +08:00
|
|
|
CLEANFILES += "\$(nodist_SOURCES_${mod})"
|
|
|
|
BUILT_SOURCES += \$(B${mod})
|
2003-06-27 21:50:13 +08:00
|
|
|
EOF
|
|
|
|
fi
|
2005-08-13 16:12:37 +08:00
|
|
|
cat >> "${makf}" << EOF
|
2006-02-24 03:41:36 +08:00
|
|
|
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}\`
|
2007-07-20 21:13:53 +08:00
|
|
|
lib${mod}_plugin_la_LDFLAGS = \`\$(VLC_CONFIG) --libs plugin ${mod}\` \$(AM_LDFLAGS)
|
2007-07-20 21:24:54 +08:00
|
|
|
lib${mod}_plugin_la_LIBADD = \$(AM_LIBADD)
|
2002-09-30 19:05:42 +08:00
|
|
|
EOF
|
|
|
|
done
|
|
|
|
done
|
|
|
|
|
2007-07-19 03:47:29 +08:00
|
|
|
cat >> m4/private.m4 << EOF
|
2003-06-27 21:50:13 +08:00
|
|
|
BLAH
|
2003-06-22 01:04:20 +08:00
|
|
|
])
|
|
|
|
EOF
|
2002-09-30 19:05:42 +08:00
|
|
|
|
2002-08-26 07:18:05 +08:00
|
|
|
###
|
2002-09-30 19:05:42 +08:00
|
|
|
### classic bootstrap stuff
|
2002-08-26 07:18:05 +08:00
|
|
|
###
|
2002-08-27 04:49:50 +08:00
|
|
|
set -x
|
2003-03-18 00:59:47 +08:00
|
|
|
|
|
|
|
# remove autotools cruft
|
2003-07-17 21:09:46 +08:00
|
|
|
rm -f aclocal.m4 configure config.log config.h config.h.in
|
2005-08-20 20:30:12 +08:00
|
|
|
rm -Rf autom4te*.cache
|
2003-03-18 00:59:47 +08:00
|
|
|
# remove old autotools extra cruft
|
|
|
|
rm -f config.guess config.sub missing mkinstalldirs compile depcomp install-sh
|
|
|
|
# remove new autotools extra cruft
|
2004-07-30 23:46:01 +08:00
|
|
|
rm -Rf autotools
|
|
|
|
mkdir autotools
|
2003-03-18 00:59:47 +08:00
|
|
|
# remove libtool cruft
|
|
|
|
rm -f ltmain.sh libtool ltconfig
|
|
|
|
# remove gettext cruft
|
2003-07-17 21:09:46 +08:00
|
|
|
rm -f ABOUT-NLS
|
2002-10-16 23:10:39 +08:00
|
|
|
rm -Rf intl
|
2006-06-05 01:07:19 +08:00
|
|
|
# remove vlc cruft
|
2003-07-25 04:34:47 +08:00
|
|
|
rm -f stamp-builtin stamp-h* mozilla/stamp-pic
|
2002-08-26 09:01:13 +08:00
|
|
|
|
2003-11-04 23:31:44 +08:00
|
|
|
# Automake complains if these are not present
|
2003-06-27 21:50:13 +08:00
|
|
|
rm -f vlc-config.in && printf "" > vlc-config.in
|
2003-11-04 23:31:44 +08:00
|
|
|
if [ "$GETTEXT" != "yes" ]; then
|
|
|
|
test -d intl || mkdir intl
|
|
|
|
printf "" > intl/Makefile.am
|
|
|
|
printf "" > ABOUT-NLS
|
|
|
|
fi
|
2003-06-27 21:50:13 +08:00
|
|
|
|
2006-02-24 03:41:36 +08:00
|
|
|
# Libtoolize directory
|
|
|
|
${libtoolize} --copy --force
|
|
|
|
if test -f "ltmain.sh"; then
|
|
|
|
echo "$0: working around a minor libtool issue"
|
|
|
|
mv ltmain.sh autotools/
|
|
|
|
fi
|
|
|
|
|
2006-12-14 21:53:31 +08:00
|
|
|
# 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
|
|
|
|
|
2002-08-28 22:22:17 +08:00
|
|
|
# Do the rest
|
2003-07-25 04:34:47 +08:00
|
|
|
${autopoint} -f
|
2004-07-05 22:18:51 +08:00
|
|
|
${aclocal} ${ACLOCAL_ARGS}
|
2003-07-25 04:34:47 +08:00
|
|
|
${autoconf}
|
|
|
|
${autoheader}
|
2006-06-05 02:09:30 +08:00
|
|
|
${automake} --add-missing --copy -Wall
|
* ALL: the first libvlc commit.
As for video output 4, this breaks almost everything, but I'll slowly
do what remains to be fixed during the weekend.
Changes in vlc:
===============
* vlc is now a very small program (20 lines) which uses the libvlc API;
it is quite simple for the moment but can be extended in the future.
* interfaces, decoders, video outputs, etc. are now almost the same
objects (yes, I know, this is C++ redone in C) and are structured in
a tree. More about this later, but basically it allows the following
nice features:
- several interfaces
- several playlists with several outputs
- input plugins spawning helper interfaces (will be used for DVD menus)
- anything spawning anything; I swear there are useful uses for this!
* libvlc can be used in other programs; I'm currently writing a Mozilla
plugin for my employer.
Things currently broken:
========================
* most interfaces, most ports
* the playlist handling (almost finished rewriting this though). This means
no file can be played from the GUI, you need to use the commandline. This
also means it segfaults at EOF, when exiting the program, and it sometimes
refuses to open a file when asked to.
2002-06-01 20:32:02 +08:00
|
|
|
|
|
|
|
##
|
2003-06-27 21:50:13 +08:00
|
|
|
## files which need to be regenerated
|
* ALL: the first libvlc commit.
As for video output 4, this breaks almost everything, but I'll slowly
do what remains to be fixed during the weekend.
Changes in vlc:
===============
* vlc is now a very small program (20 lines) which uses the libvlc API;
it is quite simple for the moment but can be extended in the future.
* interfaces, decoders, video outputs, etc. are now almost the same
objects (yes, I know, this is C++ redone in C) and are structured in
a tree. More about this later, but basically it allows the following
nice features:
- several interfaces
- several playlists with several outputs
- input plugins spawning helper interfaces (will be used for DVD menus)
- anything spawning anything; I swear there are useful uses for this!
* libvlc can be used in other programs; I'm currently writing a Mozilla
plugin for my employer.
Things currently broken:
========================
* most interfaces, most ports
* the playlist handling (almost finished rewriting this though). This means
no file can be played from the GUI, you need to use the commandline. This
also means it segfaults at EOF, when exiting the program, and it sometimes
refuses to open a file when asked to.
2002-06-01 20:32:02 +08:00
|
|
|
##
|
2003-06-27 21:50:13 +08:00
|
|
|
rm -f vlc-config.in vlc-config
|
2005-06-04 20:55:23 +08:00
|
|
|
rm -f src/misc/modules_builtin.h
|
* ALL: the first libvlc commit.
As for video output 4, this breaks almost everything, but I'll slowly
do what remains to be fixed during the weekend.
Changes in vlc:
===============
* vlc is now a very small program (20 lines) which uses the libvlc API;
it is quite simple for the moment but can be extended in the future.
* interfaces, decoders, video outputs, etc. are now almost the same
objects (yes, I know, this is C++ redone in C) and are structured in
a tree. More about this later, but basically it allows the following
nice features:
- several interfaces
- several playlists with several outputs
- input plugins spawning helper interfaces (will be used for DVD menus)
- anything spawning anything; I swear there are useful uses for this!
* libvlc can be used in other programs; I'm currently writing a Mozilla
plugin for my employer.
Things currently broken:
========================
* most interfaces, most ports
* the playlist handling (almost finished rewriting this though). This means
no file can be played from the GUI, you need to use the commandline. This
also means it segfaults at EOF, when exiting the program, and it sometimes
refuses to open a file when asked to.
2002-06-01 20:32:02 +08:00
|
|
|
|
2003-07-05 22:47:53 +08:00
|
|
|
# Shut up
|
2002-10-02 20:59:59 +08:00
|
|
|
set +x
|
* ALL: the first libvlc commit.
As for video output 4, this breaks almost everything, but I'll slowly
do what remains to be fixed during the weekend.
Changes in vlc:
===============
* vlc is now a very small program (20 lines) which uses the libvlc API;
it is quite simple for the moment but can be extended in the future.
* interfaces, decoders, video outputs, etc. are now almost the same
objects (yes, I know, this is C++ redone in C) and are structured in
a tree. More about this later, but basically it allows the following
nice features:
- several interfaces
- several playlists with several outputs
- input plugins spawning helper interfaces (will be used for DVD menus)
- anything spawning anything; I swear there are useful uses for this!
* libvlc can be used in other programs; I'm currently writing a Mozilla
plugin for my employer.
Things currently broken:
========================
* most interfaces, most ports
* the playlist handling (almost finished rewriting this though). This means
no file can be played from the GUI, you need to use the commandline. This
also means it segfaults at EOF, when exiting the program, and it sometimes
refuses to open a file when asked to.
2002-06-01 20:32:02 +08:00
|
|
|
|
2002-08-28 20:50:13 +08:00
|
|
|
##
|
2003-03-20 18:27:35 +08:00
|
|
|
## Tell the user about gettext, pkg-config and sed
|
2002-08-28 20:50:13 +08:00
|
|
|
##
|
2005-10-26 22:31:03 +08:00
|
|
|
if [ "${GETTEXT}" = "old" ]; then
|
2005-09-23 19:47:52 +08:00
|
|
|
cat << EOF
|
2002-12-17 22:39:05 +08:00
|
|
|
|
|
|
|
==========================================================
|
|
|
|
NOTE: you have an old version of gettext installed on your
|
2002-12-26 06:36:14 +08:00
|
|
|
system. The vlc build will work, but if your system does not
|
|
|
|
have libintl you will not have internationalization support.
|
2003-06-23 18:21:25 +08:00
|
|
|
We suggest upgrading to gettext 0.11.5 or later.
|
2002-12-17 22:39:05 +08:00
|
|
|
EOF
|
2005-09-23 19:47:52 +08:00
|
|
|
fi
|
2002-08-28 20:50:13 +08:00
|
|
|
|
2005-10-26 22:31:03 +08:00
|
|
|
if [ "$PKGCONFIG" = "no" ]; then
|
2005-09-23 19:47:52 +08:00
|
|
|
cat << EOF
|
2003-03-20 18:27:35 +08:00
|
|
|
|
|
|
|
==============================================================
|
|
|
|
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
|
2005-09-23 19:47:52 +08:00
|
|
|
fi
|
2003-03-20 18:27:35 +08:00
|
|
|
|