Commit 460360a8 authored by Sam Hocevar's avatar Sam Hocevar

  * Added a dummy libdvdcss so that the DVD plugin can be used without
    libdvdcss. It will try to dlopen() libdvdcss at runtime, though,
    and will use the dummy functions only if it couldn't find a valid
    libdvdcss. This is probably only useful to package maintainers.

  * Tidied the snapshot-* Makefile rules.
  * Tidied the modules Makefiles.
  * Removed useless stuff in the debian/ directory.
  * Removed the "make all" kludge in the Makefile.opts rule. I hope this
    patch is harmless on all systems.
parent f82f7f25
......@@ -125,6 +125,7 @@ D: Bug fixes
N: Jon Lech Johansen
E: jon-vl@nanocrew.net
C: jlj
D: PS input fixes
D: Win32 DVD input port
D: QNX RTOS plug-in
......
This diff is collapsed.
......@@ -3,6 +3,8 @@
# (c)1998 VideoLAN
###############################################################################
HAVE_MAKEFILE_OPTS = 1
###############################################################################
# Configuration
###############################################################################
......@@ -96,6 +98,7 @@ CFLAGS_X11 = @CFLAGS_X11@
#
# Other special cases
#
OBJ_DVD = @OBJ_DVD@
LOCAL_LIBDVDCSS = @LOCAL_LIBDVDCSS@
###############################################################################
......
README for libdvdcss, a portable abstraction library for DVD decryption
Introduction
============
libdvdcss is part of the VideoLAN project, a full MPEG2 client/server
solution. The VideoLAN Client can also be used as a standalone program
to play MPEG2 streams from a hard disk or a DVD.
Building, Installing and Running libdvdcss
==========================================
See the INSTALL or INSTALL.libdvdcss file for this.
Troubleshooting
===============
A mailing-list has been set up for support and discussion about vlc and
libdvdcss. Its address is :
<vlc@videolan.org>
To subscribe, send a mail to <listar@videolan.org> with the following
words in the mail body :
subscribe vlc
To unsubscribe, do the same with the words :
unsubscribe vlc
When reporting bugs, try to be as precise as possible (which OS, which
distribution, what plugins you were trying, and so on).
Resources
=========
The VideoLAN web site at http://www.videolan.org/ is a good start for
information about MPEG and DVD playing. Have a look at the documentation
section, as well as the bookmarks.
This diff is collapsed.
dnl Autoconf settings for vlc and libdvdcss
AC_INIT(include/main.h)
AC_INIT(include/common.h)
AC_CONFIG_HEADER(include/defs.h)
AC_CANONICAL_HOST
VLC_VERSION=0.2.81
AC_SUBST(VLC_VERSION)
LIBDVDCSS_VERSION=0.0.2
AC_SUBST(LIBDVDCSS_VERSION)
VLC_CODENAME=Ourumov
AC_SUBST(VLC_CODENAME)
HAVE_VLC=0
if test -r src/interface/main.c; then
HAVE_VLC=1
VLC_VERSION=0.2.81
AC_SUBST(VLC_VERSION)
VLC_CODENAME=Ourumov
AC_SUBST(VLC_CODENAME)
fi
HAVE_LIBDVDCSS=0
if test -r extras/libdvdcss/libdvdcss.c; then
HAVE_LIBDVDCSS=1
LIBDVDCSS_VERSION=0.0.2
AC_SUBST(LIBDVDCSS_VERSION)
fi
dnl Save CFLAGS
save_CFLAGS="${CFLAGS}"
......@@ -109,7 +118,7 @@ void foo() { int meuh; ntohl(meuh); }],,
AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
dnl Check for inline function size limit
CFLAGS="${save_CFLAGS} -finline-limit=12"
CFLAGS="${save_CFLAGS} -finline-limit=31337"
AC_MSG_CHECKING([if \$CC accepts -finline-limit])
AC_TRY_COMPILE([],,
save_CFLAGS="${save_CFLAGS} -finline-limit=31337"; AC_MSG_RESULT(yes),
......@@ -177,14 +186,17 @@ dnl
dnl libdvdcss: check for DVD ioctls
dnl
dnl default is no
CAN_BUILD_LIBDVDCSS=0
dnl for windoze
AC_CHECK_HEADERS(winioctl.h,[
CAN_BUILD_LIBDVDCSS=1
CAN_BUILD_LIBDVDCSS="${HAVE_LIBDVDCSS}"
])
dnl for Un*x
dnl for Un*x and BeOS
AC_CHECK_HEADERS(sys/ioctl.h,[
CAN_BUILD_LIBDVDCSS=1
CAN_BUILD_LIBDVDCSS="${HAVE_LIBDVDCSS}"
AC_CHECK_HEADERS(sys/cdio.h sys/dvdio.h linux/cdrom.h)
BSD_DVD_STRUCT=0
dnl
......@@ -216,6 +228,7 @@ AC_CHECK_HEADERS(sys/ioctl.h,[
])
])
dnl
dnl Check the operating system
dnl
......@@ -318,8 +331,9 @@ dnl DVD module: check for installed libdvdcss or local libdvdcss
dnl
LOCAL_LIBDVDCSS=0
STATIC_LIBDVDCSS=0
DUMMY_LIBDVDCSS=0
AC_ARG_WITH(dvdcss,
[ --with-dvdcss[=name] way to use libdvdcss, either local-static, local-shared or a path to another libdvdcss such as /usr/local (default local-static)],
[ --with-dvdcss[=name] way to use libdvdcss, either 'yes' or 'no', or 'local-static', 'local-shared', or a path to another libdvdcss such as '/usr/local' (default 'local-static')],
[ case "x${withval}" in
xlocal-static|xyes)
# local libdvdcss, statically linked
......@@ -344,6 +358,15 @@ AC_ARG_WITH(dvdcss,
LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -L../../lib -ldvdcss"
fi
;;
xno)
# don't use libdvdcss at all, build a DVD module that can dlopen() it
DUMMY_LIBDVDCSS=1
BUILTINS="${BUILTINS} dvd"
OBJ_DVD="${OBJ_DVD} dummy_dvdcss.o"
CFLAGS_DVD="${CFLAGS_DVD} -DGOD_DAMN_DMCA"
LIB_DVD="${LIB_DVD} -ldl"
LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -ldl"
;;
*)
# existing libdvdcss
BUILTINS="${BUILTINS} dvd"
......@@ -356,6 +379,7 @@ AC_ARG_WITH(dvdcss,
LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -ldvdcss"
esac ],
# user didn't decide, we choose to use local libdvdcss and link statically
# if libdvdcss is in the archive, or to use the dummy replacement otherwise.
[ if test x${CAN_BUILD_LIBDVDCSS} = x1
then
LOCAL_LIBDVDCSS=1
......@@ -364,25 +388,16 @@ AC_ARG_WITH(dvdcss,
CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss"
LIB_DVD="${LIB_DVD} lib/libdvdcss.a"
LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} ../../lib/libdvdcss.a"
else
# XXX: no check for libdl is done, don't try this at home !
DUMMY_LIBDVDCSS=1
BUILTINS="${BUILTINS} dvd"
OBJ_DVD="${OBJ_DVD} dummy_dvdcss.o"
CFLAGS_DVD="${CFLAGS_DVD} -DGOD_DAMN_DMCA"
LIB_DVD="${LIB_DVD} -ldl"
LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -ldl"
fi ])
dnl
dnl CSS DVD decryption (for libdvdcss)
dnl
CSS=0
AC_ARG_ENABLE(css,
[ --disable-css Disable DVD CSS decryption (default enabled)],
[ if test x$enableval = xyes
then
CSS=1
fi ],
[ CSS=1; ])
if test x${CSS} = x1
then
AC_DEFINE(HAVE_CSS, 1, Define if you want DVD CSS decryption.)
fi
dnl
dnl dummy plugin
dnl
......@@ -502,7 +517,10 @@ dnl Linux framebuffer module
dnl
AC_ARG_ENABLE(fb,
[ --enable-fb Linux framebuffer support (default disabled)],
[if test x$enable_fb = xyes; then PLUGINS="${PLUGINS} fb"; fi])
[ if test x$enable_fb = xyes
then
PLUGINS="${PLUGINS} fb"
fi ])
dnl
dnl GGI module
......@@ -767,7 +785,6 @@ AC_SUBST(TRACE)
AC_SUBST(PROFILING)
AC_SUBST(OPTIMS)
AC_SUBST(GETOPT)
AC_SUBST(CSS)
AC_SUBST(MOC)
AC_SUBST(WINDRES)
......@@ -804,6 +821,8 @@ AC_SUBST(CFLAGS_GTK)
AC_SUBST(CFLAGS_SDL)
AC_SUBST(CFLAGS_X11)
AC_SUBST(OBJ_DVD)
AC_SUBST(LOCAL_LIBDVDCSS)
AC_OUTPUT([Makefile.opts include/config.h])
......@@ -813,8 +832,11 @@ global configuration
--------------------
system : ${SYS}
architecture : ${ARCH}
optimizations : ${OPTIMS}
optimizations : ${OPTIMS}"
if test x${HAVE_VLC} = x1
then
echo "
vlc configuration
-----------------
vlc version : ${VLC_VERSION}
......@@ -825,20 +847,32 @@ profiling : ${PROFILING}
need builtin getopt : ${GETOPT}
built-in modules :${BUILTINS}
plugin modules :${PLUGINS}
vlc aliases :${ALIASES}
vlc aliases :${ALIASES}"
fi
echo "
libdvdcss configuration
-----------------------
need to be built : ${LOCAL_LIBDVDCSS}"
can be built : ${CAN_BUILD_LIBDVDCSS}
will be built : ${LOCAL_LIBDVDCSS}"
if test x${LOCAL_LIBDVDCSS} = x1
then
echo "link statically : ${STATIC_LIBDVDCSS}
CSS decryption : ${CSS}"
echo "link statically : ${STATIC_LIBDVDCSS}"
else
echo "use dummy replacement : ${DUMMY_LIBDVDCSS}"
fi
echo "
You may now tune Makefile.opts at your convenience. To build vlc and its
plugins, type \`make vlc plugins'. If you want to build libdvdcss only,
type \`make libdvdcss'."
You may now tune Makefile.opts at your convenience, for instance to choose
which modules get compiled as plugins.
"
if test x${HAVE_VLC} = x1
then
echo "To build vlc and its plugins, type \`make vlc'."
fi
if test x${HAVE_LIBDVDCSS} = x1
then
echo "To build libdvdcss only, type \`make libdvdcss'."
fi
echo ""
vlc-css (0.2.81-1) unstable; urgency=low
* New upstream release.
-- Samuel Hocevar <sam@zoy.org> Sat, 28 Jul 2001 04:13:57 +0200
vlc-css (0.2.80-1) unstable; urgency=low
* New upstream release.
-- Samuel Hocevar <sam@zoy.org> Tue, 5 Jun 2001 04:41:06 +0200
vlc-css (0.2.73-2) unstable; urgency=low
* We now build without MMX in the main application (Closes: #96036).
-- Samuel Hocevar <sam@zoy.org> Fri, 4 May 2001 07:13:04 +0200
vlc-css (0.2.73-1) unstable; urgency=low
* New upstream release.
-- Samuel Hocevar <sam@zoy.org> Sat, 28 Apr 2001 07:02:35 +0200
vlc-css (0.2.72-1) unstable; urgency=low
* New upstream release.
-- Samuel Hocevar <sam@zoy.org> Mon, 16 Apr 2001 14:33:53 +0200
vlc-css (0.2.71-1) unstable; urgency=low
* New upstream release.
-- Samuel Hocevar <sam@zoy.org> Fri, 13 Apr 2001 08:13:26 +0200
vlc-css (0.2.70-1) unstable; urgency=low
* New upstream release.
-- Samuel Hocevar <sam@zoy.org> Sat, 7 Apr 2001 05:52:00 +0200
vlc-css (0.2.63-3) unstable; urgency=low
* New vlc package.
-- Samuel Hocevar <sam@zoy.org> Wed, 7 Mar 2001 20:47:48 +0100
vlc-css (0.2.63-2) unstable; urgency=low
* Fixed versioned dependencies against vlc.
-- Samuel Hocevar <sam@zoy.org> Mon, 5 Mar 2001 21:37:19 +0100
vlc-css (0.2.63-1) unstable; urgency=low
* New upstream release.
-- Samuel Hocevar <sam@zoy.org> Mon, 5 Mar 2001 00:41:16 +0100
vlc-css (0.2.62-2) unstable; urgency=low
* Removed a few lintian warnings.
-- Samuel Hocevar <sam@zoy.org> Sat, 3 Mar 2001 10:29:31 +0100
vlc-css (0.2.62-1) unstable; urgency=low
* Initial Release.
-- Samuel Hocevar <sam@zoy.org> Fri, 2 Mar 2001 17:58:26 +0100
Local variables:
mode: debian-changelog
End:
......@@ -2,7 +2,7 @@ Source: vlc
Section: graphics
Priority: optional
Maintainer: Samuel Hocevar <sam@zoy.org>
Build-Depends: debhelper (>=2.2.0), xlibs-dev, libgnome-dev, libggi2-dev, libglide3-dev [i386], libesd0-dev, libsdl1.2-dev, libqt-dev, libasound1-dev
Build-Depends: debhelper (>=2.2.0), xlibs-dev, libgnome-dev, libggi2-dev, libglide3-dev [i386], libesd0-dev, libsdl1.2-dev, libqt-dev, libasound2-dev
Standards-Version: 3.0.1
Package: vlc
......@@ -12,9 +12,28 @@ Suggests: vlc-sdl, vlc-esd, vlc-gnome
Description: a free MPEG and DVD player
VideoLAN is a free MPEG, MPEG2 and DVD software solution.
.
This is vlc, the VideoLAN Client. It plays MPEG and MPEG2 files, unencrypted
This is vlc, the VideoLAN Client. It plays MPEG and MPEG2 files,
DVDs, or MPEG streams from a network source.
Package: libdvdcss0.0.2
Architecture: any
Depends: ${shlibs:Depends}
Description: a portable abstraction library for DVD decryption
libdvdcss is a portable abstraction library for DVD decryption, it
provides a simple API to access a DVD device as a block device.
.
This package contains the libdvdcss0 runtime library.
Package: libdvdcss0.0.2-dev
Architecture: any
Depends: libdvdcss0.0.2 (= ${Source-Version}), libc6-dev
Description: development files for libdvdcss0
libdvdcss is a portable abstraction library for DVD decryption, it
provides a simple API to access a DVD device as a block device.
.
This package contains the header files and static library needed to
compile applications that use libdvdcss0.
Package: vlc-gnome
Architecture: any
Depends: vlc (= ${Source-Version}), ${shlibs:Depends}
......@@ -44,6 +63,15 @@ Description: Esound plugin for vlc
This plugin adds support for the Enlightened Sound Daemon to
vlc, the VideoLAN Client.
Package: vlc-alsa
Architecture: any
Depends: vlc (= ${Source-Version}), ${shlibs:Depends}
Description: ALSA plugin for vlc
VideoLAN is a free MPEG, MPEG2 and DVD software solution.
.
This plugin adds support for the Advanced Linux Sound Architecture to
vlc, the VideoLAN Client.
Package: vlc-sdl
Architecture: any
Depends: vlc (= ${Source-Version}), ${shlibs:Depends}
......
Source: vlc-css
Section: non-US/main
Priority: optional
Maintainer: Samuel Hocevar <sam@zoy.org>
Build-Depends: debhelper (>=2.2.0)
Standards-Version: 3.0.1
Package: vlc-css
Architecture: any
Depends: ${shlibs:Depends}, vlc (= ${Source-Version})
Description: CSS plugin for vlc
VideoLAN is a free MPEG, MPEG2 and DVD software solution.
.
This plugin adds DVD support with CSS decryption to vlc, the VideoLAN Client.
usr/include/videolan
usr/lib
usr/share/doc
usr/lib
usr/share/doc/libdvdcss0
AUTHORS
README.libdvdcss
TODO
......@@ -8,24 +8,28 @@
# This is the debhelper compatability version to use.
export DH_COMPAT=3
# Compilation options
export CONFIG_FLAGS="--prefix=/usr --enable-gnome --enable-gtk --enable-fb --with-ggi --with-sdl --enable-esd --enable-alsa --enable-qt"
export LIBDVDCSS_FLAGS="--with-dvdcss=local-shared"
export VIDDIR="usr/share/videolan"
export PIXDIR="usr/share/pixmaps"
export GNOMEDIR="usr/share/gnome/apps/Multimedia"
build: build-stamp
build-stamp:
dh_testdir
if [ $(DEB_BUILD_ARCH) = i386 ]; then \
./configure --prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--enable-gnome --enable-gtk --enable-fb --with-glide \
--with-ggi --with-sdl --enable-esd \
--enable-qt --disable-ppro ; \
./configure --mandir=$${prefix}/share/man \
--infodir=$${prefix}/share/info \
$(shell echo $(CONFIG_FLAGS)) \
$(shell echo $(LIBDVDCSS_FLAGS)) \
--with-glide --disable-ppro ; \
else \
./configure --prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--enable-gnome --enable-gtk --enable-fb \
--with-ggi --with-sdl --enable-esd \
--enable-qt ; \
./configure --mandir=$${prefix}/share/man \
--infodir=$${prefix}/share/info \
$(shell echo $(CONFIG_FLAGS)) \
$(shell echo $(LIBDVDCSS_FLAGS)) ; \
fi
$(MAKE)
......@@ -49,67 +53,44 @@ install: build
DESTDIR=`pwd`/debian/vlc/ $(MAKE) install prefix=/usr
# get rid of libdvdcss for the moment
rm -f debian/vlc/usr/lib/libdvdcss*
rm -Rf debian/vlc/usr/include
# make symlinks for packages
aliases="ggi gtk gnome esd sdl qt" ; \
if [ $(DEB_BUILD_ARCH) = i386 ]; then aliases=$$aliases" glide" ; fi ; \
for alias in `echo $$aliases` ; do \
mkdir -p debian/vlc-$$alias/usr/share/doc/ ; \
# make symlinks for packages and install plugins
for alias in ggi gtk gnome esd sdl qt alsa `if [ $(DEB_BUILD_ARCH) = i386 ]; then echo glide ; fi` ; do \
ln -s vlc debian/vlc-$$alias/usr/share/doc/vlc-$$alias ; \
mkdir -p debian/vlc-$$alias/usr/lib/videolan/vlc/ ; \
mv debian/vlc/usr/lib/videolan/vlc/$$alias.so \
debian/vlc-$$alias/usr/lib/videolan/vlc/ ; done
mkdir -p debian/vlc-gtk/usr/bin/
mv debian/vlc/usr/bin/gvlc debian/vlc-gtk/usr/bin/
mkdir -p debian/vlc-gnome/usr/bin/
mv debian/vlc/usr/bin/gnome-vlc debian/vlc-gnome/usr/bin/
mkdir -p debian/vlc-qt/usr/bin/
mv debian/vlc/usr/bin/qvlc debian/vlc-qt/usr/bin/
mkdir -p debian/vlc/usr/share/pixmaps/
mv debian/vlc/usr/share/videolan/vlc.png \
debian/vlc/usr/share/pixmaps/
mkdir -p debian/vlc/usr/share/gnome/apps/Multimedia/
cp debian/vlc.desktop debian/vlc/usr/share/gnome/apps/Multimedia/
mkdir -p debian/vlc-gtk/usr/share/videolan/ \
debian/vlc-gtk/usr/share/pixmaps/
mv debian/vlc/usr/share/videolan/gvlc.xpm \
debian/vlc-gtk/usr/share/videolan/
mv debian/vlc/usr/share/videolan/gvlc.png \
debian/vlc-gtk/usr/share/pixmaps/
mkdir -p debian/vlc-gtk/usr/share/gnome/apps/Multimedia/
cp debian/gvlc.desktop debian/vlc-gtk/usr/share/gnome/apps/Multimedia/
mkdir -p debian/vlc-gnome/usr/share/videolan/ \
debian/vlc-gnome/usr/share/pixmaps/
mv debian/vlc/usr/share/videolan/gnome-vlc.xpm \
debian/vlc-gnome/usr/share/videolan/
mv debian/vlc/usr/share/videolan/gnome-vlc.png \
debian/vlc-gnome/usr/share/pixmaps/
mkdir -p debian/vlc-gnome/usr/share/gnome/apps/Multimedia/
cp debian/gnome-vlc.desktop debian/vlc-gnome/usr/share/gnome/apps/Multimedia/
mkdir -p debian/vlc-qt/usr/share/videolan/ \
debian/vlc-qt/usr/share/pixmaps/
mv debian/vlc/usr/share/videolan/qvlc.xpm \
debian/vlc-qt/usr/share/videolan/
mv debian/vlc/usr/share/videolan/qvlc.png \
debian/vlc-qt/usr/share/pixmaps/
mkdir -p debian/vlc/usr/share/man/man1/
gzip -9 < doc/vlc.1 >| debian/vlc/usr/share/man/man1/vlc.1.gz
mkdir -p debian/vlc-gtk/usr/share/man/man1/
mv debian/vlc/$(VIDDIR)/vlc.png debian/vlc/$(PIXDIR)
mv debian/vlc/$(VIDDIR)/gvlc.xpm debian/vlc-gtk/$(VIDDIR)
mv debian/vlc/$(VIDDIR)/gvlc.png debian/vlc-gtk/$(PIXDIR)
mv debian/vlc/$(VIDDIR)/gnome-vlc.xpm debian/vlc-gnome/$(VIDDIR)
mv debian/vlc/$(VIDDIR)/gnome-vlc.png debian/vlc-gnome/$(PIXDIR)
mv debian/vlc/$(VIDDIR)/qvlc.xpm debian/vlc-qt/$(VIDDIR)
mv debian/vlc/$(VIDDIR)/qvlc.png debian/vlc-qt/$(PIXDIR)
cp debian/vlc.desktop debian/vlc/$(GNOMEDIR)
cp debian/gvlc.desktop debian/vlc-gtk/$(GNOMEDIR)
cp debian/gnome-vlc.desktop debian/vlc-gnome/$(GNOMEDIR)
#gzip -9 < doc/vlc.1 >| debian/vlc/usr/share/man/man1/vlc.1.gz
ln -s vlc.1.gz debian/vlc-gtk/usr/share/man/man1/gvlc.1.gz
mkdir -p debian/vlc-gnome/usr/share/man/man1/
ln -s vlc.1.gz debian/vlc-gnome/usr/share/man/man1/gnome-vlc.1.gz
mkdir -p debian/vlc-qt/usr/share/man/man1/
ln -s vlc.1.gz debian/vlc-qt/usr/share/man/man1/qvlc.1.gz
# libdvdcss start
mv debian/vlc/usr/include/videolan/dvdcss.h \
debian/libdvdcss0.0.2-dev/usr/include/videolan
rmdir debian/vlc/usr/include/videolan
rmdir debian/vlc/usr/include
mv debian/vlc/usr/lib/*.a debian/libdvdcss0.0.2-dev/usr/lib
mv debian/vlc/usr/lib/*.so debian/libdvdcss0.0.2-dev/usr/lib
mv debian/vlc/usr/lib/*.so.* debian/libdvdcss0.0.2/usr/lib
ln -s libdvdcss0.0.2 debian/libdvdcss0.0.2-dev/usr/share/doc/libdvdcss0.0.2-dev
# libdvdcss stop
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
......@@ -121,16 +102,17 @@ binary-arch: build install
dh_testroot
# dh_installdebconf
dh_installdocs
dh_installexamples
# dh_installexamples
dh_installmenu
# dh_installemacsen
# dh_installpam
# dh_installinit
#dh_installcron
# dh_installmanpages -Nvlc-gnome -Nvlc-gtk -Nvlc-ggi -Nvlc-glide -Nvlc-esd -Nvlc-sdl -Nvlc-qt doc/vlc.1
#dh_installinfo
# dh_installcron
# dh_installmanpages -Nvlc-gnome -Nvlc-gtk -Nvlc-ggi -Nvlc-glide -Nvlc-esd -Nvlc-alsa -Nvlc-sdl -Nvlc-qt doc/vlc.1
dh_installman doc/vlc.1
# dh_installinfo
# dh_undocumented
dh_installchangelogs -Nvlc-gnome -Nvlc-gtk -Nvlc-ggi -Nvlc-glide -Nvlc-esd -Nvlc-sdl -Nvlc-qt
dh_installchangelogs -Nvlc-gnome -Nvlc-gtk -Nvlc-ggi -Nvlc-glide -Nvlc-esd -Nvlc-alsa -Nvlc-sdl -Nvlc-qt ChangeLog
dh_link
dh_strip
dh_compress
......
#!/usr/bin/make -f
# debian/rules for the VideoLAN Client - uses debhelper.
# based on Joey Hess's one.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This is the debhelper compatability version to use.
export DH_COMPAT=3
build: build-stamp
build-stamp:
dh_testdir
if [ $(DEB_BUILD_ARCH) = i386 ]; then \
./configure --prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--disable-gnome --disable-gtk --enable-fb --without-glide \
--without-ggi --without-sdl --disable-esd --disable-alsa \
--disable-ppro ; \
else \
./configure --prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--disable-gnome --disable-gtk --enable-fb --without-ggi \
--without-sdl --disable-esd --disable-alsa; \
fi
$(MAKE) lib/dvd.so
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
-$(MAKE) distclean
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# make symlinks for packages
mkdir -p debian/vlc-css/usr/share/doc/
ln -s vlc debian/vlc-css/usr/share/doc/vlc-css
mkdir -p debian/vlc-css/usr/lib/videolan/vlc/
cp lib/dvd.so debian/vlc-css/usr/lib/videolan/vlc/dvd-css.so
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
# dh_testversion
dh_testdir
dh_testroot
# dh_installdebconf
dh_installdocs
dh_installexamples
# dh_installmenu
# dh_installemacsen
# dh_installpam
# dh_installinit
dh_installcron
# dh_installmanpages
dh_installinfo
# dh_undocumented
dh_installchangelogs
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_makeshlibs
dh_installdeb
# dh_perl
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
usr/bin
usr/lib/videolan/vlc
usr/share/videolan
usr/share/doc/vlc
usr/share/gnome/apps/Multimedia
usr/share/pixmaps
usr/share/videolan
usr/share/man/man1
......@@ -5,8 +5,10 @@
-include ../../Makefile.opts
LIBDVDCSS_VERSION = 0.0.1
LIBDVDCSS_MAJOR = 0
BASE_A := libdvdcss.a
BASE_SO := libdvdcss.so
MAJOR_SO := libdvdcss.so.$(shell echo $(LIBDVDCSS_VERSION) | cut -f1 -d.)
FULL_SO := libdvdcss.so.$(LIBDVDCSS_VERSION)
#
# Objects
......@@ -21,30 +23,30 @@ $(LIBDVDCSS_O): %.o: .dep/%.d
$(LIBDVDCSS_O): %.o: %.c
$(CC) $(CFLAGS) $(PCFLAGS) -c -o $@ $<
../../lib/libdvdcss.so.$(LIBDVDCSS_VERSION): $(LIBDVDCSS_O)
$(CC) $(PCFLAGS) -Wl,-soname -Wl,libdvdcss.so.$(LIBDVDCSS_MAJOR) -o $@ $^ $(PLCFLAGS)
rm -f ../../lib/libdvdcss.so && ln -s libdvdcss.so.$(LIBDVDCSS_VERSION) ../../lib/libdvdcss.so
rm -f ../../lib/libdvdcss.so.$(LIBDVDCSS_MAJOR) && ln -s libdvdcss.so.$(LIBDVDCSS_VERSION) ../../lib/libdvdcss.so.$(LIBDVDCSS_MAJOR)
../../lib/$(FULL_SO): $(LIBDVDCSS_O)
$(CC) $(PCFLAGS) -Wl,-soname -Wl,$(MAJOR_SO) -o $@ $^ $(PLCFLAGS)
rm -f ../../lib/$(BASE_SO) && ln -s $(FULL_SO) ../../lib/$(BASE_SO)
rm -f ../../lib/$(MAJOR_SO) && ln -s $(FULL_SO) ../../lib/$(MAJOR_SO)
../../lib/libdvdcss.a: $(LIBDVDCSS_O)
../../lib/$(BASE_A): $(LIBDVDCSS_O)
ar r $@ $^
$(RANLIB) $@
all: ../../lib/libdvdcss.so.$(LIBDVDCSS_VERSION) ../../lib/libdvdcss.a
all: ../../lib/$(FULL_SO) ../../lib/$(BASE_A)
install:
mkdir -p $(DESTDIR)$(includedir)/videolan
$(INSTALL) -m 644 videolan/dvdcss.h $(DESTDIR)$(includedir)/videolan
mkdir -p $(DESTDIR)$(libdir)
$(INSTALL) -m 644 ../../lib/libdvdcss.a $(DESTDIR)$(libdir)
$(INSTALL) -m 644 ../../lib/libdvdcss.so.$(LIBDVDCSS_VERSION) $(DESTDIR)$(libdir)
rm -f $(DESTDIR)$(libdir)/libdvdcss.so && ln -s libdvdcss.so.$(LIBDVDCSS_VERSION) $(DESTDIR)$(libdir)/libdvdcss.so
rm -f $(DESTDIR)$(libdir)/libdvdcss.so.$(LIBDVDCSS_MAJOR) && ln -s libdvdcss.so.$(LIBDVDCSS_VERSION) $(DESTDIR)$(libdir)/libdvdcss.so.$(LIBDVDCSS_MAJOR)
$(INSTALL) -m 644 ../../lib/$(BASE_A) $(DESTDIR)$(libdir)
$(INSTALL) -m 644 ../../lib/$(FULL_SO) $(DESTDIR)$(libdir)
rm -f $(DESTDIR)$(libdir)/$(BASE_SO) && ln -s $(FULL_SO) $(DESTDIR)$(libdir)/$(BASE_SO)
rm -f $(DESTDIR)$(libdir)/$(MAJOR_SO) && ln -s $(FULL_SO) $(DESTDIR)$(libdir)/$(MAJOR_SO)
uninstall:
rm -f $(DESTDIR)$(includedir)/videolan/dvdcss.h
rm -f $(DESTDIR)$(libdir)/libdvdcss.a
rm -f $(DESTDIR)$(libdir)/libdvdcss.so
rm -f $(DESTDIR)$(libdir)/libdvdcss.so.$(LIBDVDCSS_MAJOR)
rm -f $(DESTDIR)$(libdir)/libdvdcss.so.$(LIBDVDCSS_VERSION)
rm -f $(DESTDIR)$(libdir)/$(BASE_A)
rm -f $(DESTDIR)$(libdir)/$(BASE_SO)
rm -f $(DESTDIR)$(libdir)/$(MAJOR_SO)
rm -f $(DESTDIR)$(libdir)/$(FULL_SO)
......@@ -2,7 +2,7 @@
* css.c: Functions for DVD authentification and unscrambling
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: css.c,v 1.7 2001/07/27 01:05:17 sam Exp $
* $Id: css.c,v 1.8 2001/08/06 13:27:59 sam Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
*
......@@ -45,22 +45,18 @@
#include "videolan/dvdcss.h"
#include "libdvdcss.h"
#ifdef HAVE_CSS
# include "csstables.h"
#endif /* HAVE_CSS */
#include "csstables.h"
#include "ioctl.h"
/*****************************************************************************
* Local prototypes
*****************************************************************************/
#ifdef HAVE_CSS
static int CSSGetASF ( dvdcss_handle dvdcss );
static void CSSCryptKey ( int i_key_type, int i_varient,
u8 const * p_challenge, u8* p_key );
static int CSSCracker ( int i_start, unsigned char * p_crypted,
unsigned char * p_decrypted,
dvd_key_t * p_sector_key, dvd_key_t * p_key );
#endif /* HAVE_CSS */
/*****************************************************************************
* CSSTest : check if the disc is encrypted or not
......@@ -92,7 +88,6 @@ int CSSTest( dvdcss_handle dvdcss )
*****************************************************************************/
int CSSInit( dvdcss_handle dvdcss )
{
#ifdef HAVE_CSS
/* structures defined in cdrom.h or dvdio.h */
unsigned char p_buffer[2048 + 4 + 1];
char psz_warning[32];
......@@ -284,12 +279,7 @@ int CSSInit( dvdcss_handle dvdcss )
return -1;
}
#else /* HAVE_CSS */
_dvdcss_error( dvdcss, "CSS decryption is disabled in this library" );
#endif /* HAVE_CSS */
return -1;
}
/*****************************************************************************
......@@ -299,7 +289,6 @@ int CSSInit( dvdcss_handle dvdcss )
*****************************************************************************/
int CSSGetKey( dvdcss_handle dvdcss, int i_pos, dvd_key_t p_titlekey )
{
#ifdef HAVE_CSS
/*
* Title key cracking method from Ethan Hawke,
* with Frank A. Stevenson algorithm.
......@@ -376,12 +365,6 @@ int CSSGetKey( dvdcss_handle dvdcss, int i_pos, dvd_key_t p_titlekey )
}
return -1;
#else /* HAVE_CSS */
_dvdcss_error( dvdcss, "css decryption unavailable" );
return -1;
#endif /* HAVE_CSS */
}
/*****************************************************************************
......@@ -392,7 +375,6 @@ int CSSGetKey( dvdcss_handle dvdcss, int i_pos, dvd_key_t p_titlekey )
*****************************************************************************/
int CSSDescrambleSector( dvd_key_t p_key, u8* p_sec )
{
#ifdef HAVE_CSS
unsigned int i_t1, i_t2, i_t3, i_t4, i_t5, i_t6;
u8* p_end = p_sec + 0x800;
......@@ -427,15 +409,8 @@ int CSSDescrambleSector( dvd_key_t p_key, u8* p_sec )
}
return 0;
#else /* HAVE_CSS */
return 1;
#endif /* HAVE_CSS */
}
#ifdef HAVE_CSS
/* Following functions are local */
/*****************************************************************************
......@@ -810,5 +785,3 @@ static int CSSCracker( int i_start,
return i_exit;
}
#endif /* HAVE_CSS */
......@@ -2,7 +2,7 @@
* ioctl.c: DVD ioctl replacement function
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: ioctl.c,v 1.5 2001/07/25 00:23:40 sam Exp $
* $Id: ioctl.c,v 1.6 2001/08/06 13:28:00 sam Exp $
*
* Authors: Markus Kuespert <ltlBeBoy@beosmail.com>
* Samuel Hocevar <sam@zoy.org>
......@@ -979,3 +979,4 @@ static int WinSendSSC( int i_fd, struct SRB_ExecSCSICmd *p_ssc )
return p_ssc->SRB_Status == SS_COMP ? 0 : -1;
}
#endif
......@@ -2,7 +2,7 @@
* libdvdcss.c: DVD reading library.
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: libdvdcss.c,v 1.13 2001/07/30 18:56:35 gbazin Exp $
* $Id: libdvdcss.c,v 1.14 2001/08/06 13:28:00 sam Exp $
*
* Authors: Stphane Borel <stef@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
......@@ -29,6 +29,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
......
/* include/defs.h.in. Generated automatically from configure.in by autoheader. */
/* include/defs.h.in. Generated automatically from configure.in by autoheader 2.13. */
/* Define to empty if the keyword does not work. */
#undef const
......@@ -190,9 +190,6 @@
/* Define if <pth.h> defines pth_init */
#undef PTH_INIT_IN_PTH_H
/* Define if you want DVD CSS decryption. */
#undef HAVE_CSS
/* Indicate whether we should use SDL/SDL.h or SDL11/SDL.h */
#undef SDL_INCLUDE_FILE
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/alsa.so: $(PLUGIN_C)
../alsa.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_ALSA)
../../plugins/alsa.a: $(BUILTIN_C)
../alsa.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/beos.so: $(PLUGIN_CPP)
../beos.so: $(PLUGIN_CPP)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_BEOS)
../../plugins/beos.a: $(BUILTIN_CPP)
../beos.a: $(BUILTIN_CPP)
ar r $@ $^
$(RANLIB) $@
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/darwin.so: $(PLUGIN_C)
../darwin.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_DARWIN)
../../plugins/darwin.a: $(BUILTIN_C)
../darwin.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/directx.so: $(PLUGIN_C)
../directx.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_DIRECTX)
../../plugins/directx.a: $(BUILTIN_C)
../directx.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -40,24 +40,24 @@ $(BUILTIN_DOWNMIX3DN): BUILTIN_DOWNMIX3DN_%.o: %.c
# Real targets
#
../../plugins/downmix.so: $(PLUGIN_DOWNMIX)
../downmix.so: $(PLUGIN_DOWNMIX)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/downmix.a: $(BUILTIN_DOWNMIX)
../downmix.a: $(BUILTIN_DOWNMIX)
ar r $@ $^
$(RANLIB) $@
../../plugins/downmixsse.so: $(PLUGIN_DOWNMIXSSE)
../downmixsse.so: $(PLUGIN_DOWNMIXSSE)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/downmixsse.a: $(BUILTIN_DOWNMIXSSE)
../downmixsse.a: $(BUILTIN_DOWNMIXSSE)
ar r $@ $^
$(RANLIB) $@
../../plugins/downmix3dn.so: $(PLUGIN_DOWNMIX3DN)
../downmix3dn.so: $(PLUGIN_DOWNMIX3DN)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/downmix3dn.a: $(BUILTIN_DOWNMIX3DN)
../downmix3dn.a: $(BUILTIN_DOWNMIX3DN)
ar r $@ $^
$(RANLIB) $@
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/dsp.so: $(PLUGIN_C)
../dsp.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/dsp.a: $(BUILTIN_C)
../dsp.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -26,17 +26,17 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/null.so: $(PLUGIN_NULL)
../null.so: $(PLUGIN_NULL)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/null.a: $(BUILTIN_NULL)
../null.a: $(BUILTIN_NULL)
ar r $@ $^
$(RANLIB) $@
../../plugins/dummy.so: $(PLUGIN_DUMMY)
../dummy.so: $(PLUGIN_DUMMY)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/dummy.a: $(BUILTIN_DUMMY)
../dummy.a: $(BUILTIN_DUMMY)
ar r $@ $^
$(RANLIB) $@
......@@ -7,7 +7,7 @@
# Objects
#
PLUGIN_DVD = dvd.o input_dvd.o dvd_netlist.o dvd_ifo.o dvd_udf.o dvd_summary.o
PLUGIN_DVD = dvd.o input_dvd.o dvd_netlist.o dvd_ifo.o dvd_udf.o dvd_summary.o $(OBJ_DVD)
BUILTIN_DVD = $(PLUGIN_DVD:%.o=BUILTIN_%.o)
ALL_OBJ = $(PLUGIN_DVD) $(BUILTIN_DVD)
......@@ -31,17 +31,17 @@ $(BUILTIN_DVD): BUILTIN_%.o: %.c
#
ifeq (1,$(LOCAL_LIBDVDCSS))
../../plugins/dvd.so: libdvdcss $(PLUGIN_DVD)
../dvd.so: libdvdcss $(PLUGIN_DVD)
$(CC) $(PCFLAGS) -o $@ $(PLUGIN_DVD) $(PLCFLAGS) $(LIB_DVD_PLUGIN)
../../plugins/dvd.a: libdvdcss $(BUILTIN_DVD)
../dvd.a: libdvdcss $(BUILTIN_DVD)
ar r $@ $(BUILTIN_DVD)
$(RANLIB) $@
else
../../plugins/dvd.so: $(PLUGIN_DVD)
../dvd.so: $(PLUGIN_DVD)
$(CC) $(PCFLAGS) -o $@ $(PLUGIN_DVD) $(PLCFLAGS) $(LIB_DVD_PLUGIN)
../../plugins/dvd.a: $(BUILTIN_DVD)
../dvd.a: $(BUILTIN_DVD)
ar r $@ $(BUILTIN_DVD)
$(RANLIB) $@
endif
......
/*****************************************************************************
* dummy_dvdcss.c: Dummy libdvdcss with minimal DVD access.
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: dummy_dvdcss.c,v 1.1 2001/08/06 13:28:00 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
/*****************************************************************************
* Preamble
*****************************************************************************/
#include "defs.h"
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/uio.h> /* struct iovec */
#include <sys/ioctl.h>
#ifdef DVD_STRUCT_IN_LINUX_CDROM_H
# include <netinet/in.h>
# include <linux/cdrom.h>
#else
# error "building dummy libdvdcss on this system does not make sense !"
#endif
#include "config.h"
#include "common.h"
#include "dummy_dvdcss.h"
/*****************************************************************************
* Local structure
*****************************************************************************/
struct dvdcss_s
{
/* File descriptor */
int i_fd;
};
/*****************************************************************************
* dvdcss_open: initialize library, open a DVD device, crack CSS key
*****************************************************************************/
extern dvdcss_handle dummy_dvdcss_open ( char *psz_target, int i_flags )
{
dvdcss_handle dvdcss;
dvd_struct dvd;
/* Allocate the library structure */
dvdcss = malloc( sizeof( struct dvdcss_s ) );
if( dvdcss == NULL )
{
fprintf( stderr, "dvd error: "
"dummy libdvdcss could not allocate memory\n" );
return NULL;
}
/* Open the device */
dvdcss->i_fd = open( psz_target, 0 );
if( dvdcss->i_fd < 0 )
{
fprintf( stderr, "dvd error: "
"dummy libdvdcss could not open device\n" );
free( dvdcss );
return NULL;
}
/* Check for encryption or ioctl failure */
dvd.type = DVD_STRUCT_COPYRIGHT;
dvd.copyright.layer_num = 0;
if( ioctl( dvdcss->i_fd, DVD_READ_STRUCT, &dvd ) != 0
|| dvd.copyright.cpst )
{
fprintf( stderr, "dvd error: "
"dummy libdvdcss could not decrypt disc\n" );
close( dvdcss->i_fd );
free( dvdcss );
return NULL;
}
return dvdcss;
}
/*****************************************************************************
* dvdcss_error: return the last libdvdcss error message
*****************************************************************************/
extern char * dummy_dvdcss_error ( dvdcss_handle dvdcss )
{
return "unknown error";
}
/*****************************************************************************
* dvdcss_seek: seek into the device
*****************************************************************************/
extern int dummy_dvdcss_seek ( dvdcss_handle dvdcss, int i_blocks )
{
off_t i_read;
i_read = lseek( dvdcss->i_fd,
(off_t)i_blocks * (off_t)DVDCSS_BLOCK_SIZE, SEEK_SET );
return i_read / DVDCSS_BLOCK_SIZE;
}
/*****************************************************************************
* dvdcss_title: crack the current title key if needed
*****************************************************************************/
extern int dummy_dvdcss_title ( dvdcss_handle dvdcss, int i_block )
{
return 0;
}
/*****************************************************************************
* dvdcss_read: read data from the device, decrypt if requested
*****************************************************************************/
extern int dummy_dvdcss_read ( dvdcss_handle dvdcss, void *p_buffer,
int i_blocks,
int i_flags )
{
int i_bytes;
i_bytes = read( dvdcss->i_fd, p_buffer,
(size_t)i_blocks * DVDCSS_BLOCK_SIZE );
return i_bytes / DVDCSS_BLOCK_SIZE;
}
/*****************************************************************************
* dvdcss_readv: read data to an iovec structure, decrypt if reaquested
*****************************************************************************/
extern int dummy_dvdcss_readv ( dvdcss_handle dvdcss, void *p_iovec,
int i_blocks,
int i_flags )
{
int i_read;
i_read = readv( dvdcss->i_fd, (struct iovec*)p_iovec, i_blocks );
return i_read / DVDCSS_BLOCK_SIZE;
}
/*****************************************************************************
* dvdcss_close: close the DVD device and clean up the library
*****************************************************************************/
extern int dummy_dvdcss_close ( dvdcss_handle dvdcss )
{
int i_ret;
i_ret = close( dvdcss->i_fd );
if( i_ret < 0 )
{
return i_ret;
}
free( dvdcss );
return 0;
}
/*****************************************************************************
* dummy_dvdcss.h: Dummy libdvdcss header.
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: dummy_dvdcss.h,v 1.1 2001/08/06 13:28:00 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
/*****************************************************************************
* The libdvdcss structure
*****************************************************************************/
typedef struct dvdcss_s* dvdcss_handle;
/*****************************************************************************
* Flags
*****************************************************************************/
#define DVDCSS_NOFLAGS 0
#define DVDCSS_INIT_QUIET (1 << 0)
#define DVDCSS_INIT_DEBUG (1 << 1)
#define DVDCSS_READ_DECRYPT (1 << 0)
#define DVDCSS_BLOCK_SIZE 2048
/*****************************************************************************
* Exported prototypes
*****************************************************************************/
dvdcss_handle dummy_dvdcss_open ( char *, int i_flags );
int dummy_dvdcss_close ( dvdcss_handle );
int dummy_dvdcss_title ( dvdcss_handle, int );
int dummy_dvdcss_seek ( dvdcss_handle, int );
int dummy_dvdcss_read ( dvdcss_handle, void *, int, int );
int dummy_dvdcss_readv ( dvdcss_handle, void *, int, int );
char * dummy_dvdcss_error ( dvdcss_handle );
/*****************************************************************************
* Pointers which will be filled either with dummy_dvdcss functions or
* with the dlopen()ed ones.
*****************************************************************************/
dvdcss_handle (* dvdcss_open ) ( char *, int i_flags );
int (* dvdcss_close ) ( dvdcss_handle );
int (* dvdcss_title ) ( dvdcss_handle, int );
int (* dvdcss_seek ) ( dvdcss_handle, int );
int (* dvdcss_read ) ( dvdcss_handle, void *, int, int );
int (* dvdcss_readv ) ( dvdcss_handle, void *, int, int );
char * (* dvdcss_error ) ( dvdcss_handle );
......@@ -2,7 +2,7 @@
* dvd.c : DVD input module for vlc
*****************************************************************************
* Copyright (C) 2000 VideoLAN
* $Id: dvd.c,v 1.11 2001/07/27 01:05:17 sam Exp $
* $Id: dvd.c,v 1.12 2001/08/06 13:28:00 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
......@@ -32,11 +32,18 @@
#include <stdlib.h> /* malloc(), free() */
#include <string.h> /* strdup() */
#ifdef GOD_DAMN_DMCA
# include <dlfcn.h>
# include "dummy_dvdcss.h"
#endif
#include "config.h"
#include "common.h" /* boolean_t, byte_t */
#include "threads.h"
#include "mtime.h"
#include "intf_msg.h"
#include "modules.h"
#include "modules_export.h"
......@@ -45,6 +52,15 @@
*****************************************************************************/
void _M( input_getfunctions )( function_list_t * p_function_list );
/*****************************************************************************
* Local prototypes.
*****************************************************************************/
#ifdef GOD_DAMN_DMCA
static void *p_libdvdcss;
static void ProbeLibDVDCSS ( void );
static void UnprobeLibDVDCSS( void );
#endif
/*****************************************************************************
* Build configuration tree.
*****************************************************************************/
......@@ -56,13 +72,124 @@ MODULE_CONFIG_STOP
MODULE_INIT_START
p_module->i_capabilities = MODULE_CAPABILITY_NULL
| MODULE_CAPABILITY_INPUT;
p_module->psz_longname = "DVD input module, uses libdvdcss";
#ifdef GOD_DAMN_DMCA
p_module->psz_longname = "DVD input module, uses libdvdcss if present";
#else
p_module->psz_longname = "DVD input module, linked with libdvdcss";
#endif
MODULE_INIT_STOP
MODULE_ACTIVATE_START
_M( input_getfunctions )( &p_module->p_functions->input );
#ifdef GOD_DAMN_DMCA
ProbeLibDVDCSS();
#endif
MODULE_ACTIVATE_STOP
MODULE_DEACTIVATE_START
#ifdef GOD_DAMN_DMCA
UnprobeLibDVDCSS();
#endif
MODULE_DEACTIVATE_STOP
/* Following functions are local */
#ifdef GOD_DAMN_DMCA
/*****************************************************************************
* ProbeLibDVDCSS: look for a libdvdcss object.
*****************************************************************************
* This functions looks for libdvdcss, using dlopen(), and fills function
* pointers with what it finds. On failure, uses the dummy libdvdcss
* replacement provided by vlc.
*****************************************************************************/
static void ProbeLibDVDCSS( void )
{
char *pp_filelist[4] = { "libdvdcss.so.0",
"./libdvdcss.so.0",
"./lib/libdvdcss.so.0",
NULL };
char **pp_file = pp_filelist;
/* Try to open the dynamic object */
do
{
p_libdvdcss = dlopen( *pp_file, RTLD_LAZY );
if( p_libdvdcss != NULL )
{
intf_WarnMsg( 2, "module: builtin module `dvd' found libdvdcss "
"in `%s'", *pp_file );
break;
}
pp_file++;
} while( *pp_file != NULL );
/* If libdvdcss.so was found, check that it's valid */
if( p_libdvdcss == NULL )
{
intf_ErrMsg( "dvd warning: libdvdcss.so.0 not present" );
}
else
{
/* Check for libdvdcss 0.0.1 */
if( dlsym( p_libdvdcss, "dvdcss_crack" ) != NULL )
{
intf_ErrMsg( "dvd warning: libdvdcss.so.0 has deprecated symbol "
"dvdcss_crack(), please upgrade" );
dlclose( p_libdvdcss );
p_libdvdcss = NULL;
}
else
{
dvdcss_open = dlsym( p_libdvdcss, "dvdcss_open" );
dvdcss_close = dlsym( p_libdvdcss, "dvdcss_close" );
dvdcss_title = dlsym( p_libdvdcss, "dvdcss_title" );
dvdcss_seek = dlsym( p_libdvdcss, "dvdcss_seek" );
dvdcss_read = dlsym( p_libdvdcss, "dvdcss_read" );
dvdcss_readv = dlsym( p_libdvdcss, "dvdcss_readv" );
dvdcss_error = dlsym( p_libdvdcss, "dvdcss_error" );
if( dvdcss_open == NULL || dvdcss_close == NULL
|| dvdcss_title == NULL || dvdcss_seek == NULL
|| dvdcss_read == NULL || dvdcss_readv == NULL
|| dvdcss_error == NULL )
{
intf_ErrMsg( "dvd warning: missing symbols in libdvdcss.so.0, "
"please upgrade libdvdcss or vlc" );
dlclose( p_libdvdcss );
p_libdvdcss = NULL;
}
}
}
/* If libdvdcss was not found or was not valid, use the dummy
* replacement functions. */
if( p_libdvdcss == NULL )
{
intf_ErrMsg( "dvd warning: no valid libdvdcss found, "
"I will only play unencrypted DVDs" );
dvdcss_open = dummy_dvdcss_open;
dvdcss_close = dummy_dvdcss_close;
dvdcss_title = dummy_dvdcss_title;
dvdcss_seek = dummy_dvdcss_seek;
dvdcss_read = dummy_dvdcss_read;
dvdcss_readv = dummy_dvdcss_readv;
dvdcss_error = dummy_dvdcss_error;
}
}
/*****************************************************************************
* UnprobeLibDVDCSS: free resources allocated by ProbeLibDVDCSS, if any.
*****************************************************************************/
static void UnprobeLibDVDCSS( void )
{
if( p_libdvdcss != NULL )
{
dlclose( p_libdvdcss );
p_libdvdcss = NULL;
}
}
#endif
......@@ -2,7 +2,7 @@
* dvd_ifo.c: Functions for ifo parsing
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: dvd_ifo.c,v 1.35 2001/07/25 08:41:21 gbazin Exp $
* $Id: dvd_ifo.c,v 1.36 2001/08/06 13:28:00 sam Exp $
*
* Authors: Stphane Borel <stef@via.ecp.fr>
* German Tischler <tanis@gaspode.franken.de>
......@@ -45,7 +45,11 @@
#include <string.h>
#include <fcntl.h>
#include <videolan/dvdcss.h>
#ifdef GOD_DAMN_DMCA
# include "dummy_dvdcss.h"
#else
# include <videolan/dvdcss.h>
#endif
#include "config.h"
#include "common.h"
......@@ -282,7 +286,7 @@ int IfoInit( ifo_t * p_ifo )
* sizeof(parental_mask_t) );
if( PARINF.p_parental_mask == NULL )
{
intf_ErrMsg( "ifo erro: out of memory in IfoInit" );
intf_ErrMsg( "ifo error: out of memory in IfoInit" );
return -1;
}
......@@ -348,7 +352,7 @@ int IfoInit( ifo_t * p_ifo )
VTSINF.p_vts_attr = malloc( VTSINF.i_vts_nb * sizeof(vts_attr_t) );
if( VTSINF.p_vts_attr == NULL )
{
intf_ErrMsg( "ifo erro: out of memory in IfoInit" );
intf_ErrMsg( "ifo error: out of memory in IfoInit" );
return -1;
}
......
......@@ -3,7 +3,7 @@
* found in .ifo.
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: dvd_summary.c,v 1.7 2001/07/27 01:05:17 sam Exp $
* $Id: dvd_summary.c,v 1.8 2001/08/06 13:28:00 sam Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
*
......@@ -50,7 +50,11 @@
#endif
#include <errno.h>
#include <videolan/dvdcss.h>
#ifdef GOD_DAMN_DMCA
# include "dummy_dvdcss.h"
#else
# include <videolan/dvdcss.h>
#endif
#include "config.h"
#include "common.h"
......
......@@ -5,7 +5,7 @@
* contains the basic udf handling functions
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: dvd_udf.c,v 1.12 2001/07/27 01:05:17 sam Exp $
* $Id: dvd_udf.c,v 1.13 2001/08/06 13:28:00 sam Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
*
......@@ -50,7 +50,11 @@
# include <strings.h>
#endif
#include <videolan/dvdcss.h>
#ifdef GOD_DAMN_DMCA
# include "dummy_dvdcss.h"
#else
# include <videolan/dvdcss.h>
#endif
#include "config.h"
#include "common.h"
......
......@@ -10,7 +10,7 @@
* -dvd_udf to find files
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: input_dvd.c,v 1.83 2001/07/30 18:56:35 gbazin Exp $
* $Id: input_dvd.c,v 1.84 2001/08/06 13:28:00 sam Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
*
......@@ -59,7 +59,11 @@
# include <sys/uio.h> /* struct iovec */
#endif
#include <videolan/dvdcss.h>
#ifdef GOD_DAMN_DMCA
# include "dummy_dvdcss.h"
#else
# include <videolan/dvdcss.h>
#endif
#include "config.h"
#include "common.h"
......
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/esd.so: $(PLUGIN_C)
../esd.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_ESD)
../../plugins/esd.a: $(BUILTIN_C)
../esd.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/fb.so: $(PLUGIN_C)
../fb.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/fb.a: $(BUILTIN_C)
../fb.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/ggi.so: $(PLUGIN_C)
../ggi.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GGI)
../../plugins/ggi.a: $(BUILTIN_C)
../ggi.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -30,10 +30,10 @@ $(BUILTIN_GLIDE): BUILTIN_%.o: %.c
# Real targets
#
../../plugins/glide.so: $(PLUGIN_GLIDE)
../glide.so: $(PLUGIN_GLIDE)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GLIDE)
../../plugins/glide.a: $(BUILTIN_GLIDE)
../glide.a: $(BUILTIN_GLIDE)
ar r $@ $^
$(RANLIB) $@
......@@ -54,18 +54,18 @@ $(BUILTIN_GNOME): BUILTIN_GNOME_%.o: %.c
# Real targets
#
../../plugins/gtk.so: $(PLUGIN_GTK) $(PLUGIN_GTK_SPECIFIC)
../gtk.so: $(PLUGIN_GTK) $(PLUGIN_GTK_SPECIFIC)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GTK)
../../plugins/gtk.a: $(BUILTIN_GTK)
../gtk.a: $(BUILTIN_GTK)
ar r $@ $^
$(RANLIB) $@
../../plugins/gnome.so: $(PLUGIN_GNOME) $(PLUGIN_GNOME_SPECIFIC)
../gnome.so: $(PLUGIN_GNOME) $(PLUGIN_GNOME_SPECIFIC)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_GNOME)
../../plugins/gnome.a: $(BUILTIN_GNOME)
../gnome.a: $(BUILTIN_GNOME)
ar r $@ $^
$(RANLIB) $@
......@@ -69,38 +69,38 @@ $(BUILTIN_IDCTALTIVEC): BUILTIN_IDCTALTIVEC_%.o: %.c
# Real targets
#
../../plugins/idct.so: $(PLUGIN_IDCT) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_C)
../idct.so: $(PLUGIN_IDCT) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/idct.a: $(BUILTIN_IDCT)
../idct.a: $(BUILTIN_IDCT)
ar r $@ $^
$(RANLIB) $@
../../plugins/idctclassic.so: $(PLUGIN_IDCTCLASSIC) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_C)
../idctclassic.so: $(PLUGIN_IDCTCLASSIC) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/idctclassic.a: $(BUILTIN_IDCTCLASSIC)
../idctclassic.a: $(BUILTIN_IDCTCLASSIC)
ar r $@ $^
$(RANLIB) $@
../../plugins/idctmmx.so: $(PLUGIN_IDCTMMX) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_MMX)
../idctmmx.so: $(PLUGIN_IDCTMMX) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_MMX)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/idctmmx.a: $(BUILTIN_IDCTMMX)
../idctmmx.a: $(BUILTIN_IDCTMMX)
ar r $@ $^
$(RANLIB) $@
../../plugins/idctmmxext.so: $(PLUGIN_IDCTMMXEXT) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_MMX)
../idctmmxext.so: $(PLUGIN_IDCTMMXEXT) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_MMX)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/idctmmxext.a: $(BUILTIN_IDCTMMXEXT)
../idctmmxext.a: $(BUILTIN_IDCTMMXEXT)
ar r $@ $^
$(RANLIB) $@
../../plugins/idctaltivec.so: $(PLUGIN_IDCTALTIVEC) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_C)
../idctaltivec.so: $(PLUGIN_IDCTALTIVEC) $(PLUGIN_IDCTCOMMON) $(PLUGIN_VDECBLOCK_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_IDCTALTIVEC)
../../plugins/idctaltivec.a: $(BUILTIN_IDCTALTIVEC)
../idctaltivec.a: $(BUILTIN_IDCTALTIVEC)
ar r $@ $^
$(RANLIB) $@
......@@ -44,24 +44,24 @@ $(BUILTIN_IMDCT3DN): BUILTIN_IMDCT3DN_%.o: %.c
# Real targets
#
../../plugins/imdct.so: $(PLUGIN_IMDCT) $(PLUGIN_IMDCTCOMMON)
../imdct.so: $(PLUGIN_IMDCT) $(PLUGIN_IMDCTCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/imdct.a: $(BUILTIN_IMDCT)
../imdct.a: $(BUILTIN_IMDCT)
ar r $@ $^
$(RANLIB) $@
../../plugins/imdctsse.so: $(PLUGIN_IMDCTSSE) $(PLUGIN_IMDCTCOMMON)
../imdctsse.so: $(PLUGIN_IMDCTSSE) $(PLUGIN_IMDCTCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/imdctsse.a: $(BUILTIN_IMDCTSSE)
../imdctsse.a: $(BUILTIN_IMDCTSSE)
ar r $@ $^
$(RANLIB) $@
../../plugins/imdct3dn.so: $(PLUGIN_IMDCT3DN) $(PLUGIN_IMDCTCOMMON)
../imdct3dn.so: $(PLUGIN_IMDCT3DN) $(PLUGIN_IMDCTCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/imdct3dn.a: $(BUILTIN_IMDCT3DN)
../imdct3dn.a: $(BUILTIN_IMDCT3DN)
ar r $@ $^
$(RANLIB) $@
......@@ -62,10 +62,10 @@ $(BUILTIN_KDE_MOC): BUILTIN_%.o: %.cpp
# Real targets
#
../../plugins/kde.so: $(PLUGIN_KDE) $(PLUGIN_KDE_MOC)
../kde.so: $(PLUGIN_KDE) $(PLUGIN_KDE_MOC)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_KDE)
../../plugins/kde.a: $(BUILTIN_KDE) $(BUILTIN_KDE_MOC)
../kde.a: $(BUILTIN_KDE) $(BUILTIN_KDE_MOC)
ar r $@ $^
$(RANLIB) $@
......@@ -30,10 +30,10 @@ $(BUILTIN_MACOSX): BUILTIN_%.o: %.c
# Real targets
#
../../plugins/macosx.so: $(PLUGIN_MACOSX)
../macosx.so: $(PLUGIN_MACOSX)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_MACOSX)
../../plugins/macosx.a: $(BUILTIN_MACOSX)
../macosx.a: $(BUILTIN_MACOSX)
ar r $@ $^
$(RANLIB) $@
......@@ -22,10 +22,10 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/mga.so: $(PLUGIN_C)
../mga.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/mga.a: $(BUILTIN_C)
../mga.a: $(BUILTIN_C)
ar r $@ $^
$(RANLIB) $@
......@@ -44,31 +44,31 @@ $(BUILTIN_MOTIONMMXEXT): BUILTIN_MOTIONMMXEXT_%.o: %.c
# Real targets
#
../../plugins/motion.so: $(PLUGIN_MOTION) $(PLUGIN_MOTIONCOMMON)
../motion.so: $(PLUGIN_MOTION) $(PLUGIN_MOTIONCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/motion.a: $(BUILTIN_MOTION)
../motion.a: $(BUILTIN_MOTION)
ar r $@ $^
$(RANLIB) $@
../../plugins/motionclassic.so: $(PLUGIN_MOTIONCLASSIC) $(PLUGIN_MOTIONCOMMON)
../motionclassic.so: $(PLUGIN_MOTIONCLASSIC) $(PLUGIN_MOTIONCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/motionclassic.a: $(BUILTIN_MOTIONCLASSIC)
../motionclassic.a: $(BUILTIN_MOTIONCLASSIC)
ar r $@ $^
$(RANLIB) $@
../../plugins/motionmmx.so: $(PLUGIN_MOTIONMMX) $(PLUGIN_MOTIONCOMMON)
../motionmmx.so: $(PLUGIN_MOTIONMMX) $(PLUGIN_MOTIONCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/motionmmx.a: $(BUILTIN_MOTIONMMX)
../motionmmx.a: $(BUILTIN_MOTIONMMX)
ar r $@ $^
$(RANLIB) $@
../../plugins/motionmmxext.so: $(PLUGIN_MOTIONMMXEXT) $(PLUGIN_MOTIONCOMMON)
../motionmmxext.so: $(PLUGIN_MOTIONMMXEXT) $(PLUGIN_MOTIONCOMMON)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/motionmmxext.a: $(BUILTIN_MOTIONMMXEXT)
../motionmmxext.a: $(BUILTIN_MOTIONMMXEXT)
ar r $@ $^
$(RANLIB) $@
......@@ -28,24 +28,24 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/es.so: $(PLUGIN_ES)
../es.so: $(PLUGIN_ES)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/es.a: $(BUILTIN_ES)
../es.a: $(BUILTIN_ES)
ar r $@ $^
$(RANLIB) $@
../../plugins/ps.so: $(PLUGIN_PS)
../ps.so: $(PLUGIN_PS)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/ps.a: $(BUILTIN_PS)
../ps.a: $(BUILTIN_PS)
ar r $@ $^
$(RANLIB) $@
../../plugins/ts.so: $(PLUGIN_TS)
../ts.so: $(PLUGIN_TS)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_TS)
../../plugins/ts.a: $(BUILTIN_TS)
../ts.a: $(BUILTIN_TS)
ar r $@ $^
$(RANLIB) $@
......@@ -22,8 +22,8 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/qnx.so: $(PLUGIN_C)
../qnx.so: $(PLUGIN_C)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_QNX)
../../plugins/qnx.a: $(BUILTIN_C)
../qnx.a: $(BUILTIN_C)
ar r $@ $^
......@@ -34,10 +34,10 @@ $(BUILTIN_QT:%.o=%.moc): BUILTIN_%.moc: %.cpp
# Real targets
#
../../plugins/qt.so: $(PLUGIN_QT)
../qt.so: $(PLUGIN_QT)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_QT)
../../plugins/qt.a: $(BUILTIN_QT)
../qt.a: $(BUILTIN_QT)
ar r $@ $^
$(RANLIB) $@
......@@ -30,10 +30,10 @@ $(BUILTIN_SDL): BUILTIN_%.o: %.c
# Real targets
#
../../plugins/sdl.so: $(PLUGIN_SDL)
../sdl.so: $(PLUGIN_SDL)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_SDL)
../../plugins/sdl.a: $(BUILTIN_SDL)
../sdl.a: $(BUILTIN_SDL)
ar r $@ $^
$(RANLIB) $@
......@@ -26,17 +26,17 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/ncurses.so: $(PLUGIN_NCURSES)
../ncurses.so: $(PLUGIN_NCURSES)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_NCURSES)
../../plugins/ncurses.a: $(BUILTIN_NCURSES)
../ncurses.a: $(BUILTIN_NCURSES)
ar r $@ $^
$(RANLIB) $@
../../plugins/rc.so: $(PLUGIN_RC)
../rc.so: $(PLUGIN_RC)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/rc.a: $(BUILTIN_RC)
../rc.a: $(BUILTIN_RC)
ar r $@ $^
$(RANLIB) $@
......@@ -33,25 +33,25 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/x11.so: $(PLUGIN_X11)
../x11.so: $(PLUGIN_X11)
ifeq ($(SYS),nto-qnx)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_X11) -lsocket
else
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_X11)
endif
../../plugins/x11.a: $(BUILTIN_X11)
../x11.a: $(BUILTIN_X11)
ar r $@ $^
$(RANLIB) $@
../../plugins/xvideo.so: $(PLUGIN_XVIDEO)
../xvideo.so: $(PLUGIN_XVIDEO)
ifeq ($(SYS),nto-qnx)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_XVIDEO) -lsocket
else
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_XVIDEO)
endif
../../plugins/xvideo.a: $(BUILTIN_XVIDEO)
../xvideo.a: $(BUILTIN_XVIDEO)
ar r $@ $^
$(RANLIB) $@
......@@ -27,17 +27,17 @@ include ../../Makefile.modules
# Real targets
#
../../plugins/yuv.so: $(PLUGIN_YUV)
../yuv.so: $(PLUGIN_YUV)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) $(LIB_YUV)
../../plugins/yuv.a: $(BUILTIN_YUV)
../yuv.a: $(BUILTIN_YUV)
ar r $@ $^
$(RANLIB) $@
../../plugins/yuvmmx.so: $(PLUGIN_YUVMMX)
../yuvmmx.so: $(PLUGIN_YUVMMX)
$(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS)
../../plugins/yuvmmx.a: $(BUILTIN_YUVMMX)
../yuvmmx.a: $(BUILTIN_YUVMMX)
ar r $@ $^
$(RANLIB) $@
Name: vlc
Version: 0.2.81
Release: 1
Copyright: GPL
License: GPL
Url: http://www.videolan.org/
Group: X11/Applications/Graphics
Source0: http://www.videolan.org/packages/0.2.81/vlc-0.2.81.tar.gz
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment