vdr/xine-lib-vdr/misc Makefile.am Makefile.common Makefile.in SlackBuild SlackBuild.in build_rpms.sh build_rpms.sh.in cdda_server.c libdvdcss-1.2.6-network.patch libxine.pc.in relchk.sh.in vga.xinefont.gz xine-config.in xine-fontconv.c xine-lib.spec xine-lib.spec.in
Darren Salt
pkg-vdr-dvb-changes@lists.alioth.debian.org
Mon, 04 Apr 2005 22:29:19 +0000
Update of /cvsroot/pkg-vdr-dvb/vdr/xine-lib-vdr/misc
In directory haydn:/tmp/cvs-serv2129/misc
Added Files:
Makefile.am Makefile.common Makefile.in SlackBuild
SlackBuild.in build_rpms.sh build_rpms.sh.in cdda_server.c
libdvdcss-1.2.6-network.patch libxine.pc.in relchk.sh.in
vga.xinefont.gz xine-config.in xine-fontconv.c xine-lib.spec
xine-lib.spec.in
Log Message:
Import of VDR-patched xine-lib.
--- NEW FILE: build_rpms.sh ---
#!/bin/sh
#DATE=`date +%y%m%d`
DATE=1
PKGNAME=libxine1
# Some rpm checks
RPMVERSION=`rpm --version | tr [A-Z] [a-z] | sed -e 's/[a-z]//g' -e 's/\.//g' -e 's/ //g'`
# rpm version 4 return 40
if [ `expr $RPMVERSION` -lt 100 ]; then
RPMVERSION=`expr $RPMVERSION \* 10`
fi
if [ `expr $RPMVERSION` -lt 400 ]; then
RPM_BA="rpm -ba -ta ./xine-lib-1.0.tar.gz"
RPM_BB="rpm -bb -ta ./xine-lib-1.0.tar.gz"
elif [ `expr $RPMVERSION` -lt 420 ]; then
RPM_BA="rpm -ta ./xine-lib-1.0.tar.gz -ba"
RPM_BB="rpm -ta ./xine-lib-1.0.tar.gz -bb"
else
RPM_BA="rpmbuild -ta ./xine-lib-1.0.tar.gz -ba"
RPM_BB="rpmbuild -ta ./xine-lib-1.0.tar.gz -bb"
fi
##VERSION="1.0.0"
echo "Creating tarball..."
rm -f config.cache && ./autogen.sh && make dist
rm -rf rpms
mkdir rpms
echo "*****************************************************"
echo
echo "building rpm for xine-lib 1.0"
echo
echo "current architecture:pentium"
echo "rpms will be copied to ./rpms directory"
echo
echo "*****************************************************"
export XINE_BUILD=i586-pc-linux-gnu
eval $RPM_BA
mv /usr/src/redhat/SRPMS/libxine-1.0-$DATE.src.rpm ./rpms/
mv /usr/src/redhat/RPMS/i386/$PKGNAME-1.0-$DATE.i386.rpm ./rpms/$PKGNAME-1.0-$DATE.i586.rpm
mv /usr/src/redhat/RPMS/i386/$PKGNAME-devel-1.0-$DATE.i386.rpm ./rpms/$PKGNAME-devel-1.0-$DATE.i586.rpm
echo "*****************************************************"
echo
echo "building rpm for xine-lib 1.0"
echo
echo "current architecture:pentiumpro"
echo "rpms will be copied to ./rpms directory"
echo
echo "*****************************************************"
export XINE_BUILD=i686-pc-linux-gnu
eval $RPM_BB
mv /usr/src/redhat/RPMS/i386/$PKGNAME-1.0-$DATE.i386.rpm ./rpms/$PKGNAME-1.0-$DATE.i686.rpm
echo "*****************************************************"
echo
echo "building rpm for xine-lib 1.0"
echo
echo "current architecture:k6"
echo "rpms will be copied to ./rpms directory"
echo
echo "*****************************************************"
export XINE_BUILD=k6-pc-linux-gnu
eval $RPM_BB
mv /usr/src/redhat/RPMS/i386/$PKGNAME-1.0-$DATE.i386.rpm ./rpms/$PKGNAME-1.0-$DATE.k6.rpm
echo "*****************************************************"
echo
echo "building rpm for xine-lib 1.0"
echo
echo "current architecture:k7"
echo "rpms will be copied to ./rpms directory"
echo
echo "*****************************************************"
export XINE_BUILD=athlon-pc-linux-gnu
eval $RPM_BB
mv /usr/src/redhat/RPMS/i386/$PKGNAME-1.0-$DATE.i386.rpm ./rpms/$PKGNAME-1.0-$DATE.k7.rpm
echo "Done."
--- NEW FILE: cdda_server.c ---
/* CDDA / DVD server
*
* This is a TCP server that can be used with xine's cdda input plugin to
* play audio CDs over the network. It also supports playing DVDs with a
* patched version of libdvdcss.
*
* quick howto:
* - compile it:
* gcc -o cdda_server cdda_server.c -ldl
*
* - start the server:
* ./cdda_server /dev/cdrom 3000
*
* - start the client:
* xine cdda://server:3000/1
*
* to play the entire cd (using GUI's "CD" button) just change
* media.audio_cd.device to the server's mrl.
*
* 6 May 2003 - Miguel Freitas
* This feature was sponsored by 1Control
*
* note: see also libdvdcss-1.2.6-network.patch
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <stdarg.h>
#include <unistd.h>
#include <string.h>
#include <signal.h>
#include <errno.h>
#include <sys/time.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <dlfcn.h>
#define QLEN 5 /* maximum connection queue length */
#define _BUFSIZ 300
/* CD-relevant defines and data structures */
#define CD_SECONDS_PER_MINUTE 60
#define CD_FRAMES_PER_SECOND 75
#define CD_RAW_FRAME_SIZE 2352
#define CD_LEADOUT_TRACK 0xAA
#define DVD_BLOCK_SIZE 2048
/* functions from external DVD lib */
typedef struct dvd_s *dvd_handle;
static dvd_handle (*dvd_open) (const char *);
static int (*dvd_close) (dvd_handle);
static int (*dvd_seek) (dvd_handle, int, int);
static int (*dvd_title) (dvd_handle, int);
static int (*dvd_read) (dvd_handle, void *, int, int);
static char * (*dvd_error) (dvd_handle);
static int dvd_support;
static int msock;
static int cdda_fd;
static dvd_handle dvd;
static char *cdrom_device;
#if defined (__linux__)
#include <linux/cdrom.h>
static int read_cdrom_toc_header(int fd, int *first_track, int *last_track) {
struct cdrom_tochdr tochdr;
/* fetch the table of contents */
if (ioctl(fd, CDROMREADTOCHDR, &tochdr) == -1) {
perror("CDROMREADTOCHDR");
return -1;
}
*first_track = tochdr.cdth_trk0;
*last_track = tochdr.cdth_trk1;
return 0;
}
static int read_cdrom_toc_entry(int fd, int track, int *track_mode,
int *first_frame_minute, int *first_frame_second, int *first_frame_frame ) {
struct cdrom_tocentry tocentry;
memset(&tocentry, 0, sizeof(tocentry));
tocentry.cdte_track = track;
tocentry.cdte_format = CDROM_MSF;
if (ioctl(fd, CDROMREADTOCENTRY, &tocentry) == -1) {
perror("CDROMREADTOCENTRY");
return -1;
}
*track_mode = (tocentry.cdte_ctrl & 0x04) ? 1 : 0;
*first_frame_minute = tocentry.cdte_addr.msf.minute;
*first_frame_second = tocentry.cdte_addr.msf.second;
*first_frame_frame = tocentry.cdte_addr.msf.frame;
return 0;
}
static int read_cdrom_frames(int fd, int frame, int num_frames,
unsigned char *data) {
struct cdrom_msf msf;
while( num_frames ) {
/* read from starting frame... */
msf.cdmsf_min0 = frame / CD_SECONDS_PER_MINUTE / CD_FRAMES_PER_SECOND;
msf.cdmsf_sec0 = (frame / CD_FRAMES_PER_SECOND) % CD_SECONDS_PER_MINUTE;
msf.cdmsf_frame0 = frame % CD_FRAMES_PER_SECOND;
/* read until ending track (starting frame + 1)... */
msf.cdmsf_min1 = (frame + 1) / CD_SECONDS_PER_MINUTE / CD_FRAMES_PER_SECOND;
msf.cdmsf_sec1 = ((frame + 1) / CD_FRAMES_PER_SECOND) % CD_SECONDS_PER_MINUTE;
msf.cdmsf_frame1 = (frame + 1) % CD_FRAMES_PER_SECOND;
/* MSF structure is the input to the ioctl */
memcpy(data, &msf, sizeof(msf));
/* read a frame */
if(ioctl(fd, CDROMREADRAW, data, data) < 0) {
perror("CDROMREADRAW");
return -1;
}
data += CD_RAW_FRAME_SIZE;
frame++;
num_frames--;
}
return 0;
}
#endif
/* network functions */
static int sock_has_data(int socket){
fd_set readfds;
fd_set writefds;
fd_set exceptfds;
struct timeval tv;
tv.tv_sec = 0;
tv.tv_usec = 0;
FD_ZERO(&readfds);
FD_ZERO(&writefds);
FD_ZERO(&exceptfds);
FD_SET(socket, &readfds);
return (select(socket+1, &readfds, &writefds, &exceptfds, &tv) > 0);
}
static int sock_check_opened(int socket) {
fd_set readfds, writefds, exceptfds;
int retval;
struct timeval timeout;
for(;;) {
FD_ZERO(&readfds);
FD_ZERO(&writefds);
FD_ZERO(&exceptfds);
FD_SET(socket, &exceptfds);
timeout.tv_sec = 0;
timeout.tv_usec = 0;
retval = select(socket + 1, &readfds, &writefds, &exceptfds, &timeout);
if(retval == -1 && (errno != EAGAIN && errno != EINTR))
return 0;
if (retval != -1)
return 1;
}
return 0;
}
#if 0
/*
* read binary data from socket
*/
static int sock_data_read (int socket, char *buf, int nlen) {
int n, num_bytes;
if((socket < 0) || (buf == NULL))
return -1;
if(!sock_check_opened(socket))
return -1;
num_bytes = 0;
while (num_bytes < nlen) {
n = read (socket, &buf[num_bytes], nlen - num_bytes);
/* read errors */
if (n < 0) {
if(errno == EAGAIN) {
fd_set rset;
struct timeval timeout;
FD_ZERO (&rset);
FD_SET (socket, &rset);
timeout.tv_sec = 30;
timeout.tv_usec = 0;
if (select (socket+1, &rset, NULL, NULL, &timeout) <= 0) {
printf ("network: timeout on read\n");
return 0;
}
continue;
}
printf ("network: read error %d\n", errno);
return 0;
}
num_bytes += n;
/* end of stream */
if (!n) break;
}
return num_bytes;
}
#endif
/*
* read a line (\n-terminated) from socket
*/
static int sock_string_read(int socket, char *buf, int len) {
char *pbuf;
int r, rr;
void *nl;
if((socket < 0) || (buf == NULL))
return -1;
if(!sock_check_opened(socket))
return -1;
if (--len < 1)
return(-1);
pbuf = buf;
do {
if((r = recv(socket, pbuf, len, MSG_PEEK)) <= 0)
return -1;
if((nl = memchr(pbuf, '\n', r)) != NULL)
r = ((char *) nl) - pbuf + 1;
if((rr = read(socket, pbuf, r)) < 0)
return -1;
pbuf += rr;
len -= rr;
} while((nl == NULL) && len);
if (pbuf > buf && *(pbuf-1) == '\n'){
*(pbuf-1) = '\0';
}
*pbuf = '\0';
return (pbuf - buf);
}
/*
* Write to socket.
*/
static int sock_data_write(int socket, char *buf, int len) {
ssize_t size;
int wlen = 0;
if((socket < 0) || (buf == NULL))
return -1;
if(!sock_check_opened(socket))
return -1;
while(len) {
size = write(socket, buf, len);
if(size <= 0) {
printf("error writing to socket %d\n",socket);
return -1;
}
len -= size;
wlen += size;
buf += size;
}
return wlen;
}
int sock_string_write(int socket, char *msg, ...) {
char buf[_BUFSIZ];
va_list args;
va_start(args, msg);
vsnprintf(buf, _BUFSIZ - 1, msg, args);
va_end(args);
/* Each line sent is '\n' terminated */
if((buf[strlen(buf)] == '\0') && (buf[strlen(buf) - 1] != '\n'))
strcat(buf, "\n");
return sock_data_write(socket, buf, strlen(buf));
}
/**
* Setup dvd read functions
*/
int dvdinput_setup(void)
{
void *dvdcss_library = NULL;
char **dvdcss_version = NULL;
/* dlopening libdvdcss */
#ifndef _MSC_VER
dvdcss_library = dlopen("libdvdcss.so.2", RTLD_LAZY);
#else
dvdcss_library = dlopen("libdvdcss.dll", RTLD_LAZY);
#endif
if(dvdcss_library != NULL) {
#if defined(__OpenBSD__) && !defined(__ELF__)
#define U_S "_"
#else
#define U_S
#endif
dvd_open = (dvd_handle (*)(const char*))
dlsym(dvdcss_library, U_S "dvdcss_open");
dvd_close = (int (*)(dvd_handle))
dlsym(dvdcss_library, U_S "dvdcss_close");
dvd_title = (int (*)(dvd_handle, int))
dlsym(dvdcss_library, U_S "dvdcss_title");
dvd_seek = (int (*)(dvd_handle, int, int))
dlsym(dvdcss_library, U_S "dvdcss_seek");
dvd_read = (int (*)(dvd_handle, void*, int, int))
dlsym(dvdcss_library, U_S "dvdcss_read");
dvd_error = (char* (*)(dvd_handle))
dlsym(dvdcss_library, U_S "dvdcss_error");
dvdcss_version = (char **)dlsym(dvdcss_library, U_S "dvdcss_interface_2");
if(dlsym(dvdcss_library, U_S "dvdcss_crack")) {
fprintf(stderr,
"libdvdread: Old (pre-0.0.2) version of libdvdcss found.\n"
"libdvdread: You should get the latest version from "
"http://www.videolan.org/\n" );
dlclose(dvdcss_library);
dvdcss_library = NULL;
} else if(!dvd_open || !dvd_close || !dvd_title || !dvd_seek
|| !dvd_read || !dvd_error || !dvdcss_version) {
fprintf(stderr, "libdvdread: Missing symbols in libdvdcss.so.2, "
"this shouldn't happen !\n");
dlclose(dvdcss_library);
}
}
if(dvdcss_library != NULL) {
printf("Using libdvdcss version %s for DVD access\n",
*dvdcss_version);
return 1;
} else {
printf("No libdvdcss: DVD support unavailable.\n");
return 0;
}
}
#define CMD_CDDA_OPEN "cdda_open"
#define CMD_CDDA_READ "cdda_read"
#define CMD_CDDA_TOCHDR "cdda_tochdr"
#define CMD_CDDA_TOCENTRY "cdda_tocentry"
#define CMD_DVD_OPEN "dvd_open"
#define CMD_DVD_ERROR "dvd_error"
#define CMD_DVD_SEEK "dvd_seek"
#define CMD_DVD_READ "dvd_read"
#define CMD_DVD_TITLE "dvd_title"
static int process_commands( int socket )
{
char cmd[_BUFSIZ];
int start_frame, num_frames, i;
int blocks, flags;
int ret, n;
while( sock_has_data(socket) )
{
if( sock_string_read(socket, cmd, _BUFSIZ) <= 0 )
return -1;
if( !strncmp(cmd, CMD_CDDA_OPEN, strlen(CMD_CDDA_OPEN)) ) {
if( cdda_fd != -1 )
close(cdda_fd);
cdda_fd = open ( cdrom_device, O_RDONLY);
if( cdda_fd == -1 )
{
printf( "argh ! couldn't open CD (%s)\n", cdrom_device );
if( sock_string_write(socket,"-1 0") < 0 )
return -1;
}
else {
if( sock_string_write(socket,"0 0") < 0 )
return -1;
}
continue;
}
if( dvd_support && !strncmp(cmd, CMD_DVD_OPEN, strlen(CMD_DVD_OPEN)) ) {
if( dvd != NULL )
dvd_close(dvd);
dvd = dvd_open ( cdrom_device );
if( !dvd )
{
printf( "argh ! couldn't open DVD (%s)\n", cdrom_device );
if( sock_string_write(socket,"-1 0") < 0 )
return -1;
}
else {
if( sock_string_write(socket,"0 0") < 0 )
return -1;
}
continue;
}
if( cdda_fd != -1 ) {
if( !strncmp(cmd, CMD_CDDA_READ, strlen(CMD_CDDA_READ)) ) {
char *buf;
sscanf(cmd,"%*s %d %d", &start_frame, &num_frames);
n = num_frames * CD_RAW_FRAME_SIZE;
buf = malloc( n );
if( !buf )
{
printf("fatal error: could not allocate memory\n");
exit(1);
}
ret = read_cdrom_frames(cdda_fd, start_frame, num_frames, buf );
if( sock_string_write(socket,"%d %d", ret, n) < 0 )
return -1;
if( sock_data_write(socket,buf,n) < 0 )
return -1;
free(buf);
continue;
}
if( !strncmp(cmd, CMD_CDDA_TOCHDR, strlen(CMD_CDDA_TOCHDR)) ) {
int first_track, last_track;
ret = read_cdrom_toc_header(cdda_fd, &first_track, &last_track);
if( sock_string_write(socket,"%d 0 %d %d", ret, first_track, last_track) < 0 )
return -1;
continue;
}
if( !strncmp(cmd, CMD_CDDA_TOCENTRY, strlen(CMD_CDDA_TOCENTRY)) ) {
int track_mode, first_frame_minute, first_frame_second, first_frame_frame;
sscanf(cmd,"%*s %d", &i);
ret = read_cdrom_toc_entry(cdda_fd, i, &track_mode,
&first_frame_minute, &first_frame_second, &first_frame_frame );
if( sock_string_write(socket,"%d 0 %d %d %d %d", ret,
track_mode, first_frame_minute, first_frame_second, first_frame_frame) < 0 )
return -1;
continue;
}
} else if ( dvd != NULL ) {
if( !strncmp(cmd, CMD_DVD_ERROR, strlen(CMD_DVD_ERROR)) ) {
char *errmsg = dvd_error( dvd );
n = strlen(errmsg)+1;
if( sock_string_write(socket,"0 %d", n) < 0 )
return -1;
if( sock_data_write(socket,errmsg,n) < 0 )
return -1;
continue;
}
if( !strncmp(cmd, CMD_DVD_SEEK, strlen(CMD_DVD_SEEK)) ) {
sscanf(cmd,"%*s %d %d", &blocks, &flags);
ret = dvd_seek(dvd, blocks, flags);
if( sock_string_write(socket,"%d 0", ret) < 0 )
return -1;
continue;
}
if( !strncmp(cmd, CMD_DVD_READ, strlen(CMD_DVD_READ)) ) {
char *buf;
sscanf(cmd,"%*s %d %d", &blocks, &flags);
n = blocks * DVD_BLOCK_SIZE;
buf = malloc( n );
if( !buf )
{
printf("fatal error: could not allocate memory\n");
exit(1);
}
ret = dvd_read(dvd, buf, blocks, flags);
if( sock_string_write(socket,"%d %d", ret, n) < 0 )
return -1;
if( sock_data_write(socket,buf,n) < 0 )
return -1;
free(buf);
continue;
}
if( !strncmp(cmd, CMD_DVD_TITLE, strlen(CMD_DVD_TITLE)) ) {
sscanf(cmd,"%*s %d", &blocks);
ret = dvd_title(dvd, blocks);
if( sock_string_write(socket,"%d 0", ret) < 0 )
return -1;
continue;
}
}
/* no device open, or unknown command. return error */
if( sock_string_write(socket,"-1 0") < 0 )
return -1;
}
return 0;
}
static void server_loop()
{
struct sockaddr_in fsin; /* the from address of a client */
int alen; /* from-address length */
int fd, nfds;
fd_set rfds; /* read file descriptor set */
fd_set afds; /* active file descriptor set */
/* SIGPIPE when connection closed during write call */
signal( SIGPIPE, SIG_IGN );
nfds = getdtablesize();
FD_ZERO(&afds);
FD_SET(msock, &afds);
while (1)
{
memcpy( &rfds, &afds, sizeof(rfds) );
if (select(nfds, &rfds, (fd_set *)0, (fd_set *)0, (struct timeval *)0) < 0)
continue; /* erro?? */
if (FD_ISSET(msock, &rfds))
{
int ssock;
alen = sizeof(fsin);
ssock = accept(msock, (struct sockaddr *)&fsin, &alen);
if (ssock < 0)
continue; /* erro?? */
FD_SET(ssock, &afds);
printf("new connection socket %d\n", ssock);
}
for (fd=0; fd<nfds; ++fd)
{
if (fd != msock && FD_ISSET(fd, &rfds))
if (process_commands(fd) < 0)
{
printf("closing socket %d\n", fd);
close(fd);
FD_CLR(fd, &afds);
if( cdda_fd != -1 ) {
close(cdda_fd);
cdda_fd = -1;
}
if( dvd != NULL ) {
dvd_close(dvd);
dvd = NULL;
}
}
}
}
}
int main( int argc, char *argv[] )
{
unsigned int port;
struct sockaddr_in servAddr;
/* Print version number */
printf( "CDDA / DVD tcp server v0.1\n" );
dvd_support = dvdinput_setup();
/* Check for 2 arguments */
if( argc != 3 )
{
printf( "usage: %s <device> <server_port>\n", argv[0] );
return -1;
}
port = atoi( argv[2] );
cdda_fd = -1;
dvd = NULL;
cdrom_device = argv[1];
msock = socket(PF_INET, SOCK_STREAM, 0);
if( msock < 0 )
{
printf("error opening master socket.\n");
return 0;
}
servAddr.sin_family = AF_INET;
servAddr.sin_addr.s_addr = htonl(INADDR_ANY);
servAddr.sin_port = htons(port);
if(bind(msock, (struct sockaddr *) &servAddr, sizeof(servAddr))<0)
{
printf("bind port %d error\n", port);
return 0;
}
listen(msock,QLEN);
printf("listening on port %d...\n", port);
server_loop();
close(msock);
return 0;
}
--- NEW FILE: SlackBuild ---
#!/bin/sh
#
# This script generate some valid Slackware packages
#
#
# Some variables.
#
CWD=`pwd`
PACKAGE=xine-lib.tgz
SLCK=$CWD/slack
PREFIX=${PREFIX:-"/usr/local"}
PKG=$CWD/slktmp
TMPBUILD=$CWD/tmpbuild
#DOINSTDIR=/install
#
# Create the post-install script
#
do_install_sh() {
cat > doinst.sh <<EOF
/sbin/ldconfig
EOF
}
#
# Create package description for pkgtool.
#
do_descr() {
cat > package_descriptions << EOF
xine-lib: xine-lib 1.0.
xine-lib:
xine-lib: xine-lib is the beating heart of xine (a free gpl-licensed
xine-lib: video player for unix-like systems) which among others provides
xine-lib: support for decoding (and playing back) of many today available
xine-lib: audio/video codecs, like mpeg-4 (DivX), mpeg-2 (DVD, SVCD),
xine-lib: mpeg-1 (VCD), Quicktime and RealMedia just to name a few.
xine-lib: This library contains (and uses) numerous processor specific
xine-lib: optimizations to provide a smooth playback and to minimize the
xine-lib: overall demand of CPU power.
xine-lib:
xine-lib: Don't hesitate to use %{name} in your own projects as long as
xine-lib: your usage complies to the GPL. More information about
xine-lib: GPL-license can be found at http://www.gnu.org/licenses/gpl.html
xine-lib:
xine-lib:
EOF
}
#
# Building binaries process, then install and move package in right place
#
do_build() {
cd $CWD
rm -rf $TMPBUILD
mkdir -p $TMPBUILD
cd $TMPBUILD && tar -xzf $CWD/xine-lib-1.0.tar.gz
do_install_sh;
cd xine-lib-1.0
DIE=1
echo "./configure --prefix=$PREFIX $CONFIG_OPT && make && make install-strip DESTDIR=$PKG LIBRARY_PATH=$TMPBUILD/xine-lib-1.0/src/xine-engine/.libs" && \
./configure --prefix=$PREFIX $CONFIG_OPT && make && make install-strip DESTDIR=$PKG LIBRARY_PATH=$TMPBUILD/xine-lib-1.0/src/xine-engine/.libs && \
mkdir -p $PKG/install && cp $TMPBUILD/doinst.sh $PKG/install && \
cd $PKG && \
echo "n" | /sbin/makepkg $PACKAGE && \
mv $PACKAGE $SLCK && \
cd $SLCK && DIE=0
do_descr
}
#
# Cleaning building directory
#
do_clean() {
rm -rf $TMPBUILD
rm -f $PACKAGE package_descriptions
rm -rf $PKG
cd $CWD
}
#
# Build for PPro
#
build_pentiumpro() {
echo "*****************************************************"
echo
echo "building slack for xine-lib 1.0"
echo
echo "current architecture:pentiumpro"
echo "slackware package will be copied to ./slack directory"
echo
echo "*****************************************************"
rm -rf $PKG
export XINE_BUILD=i686-pc-linux-gnu
do_build
if test "$DIE" -eq 0; then
tar -czvf xine-lib-1.0-i686.tar.gz $PACKAGE package_descriptions
fi
do_clean
}
#
# Build for Pentium
#
build_pentium() {
echo "*****************************************************"
echo
echo "building slack for xine-lib 1.0"
echo
echo "current architecture:pentium"
echo "slackware package will be copied to ./slack directory"
echo
echo "*****************************************************"
rm -rf $PKG
export XINE_BUILD=i586-pc-linux-gnu
do_build
if test "$DIE" -eq 0; then
tar -czvf xine-lib-1.0-i586.tar.gz $PACKAGE package_descriptions
fi
do_clean
}
#
# Build for K6
#
build_k6() {
echo "*****************************************************"
echo
echo "building slack for xine-lib 1.0"
echo
echo "current architecture:k6"
echo "slackware package will be copied to ./slack directory"
echo
echo "*****************************************************"
rm -rf $PKG
export XINE_BUILD=k6-pc-linux-gnu
do_build
if test "$DIE" -eq 0; then
tar -czvf xine-lib-1.0-k6.tar.gz $PACKAGE package_descriptions
fi
do_clean
}
#
# Build for K7
#
build_k7() {
echo "*****************************************************"
echo
echo "building slack for xine-lib 1.0"
echo
echo "current architecture:k7"
echo "slackware package will be copied to ./slack directory"
echo
echo "*****************************************************"
rm -rf $PKG
export XINE_BUILD=athlon-pc-linux-gnu
do_build
if test "$DIE" -eq 0; then
tar -czvf xine-lib-1.0-k7.tar.gz $PACKAGE package_descriptions
fi
do_clean
}
#
# Main function
#
main() {
rm -rf $SLCK
mkdir -p $SLCK
rm -f config.cache && ./autogen.sh && make dist
build_pentiumpro
build_pentium
build_k6
build_k7
mv -f $CWD/xine-lib-1.0.tar.gz $SLCK
}
#
# Handle arguments if available.
#
build_arch() {
rm -rf $SLCK
mkdir -p $SLCK
rm -f config.cache && ./autogen.sh && make dist
$barch
mv -f $CWD/xine-lib-1.0.tar.gz $SLCK
}
case "$1" in
pentiumpro | ppro | i686 | 686)
barch=build_pentiumpro
build_arch
;;
pentium | i586 | 586)
barch=build_pentium
build_arch
;;
k6)
barch=build_k6
build_arch
;;
k7 | athlon)
barch=build_k7
build_arch
;;
*)
main
;;
esac
--- NEW FILE: xine-lib.spec.in ---
%define shortname libxine
%define name libxine1
%define version @SPEC_VERSION@
%define dirversion 1.0.0
%define release 0
%define major 1
%define libname %{shortname}%{major}
# Build separat packages:
# 1 create a sparate package
# 0 include files in main package
%define BUILD_AA 0
%define BUILD_ALSA09 0
%define BUILD_ARTS 0
%define BUILD_DEVEL 1
%define BUILD_DVB 0
%define BUILD_DVD 0
%define BUILD_DXR3 0
%define BUILD_ESD 0
%define BUILD_FLAC 0
%define BUILD_GNOME_VFS 0
%define BUILD_OGG 0
%define BUILD_OPENGL 0
%define BUILD_SDL 0
%define BUILD_DIRECTFB 0
%define BUILD_SYNCFB 0
%define BUILD_W32DLL 0
%define BUILD_XVMC 0
%define BUILD_STK 0
Name: %{name}
Summary: A portable video/audio library for unix-like systems.
Summary(cs): Přenositelná video a audio knihovna pro unixovské systémy
Summary(de): Eine portabele Audio-/Video-Bibliothek für unixartige Systeme.
Summary(fi): Joustava video- ja ääniohjelmointikirjasto Unix-tyylisille käyttöjärjestelmille.
Version: %{version}
Release: %{release}
License: GPL
Group: Development/Libraries
URL: http://xinehq.de
Source: http://xinehq.de/files/@PACKAGE@-@VERSION@.tar.gz
Packager: Manfred Tremmel <Manfred.Tremmel@iiv.de>
Obsoletes: xine
Obsoletes: xine-lib
Obsoletes: xine-lib-oss
Obsoletes: xine-lib-xv
Obsoletes: libxine0
Obsoletes: %{shortname}
Obsoletes: xine-vcdx
Provides: xine
Provides: xine-lib
Provides: %{shortname} = %{version}-%{release}
Provides: xine-vcdx
BuildRoot: %{_tmppath}/%{name}-buildroot
%description
libxine is the beating heart of xine (a free gpl-licensed video player for
unix-like systems) which among others provides support for decoding (and
playing back) of many today available audio/video codecs, like mpeg-4 (DivX),
mpeg-2 (DVD, SVCD), mpeg-1 (VCD), Quicktime and RealMedia just to name a few.
This library contains (and uses) numerous processor specific optimizations to
provide a smooth playback and to minimize the overall demand of CPU power.
Don't hesitate to use libxine in your own projects as long as your usage
complies to the GPL. More information about GPL-license can be found at
http://www.gnu.org/licenses/gpl.html
%description -l cs
libxine je tepající srdce xine (svobodného videopřehrávače pod licencí GPL pro
unixovské systémy). Mimo jiné poskytuje podporu pro dekódování (a přehrávání)
mnoha dnes dostupnými audio a video kodeky jako jsou např. mpeg-4 (DivX),
mpeg-2 (DVD, SVCD), mpeg-1 (VCD), Quicktime a RealMedia. Tato knihovna používá
četné procesorově závislé optimalizace k dosažení plynulého přehrávání a
zmenšení celkového nároku na výkon procesoru.
Dokud to bude ve shodě s GPL, neváhejte použít libxine ve vašich vlastních
projektech. Více informací o GPL licenci můžete nalézt na
http://www.gnu.org/licenses/gpl.html.
%description -l de
libxine ist das Herzstück von xine (einem freien, GPL lizensiertem Audio- und
Video-Abspielprogramm für unixartige Systeme). libxine stellt die Funktionen
zur Dekodierung und Wiedergabe vieler aktueller Audio- und Videocodecs zur
Verfügung, wie z.B. MPEG-4 (DivX), MPEG-2 (DVD, SVCD) und MPEG-1 (VCD),
Quicktime und RealMedia um nur einige zu nennen.
Die Bibliothek enthält und benutzt eine Vielzahl von prozessorspezifischen
Optimierungen, um eine flüssige Wiedergabe mit minimaler Prozessorbelastung
gewährleisten zu könnnen.
Zögern Sie nicht libxine in Ihren eigenen Projekten zu nutzen. Beachten Sie
hierzu jedoch die in der GPL Lizenz vereinbarten Bestimmungen. Weitere
Informationen zur GPL-Lizenz finden Sie unter http://www.gnu.org/licenses/gpl.html
%description -l fi
libxine on xinen sydän (vapaa GPL-linsensoitu videosoitinohjelma Unix-tyylisille
käyttöjärjestelmille), joka muun muassa tarjoaa mahdollisuudet pakatun videon
ja äänen purkamiseen (sekä näyttämiseen) suurimmalla osalla nykyaikaista äänen-
ja kuvanpakkausformaateista.
Tällaisia ovat mpeg-4 (DivX;-)), mpeg-2 (DVD, SVCD), mpeg-1 (VCD) muutamia
mainitaksemme. xinen purkukirjasto käyttää monia matalan tason prosessoripohjaisia
optimisaatiomenetelmiä tarjotakseen sulavan kuvantoistokokemuksen. Tämä on tarpeen
myös minimoimaan tarvittavaa prosessoritehoa.
Olet tervetullut käyttämään libxine:a omissa projekteissasi kunhan ne ovat GPL-
lisenssin kanssa yhteensopivia. lisätietoja GPL-lisenssistä löytyy osoitteesta:
http://www.gnu.org/licenses/gpl.html
%if %BUILD_DEVEL
%package devel
Summary: Header files and documentation to develope programs with libxine.
Summary(cs): Hlavičkové soubory a dokumentace pro vývoj programů, které používají libxine
Summary(de): Headerdateien und Dokumentationen, um Programme mit libxine entwickeln zu können.
Summary(fi): Header-tiedostot ja dokumentaatio, joita tarvitset kehittäessäsi ohjelmia libxine:n kanssa.
Group: Development/Libraries
Obsoletes: xine-lib-devel
Obsoletes: xine-devel
Obsoletes: libxine0-devel
Provides: %{shortname}-devel = %{version}-%{release}
Provides: xine-devel
Requires: %{libname} = %{version}-%{release}
%description devel
This package contains header files and documentation required to develope
programs with libxine.
libxine is the beating heart of xine (a free gpl-licensed video player for
unix-like systems) which among others provides support for decoding (and
playing back) of many today available audio/video codecs, like mpeg-4 (DivX),
mpeg-2 (DVD, SVCD), mpeg-1 (VCD), Quicktime and RealMedia just to name a few.
This library contains (and uses) numerous processor specific optimizations to
provide a smooth playback and to minimize the overall demand of CPU power.
Don't hesitate to use libxine in your own projects as long as your usage
complies to the GPL. More information about GPL-license can be found at
http://www.gnu.org/licenses/gpl.html
%description devel -l cs
Tento balíček obsahuje hlavičkové soubory a dokumentaci potřebnou pro vývoj
programů, které používají libxine.
libxine je tepající srdce xine (svobodného videopřehrávače pod licencí GPL pro
unixovské systémy). Mimo jiné poskytuje podporu pro dekódování (a přehrávání)
mnoha dnes dostupnými audio a video kodeky jako jsou např. mpeg-4 (DivX),
mpeg-2 (DVD, SVCD), mpeg-1 (VCD), Quicktime a RealMedia. Tato knihovna používá
četné procesorově závislé optimalizace k dosažení plynulého přehrávání a
zmenšení celkového nároku na výkon procesoru.
Dokud to bude ve shodě s GPL, neváhejte použít libxine ve vašich vlastních
projektech. Více informací o GPL licenci můžete nalézt na
http://www.gnu.org/licenses/gpl.html.
%description devel -l de
Dieses Paket enthält die Headerdateien und Dokumentationen, um Programme
mit libxine entwickeln zu können.
libxine ist das Herzstück von xine (einem freien, GPL lizensiertem Audio- und
Video-Abspielprogramm für unixartige Systeme). libxine stellt die Funktionen
zur Dekodierung und Wiedergabe vieler aktueller Audio- und Videocodecs zur
Verfügung, wie z.B. MPEG-4 (DivX), MPEG-2 (DVD, SVCD) und MPEG-1 (VCD),
Quicktime und RealMedia um nur einige zu nennen.
Die Bibliothek enthält und benutzt eine Vielzahl von prozessorspezifischen
Optimierungen, um eine flüssige Wiedergabe mit minimaler Prozessorbelastung
gewährleisten zu könnnen.
Zögern Sie nicht libxine in Ihren eigenen Projekten zu nutzen. Beachten Sie
hierzu jedoch die in der GPL Lizenz vereinbarten Bestimmungen. Weitere
Informationen zur GPL-Lizenz finden Sie unter http://www.gnu.org/licenses/gpl.html
%description devel -l fi
libxine on xinen sydän (vapaa GPL-linsensoitu videosoitinohjelma Unix-tyylisille
käyttöjärjestelmille), joka muun muassa tarjoaa mahdollisuudet pakatun videon
ja äänen purkamiseen (sekä näyttämiseen) suurimmalla osalla nykyaikaista äänen-
ja kuvanpakkausformaateista.
Tällaisia ovat mpeg-4 (DivX;-)), mpeg-2 (DVD, SVCD), mpeg-1 (VCD) muutamia
mainitaksemme. xinen purkukirjasto käyttää monia matalan tason prosessoripohjaisia
optimisaatiomenetelmiä tarjotakseen sulavan kuvantoistokokemuksen. Tämä on tarpeen
myös minimoimaan tarvittavaa prosessoritehoa.
Olet tervetullut käyttämään libxine:a omissa projekteissasi kunhan ne ovat GPL-
lisenssin kanssa yhteensopivia. lisätietoja GPL-lisenssistä löytyy osoitteesta:
http://www.gnu.org/licenses/gpl.html
%endif
%if %BUILD_ALSA09
%package alsa09
Summary: libxine sound output plugin for alsa >= 0.9
Summary(cs): Zvukový výstupní modul libxine pro ALSA >= 0.9
Summary(de): libxine Soundausgabeplguin für Alsa >= 0.9
Summary(fi): libxine-Ddnilisdke uudelle Linux:n ddniarkkitehtuurille (ALSA >= 0.9)
Group: Development/Libraries
Obsoletes: xine-lib-alsa09
Obsoletes: libxine0-alsa09
Requires: %{libname} = %{version}-%{release}
%description alsa09
libxine sound output plugin for alsa >= 0.9
%description alsa09 -l cs
Zvukový výstupní modul libxine pro ALSA >= 0.9.
%description alsa09 -l de
libxine Soundausgabe Plugin für alsa >= 0.9
%description alsa09 -l fi
libxine-ddnilisdke uudelle Linux:n ddniarkkitehtuurille (ALSA >= 0.9)
%endif
%if %BUILD_ARTS
%package arts
Summary: libxine sound output plugin for arts (KDE-soundserver)
Summary(cs): Zvukový výstupní modul libxine pro ARTS (zvukový server KDE)
Summary(de): libxine Soundausgabeplugin für arts (KDE-Soundserver)
Summary(fi): libxine-Ddnilisdke Arts ddnipalvelimelle (KDE:n ddnipalvelin)
Group: Development/Libraries
Obsoletes: xine-lib-arts
Obsoletes: libxine0-arts
Requires: %{libname} = %{version}-%{release}
%description arts
libxine sound output plugin for arts (KDE-soundserver)
%description arts -l cs
Zvukový výstupní modul libxine pro ARTS (zvukový server KDE).
%description arts -l de
libxine Soundausgabeplugin für arts (KDE-Soundserver)
%description arts -l fi
libxine-Ddnilisdke Arts ddnipalvelimelle (KDE:n ddnipalvelin)
%endif
%if %BUILD_ESD
%package esd
Summary: libxine sound output plugin for enlightmend sound daemon
Summary(cs): Zvukový výstupní modul libxine pro Enlightmend Sound Daemon
Summary(de): libxine Soundausgabeplugin für den Enlightmend Sound Daemon
Summary(fi): libxine-ddnilisdke Enlightmend ddnipalvelimelle
Group: Development/Libraries
Obsoletes: xine-lib-esd
Obsoletes: libxine0-esd
Requires: %{libname} = %{version}-%{release}
%description esd
libxine sound output plugin for enlightmend sound daemon (Gnome and Enlightment)
%description esd -l cs
Zvukový výstupní modul libxine pro Enlightmend Sound Daemon.
%description esd -l de
libxine Soundausgabeplugin für den Enlightmend Sound Daemon (Gnome und Enlightment)
%description esd -l fi
libxine-ddnilisdke Enlightmend ddnipalvelimelle
%endif
%if %BUILD_SDL
%package sdl
Summary: libxine video output plugin for SDL-library (Simple DirectMedia Layer)
Summary(cs): Videovýstupní modul libxine pro knihovnu SDL (Simple DirectMedia Layer)
Summary(de): libxine Videoausgabeplguin für SDL-Bibliothek (Simple DirectMedia Layer)
Summary(fi): libxine-Videolisdke SDL grafiikkakirjastolle (Simple DirectMedia Layer)
Group: Development/Libraries
Obsoletes: xine-lib-sdl
Obsoletes: libxine0-sdl
Requires: %{libname} = %{version}-%{release}
%description sdl
libxine video output plugin for SDL-library (Simple DirectMedia Layer)
%description sdl -l cs
Videovýstupní modul libxine pro knihovnu SDL (Simple DirectMedia Layer).
%description sdl -l de
libxine Videoausgabeplguin für SDL-Bibliothek (Simple DirectMedia Layer)
%description sdl -l fi
libxine-Videolisdke SDL-grafiikkakirjastolle (Simple DirectMedia Layer)
%endif
%if %BUILD_AA
%package aa
Summary: libxine video output plugin for aa-library (ASCII Art)
Summary(cs): Videovýstupní modul libxine pro knihovnu aa (ASCII Art)
Summary(de): libxine Videoausgabeplugin für aa-Bibliothek (ASCII Art)
Summary(fi): libxine-Videolisdke aa-grafiikkakirjastolle (ASCII Art)
Group: Development/Libraries
Obsoletes: xine-lib-aa
Obsoletes: libxine0-aa
Obsoletes: xine-extra
Provides: xine-extra
Requires: %{libname} = %{version}-%{release}
%description aa
libxine video output plugin for aa-library (ASCII Art)
%description aa -l cs
Videovýstupní modul libxine pro knihovnu aa (ASCII Art).
%description aa -l de
libxine Videoausgabeplugin für aa-Bibliothek (ASCII Art)
%description aa -l fi
libxine-Videolisdke aa-grafiikkakirjastolle (ASCII Art)
%endif
%if %BUILD_OPENGL
%package opengl
Summary: libxine video output plugin using OpenGL (3D graphic cards)
Summary(cs): Videovýstupní modul libxine používající OpenGL (3D grafické karty)
Summary(de): libxine Videoausgabeplugin per OpenGL (3D Grafikkarte)
Group: Development/Libraries
Obsoletes: xine-lib-opengl
Obsoletes: libxine0-opengl
Requires: %{libname} = %{version}-%{release}
%description opengl
libxine video output plugin using OpenGL (3D graphic cards)
%description opengl -l cs
Videovýstupní modul libxine, který používá OpenGL (3D grafické karty).
%description opengl -l de
libxine Videoausgabeplugin per OpenGL (3D Grafikkarte)
%endif
%if %BUILD_SYNCFB
%package syncfb
Summary: libxine video output plugin using synchroniced framebuffer (Matrox cards)
Summary(cs): Videovýstupní modul libxine používající framebuffer (karty Matrox)
Summary(de): libxine Videoausgabeplugin per synchronisiertem Framebuffer (Matrox Karten)
Summary(fi): libxine-Videolisdke Matrox-ndyttvkorttien synkronisoitua ndyttvmuistia varten.
Group: Development/Libraries
Obsoletes: libxine0-syncfb
Requires: %{libname} = %{version}-%{release}
%description syncfb
libxine video output plugin using synchroniced framebuffer (Matrox cards)
%description syncfb -l cs
Videovýstupní modul libxine, který používá synchronizovaný framebuffer (karty
Matrox).
%description syncfb -l de
libxine Videoausgabeplugin per synchronisiertem Framebuffer (Matrox Karten)
%description syncfb -l fi
libxine-Videolisdke Matrox-ndyttvkorttien synkronisoitua ndyttvmuistia varten.
%endif
%if %BUILD_DVD
%package dvd
Summary: libxine input plugin for playing video-dvd's with dvd-navigation
Summary(cs): Vstupní modul libxine na přehrávání VideoDVD s DVD navigací
Summary(de): libxine Inputplugin zum abspielen von Video-DVDs mit DVD-Navigation
Summary(fi): libxine-Lukulisdke, jolla kdyttdjd voi soittaa DVD-levyjd
Group: Development/Libraries
Obsoletes: xine-dvdnav
Requires: %{libname} = %{version}-%{release}
%description dvd
libxine input plugin for playing video-dvd's with dvd-navigation
%description dvd -l cs
Vstupní modul libxine na přehrávání VideoDVD s DVD navigací.
%description dvd -l de
libxine Inputplugin zum abspielen von Video-DVDs mit DVD-Navigation
%description dvd -l fi
libxine-Lukulisdke, jolla kdyttdjd voi soittaa DVD-levyjd
%endif
%if %BUILD_DVB
%package dvb
Summary: libxine input plugin for DigitalTV devices
Summary(cs): Vstupní modul libxine pro karty digitální TV
Summary(de): libxine Einabeplugin für digitale TV-Karten
Summary(fi): libxine-Lukulisdke, jolla kdyttdjd voi katsella DigitalTV-korttien ohjelmia
Group: Development/Libraries
Requires: %{libname} = %{version}-%{release}
%description dvb
libxine input plugin for Digital TV (Digital Video Broadcast - DVB) devices
e.g. Hauppauge WinTV Nova supported by DVB drivers from Convergence
%description dvb -l cs
Vstupní modul libxine pro karty digitální televize (Digital Video Broadcast -
DVB) jako je např. Hauppauge WinTV Nova podporovaná ovladači DVB od
Convergence.
%description dvb -l de
libxine Eingabeplugin für digitale TV-Karten (Digital Video Broadcast - DVB)
z.B. wird die Hauppauge WinTV Nova von Convergence unterstützt.
%description dvb -l fi
libxine-Lukulisdke, jolla kdyttdjd voi katsella DigitalTV-korttien ohjelmia
Esimerkiksi Haupaugen WinTV kortit ovat tuettuja DVB ajureilla.
%endif
%if %BUILD_GNOME_VFS
%package gnome-vfs
Summary: libxine input plugin for totem (a gnome frontend)
Summary(cs): Vstupní modul libxine pro totem (frontend GNOME)
Summary(de): libxine Einabeplugin für totem (ein Gnome Frontend)
Summary(fi): libxine-Lukulisdke Totem ohjelmaa varten, joka on libxine:n Gnome2 kdyttvliittymd
Group: Development/Libraries
Requires: %{libname} = %{version}-%{release}
%description gnome-vfs
libxine input plugin for totem (a gnome frontend)
%description gnome-vfs -l cs
Vstupní modul libxine pro totem (frontend GNOME).
%description gnome-vfs -l de
libxine Einabeplugin für totem (ein Gnome Frontend)
%description gnome-vfs -l fi
libxine-Lukulisdke Totem ohjelmaa varten, joka on libxine Gnome2 kdyttvliittymd
%endif
%if %BUILD_FLAC
%package flac
Summary: libxine sound input plugin for flac-files (Free Lossless Audio Codec)
Summary(cs): Zvukový modul libxine pro dekódování souborů FLAC (Free Lossless Audio Codec)
Summary(de): libxine Soundeinabeplugin für flac-Dateien (Free Lossless Audio Codec)
Summary(fi): libxine-Ddnilisdke flac-tiedostojen toistamiseen (Free Lossless Audio Codec)
Group: Development/Libraries
Requires: %{libname} = %{version}-%{release}
%description flac
libxine sound input plugin for flac-files (Free Lossless Audio Codec)
%description flac -l cs
Zvukový modul libxine pro dekódování souborů FLAC (Free Lossless Audio Codec).
%description flac -l de
libxine Soundeinabeplugin für flac-Dateien (Free Lossless Audio Codec == Freier, verlustfreier Audio-Codec)
%description flac -l fi
libxine-Ddnilisdke flac-tiedostojen toistamiseen (Free Lossless Audio Codec)
%endif
%if %BUILD_OGG
%package ogg
Summary: libxine sound/video input plugin for ogg/ogm-files
Summary(cs): Zvukový modul libxine pro dekódování souborů OGG a OGM
Summary(de): libxine Sound-/Videoeinabeplugin für ogg/ogm-Dateien
Summary(fi): libxine-Ddni/Videolisdke Ogg/Ogm tiedostojen toistamiseen
Group: Development/Libraries
Requires: %{libname} = %{version}-%{release}
Obsoletes: xine-lib-oggvorbis
Obsoletes: %{libname}-oggvorbis
Obsoletes: %{libname}-oggtheora
Provides: xine-lib-oggvorbis
Provides: %{libname}-oggvorbis
Provides: %{libname}-oggtheora
%description ogg
libxine sound/video input plugin for ogg/ogm-files
%description ogg -l cs
Zvukový modul libxine pro dekódování souborů OGG a OGM.
%description ogg -l de
libxine Sound-/Videoeinabeplugin für ogg/ogm-Dateien
%description ogg -l fi
libxine-Ddni/Videolisdke Ogg/Ogm tiedostojen toistamiseen
%endif
%if %BUILD_DIRECTFB
%package directfb
Summary: libxine video output plugin using libdirectfb
Summary(cs): Videovýstupní modul libxine používající libdirectfb
Summary(de): libxine Videoausgabeplugin per libdirectfb
Group: Development/Libraries
Requires: %{libname} = %{version}-%{release}
%description directfb
libxine video output plugin using libdirectfb
%description directfb -l cs
Videovýstupní modul libxine, který používá libdirectfb.
%description directfb -l de
libxine Videoausgabeplugin per libdirectfb
%endif
%if %BUILD_STK
%package stk
Summary: libxine video output plugin using libstk
Summary(cs): Videovýstupní modul libxine používající libstk
Summary(de): libxine Videoausgabeplugin per libstk
Group: Development/Libraries
Requires: %{libname} = %{version}-%{release}
%description stk
libxine video output plugin using libstk (Set-top Toolkit)
%description stk -l cs
Videovýstupní modul libxine, který používá libstk.
%description stk -l de
libxine Videoausgabeplugin per libstk (Set-top Toolkit)
%endif
%if %BUILD_DXR3
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
%package dxr3
Summary: libxine video output plugin using mpeg2 decoding cards with dxr3 decoder-chip
Summary(cs): Videovýstupní modul libxine používající karty s čipem DXR3
Summary(de): libxine Videoausgabeplugin, nutzt MPEG2-decoder-Karten mit dxr3 Decoder-Chip
Summary(fi): libxine-Videolisdke MPEG2-videopurkukorteille, joissa on DXR3 purkusiru
Group: Development/Libraries
Obsoletes: xine-lib-dxr3
Obsoletes: libxine0-dxr3
Requires: %{libname} = %{version}-%{release}
%description dxr3
libxine video output plugin using mpeg2 decoding cards with dxr3 decoder-chip
%description dxr3 -l cs
Videovýstupní modul libxine používající karty, které dekódují MPEG2 pomocí čipu
DXR3.
%description dxr3 -l de
libxine Videoausgabeplugin, nutzt MPEG2-decoder-Karten mit dxr3 Decoder-Chip
%description dxr3 -l fi
libxine-Videolisdke MPEG2-videopurkukorteille, joissa on DXR3 purkusiru
%endif
%endif
%if %BUILD_XVMC
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
%package xvmc
Summary: libxine video output plugin using XVideo-extension with motion compensation
Summary(cs): Videovýstupní modul libxine používající rozšíření XVideo MC
Summary(de): libxine Videoausgabeplugin per XVideo-Erweiterung mit Motion Compensation
Group: Development/Libraries
Obsoletes: libxine0-xvmc
Autoreqprov: Off
Requires: %{libname} = %{version}-%{release}
%description xvmc
libxine video output plugin using XVideo-extension with motion compensation
%description xvmc -l cs
Videovýstupní modul libxine, který používá rozšíření XVideo s kompenzací pohybu.
%description xvmc -l de
libxine Videoausgabeplugin per XVideo-Erweiterung mit Motion Compensation
%endif
%endif
%if %BUILD_W32DLL
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon
%package w32dll
Summary: libxine decoding plugin using win32 dlls for native not supported formats
Summary(cs): Dekódovací modul libxine, který používá DLL knihovny WIN32
Summary(de): libxine Dekodierplugin, nutzt Win32 dlls für natvie nicht unterstützte Formate
Summary(fi): libxine-Purkulisdke, joka mahdollistaa Win32 DLL:n kdytvn.
Group: Development/Libraries
Obsoletes: xine-lib-w32dll
Obsoletes: libxine0-w32dll
Requires: %{libname} = %{version}-%{release}
%description w32dll
libxine decoding plugin using win32 dlls for native not supported formats
%description w32dll -l cs
Dekódovací modul libxine, který používá DLL knihovny WIN32 pro formáty
nepodporované přímo.
%description w32dll -l de
libxine Dekodierplugin, nutzt Win32 dlls für native nicht unterstützte Formate
%description w32dll -l fi
libxine-Purkulisdke, joka mahdollistaa Win32 DLL:n kdytvn.
%endif
%endif
%prep
%setup -q -n @TAR_NAME@
%build
export CFLAGS="${RPM_OPT_FLAGS}"
if [ ! -f configure ]; then
NO_CONFIGURE=1 ./autogen.sh
fi
#
# currently we do not use %%configure as it seems to cause trouble with
# certain automake produced configure scripts - depending on automake version.
# Use BUILD_ARGS envvar to pass extra parameters to configure (like --enable-dha-mod/etc...)
#
./configure --build=%{_target_platform} --prefix=%{_prefix} \
--exec-prefix=%{_exec_prefix} --bindir=%{_bindir} \
--sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \
--datadir=%{_datadir} --includedir=%{_includedir} \
--libdir=%{_libdir} --libexecdir=%{_libexecdir} \
--localstatedir=%{_localstatedir} \
--sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
--infodir=%{_infodir} \
--with-internal-vcdlibs
# Error in libfaad when compiling with mmx or sse enabled, remove it
mv src/libfaad/Makefile src/libfaad/Makefile_save
cat src/libfaad/Makefile_save | sed -e "s/-mmmx/-mno-mmx/g" -e "s/-msse/-mno-sse/g" > src/libfaad/Makefile
make
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=%{?buildroot:%{buildroot}} LIBRARY_PATH=%{?buildroot:%{buildroot}}%{_libdir} install
cd ${RPM_BUILD_ROOT}
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_zw
%if %BUILD_DEVEL
echo "%doc README TODO AUTHORS COPYING ChangeLog" >> ${RPM_BUILD_DIR}/filelist_libxine1_zw
%else
echo "%doc README TODO AUTHORS COPYING ChangeLog doc/hackersguide/*.sgml doc/hackersguide/*.fig doc/hackersguide/README" >> ${RPM_BUILD_DIR}/filelist_libxine1_zw
%endif
find . -type f | sed 's,^\.%{_datadir}/doc,\%doc %{_datadir}/doc,' | sed 's,^\.,,' >> ${RPM_BUILD_DIR}/filelist_libxine1_zw
find . -type l | sed 's,^\.%{_datadir}/doc,\%doc %{_datadir}/doc,' | sed 's,^\.,,' >> ${RPM_BUILD_DIR}/filelist_libxine1_zw
grep -v "/man/" ${RPM_BUILD_DIR}/filelist_libxine1_zw | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
grep "/man/" ${RPM_BUILD_DIR}/filelist_libxine1_zw | sed -e 's/$/\*/g' | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_zw
%if %BUILD_DEVEL
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_devel
echo "%doc doc/hackersguide/*.sgml doc/hackersguide/*.fig doc/hackersguide/README" >> ${RPM_BUILD_DIR}/filelist_libxine1_devel
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "/include/|dhahelper\.o|libxine*\.(so|la)$|\.m4$" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_devel
grep -v -E "/include/|dhahelper\.o|libxine*\.(so|la)$|\.m4$" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_ALSA09
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_alsa09
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_ao_out_alsa\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_alsa09
grep -v "xineplug_ao_out_alsa\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_ARTS
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_arts
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_ao_out_arts\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_arts
grep -v "xineplug_ao_out_arts\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_ESD
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_esd
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_ao_out_esd\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_esd
grep -v "xineplug_ao_out_esd\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_DXR3
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_dxr3
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "dxr3" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_dxr3
grep -v "dxr3" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%endif
%if %BUILD_SDL
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_sdl
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_vo_out_sdl\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_sdl
grep -v "xineplug_vo_out_sdl\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_AA
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_aa
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_vo_out_aa\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_aa
grep -v "xineplug_vo_out_aa\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_OPENGL
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_opengl
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_vo_out_opengl\.|README.opengl" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_opengl
grep -v -E "xineplug_vo_out_opengl\.|README.opengl" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_SYNCFB
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_syncfb
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_vo_out_syncfb\.|README\.syncfb" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_syncfb
grep -v -E "xineplug_vo_out_syncfb\.|README\.syncfb" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_DIRECTFB
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_directfb
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_vo_out_directfb\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_directfb
grep -v -E "xineplug_vo_out_directfb\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_STK
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_stk
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_vo_out_stk\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_stk
grep -v -E "xineplug_vo_out_stk\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_XVMC
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_xvmc
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_vo_out_x[x|v]mc\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_xvmc
grep -v "xineplug_vo_out_x[x|v]mc\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%endif
%if %BUILD_W32DLL
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_w32dll
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_decode_qt\.|xineplug_decode_w32dll\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_w32dll
grep -v -E "xineplug_decode_qt\.|xineplug_decode_w32dll\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%endif
%if %BUILD_DVB
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_dvb
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_inp_dvb\.|README\.dvb" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_dvb
grep -v -E "xineplug_inp_dvb\.|README\.dvb" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_DVD
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_dvd
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_inp_dvd\.|README\.network_dvd" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_dvd
grep -v -E "xineplug_inp_dvd\.|README\.network_dvd" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_GNOME_VFS
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_gnome_vfs
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_inp_gnome_vfs\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_gnome_vfs
grep -v "xineplug_inp_gnome_vfs\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_FLAC
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_flac
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_flac\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_flac
grep -v "xineplug_flac\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_OGG
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_ogg
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_decode_vorbis\.|xineplug_dmx_ogg\.|xineplug_decode_theora\.|xineplug_decode_speex\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_ogg
grep -v -E "xineplug_decode_vorbis\.|xineplug_dmx_ogg\.|xineplug_decode_theora\.|xineplug_decode_speex\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files -f ../filelist_libxine1
%if %BUILD_DEVEL
%files devel -f ../filelist_libxine1_devel
%endif
%if %BUILD_ALSA09
%files alsa09 -f ../filelist_libxine1_alsa09
%endif
%if %BUILD_ARTS
%files arts -f ../filelist_libxine1_arts
%endif
%if %BUILD_ESD
%files esd -f ../filelist_libxine1_esd
%endif
%if %BUILD_DXR3
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
%files dxr3 -f ../filelist_libxine1_dxr3
%endif
%endif
%if %BUILD_SDL
%files sdl -f ../filelist_libxine1_sdl
%endif
%if %BUILD_AA
%files aa -f ../filelist_libxine1_aa
%endif
%if %BUILD_OPENGL
%files opengl -f ../filelist_libxine1_opengl
%endif
%if %BUILD_SYNCFB
%files syncfb -f ../filelist_libxine1_syncfb
%endif
%if %BUILD_DIRECTFB
%files directfb -f ../filelist_libxine1_directfb
%endif
%if %BUILD_STK
%files stk -f ../filelist_libxine1_stk
%endif
%if %BUILD_XVMC
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
%files xvmc -f ../filelist_libxine1_xvmc
%endif
%endif
%if %BUILD_W32DLL
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon
%files w32dll -f ../filelist_libxine1_w32dll
%endif
%endif
%if %BUILD_DVB
%files dvb -f ../filelist_libxine1_dvb
%endif
%if %BUILD_DVD
%files dvd -f ../filelist_libxine1_dvd
%endif
%if %BUILD_GNOME_VFS
%files gnome-vfs -f ../filelist_libxine1_gnome_vfs
%endif
%if %BUILD_FLAC
%files flac -f ../filelist_libxine1_flac
%endif
%if %BUILD_OGG
%files ogg -f ../filelist_libxine1_ogg
%endif
%changelog
* Tue Dec 07 2004 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- included xxmc video out plugin into xvmc sub-rpm
* Sat Sep 11 2004 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- added missing Requires-Statements in the subpackages
* Fri Sep 03 2004 František Dvořák <valtri@users.sourceforge.net>
- Czech translation update
* Thu Sep 02 2004 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- konverted to UTF8
- some fixes for non IA32 systems (especialy Athlon64/Opteron)
* Sat May 01 2004 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- activated opengl plugin
* Tue Apr 06 2004 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- removed xvid modules from -devel package and put it back
to main package.
* Fri Feb 13 2004 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- added new sub-rpm for stk videoout plugin
* Fri Nov 21 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- use internal vcdlibs to keep dependencies low
* Sun Oct 19 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- added separate directfb-package to solve dependendies
* Tue Oct 07 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- activated separte xvmc package, when this is wanted.
* Sun Jul 20 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- made ogg-package out of oggvorbis, oggtheora and the new
oggspeex xine-plugins
* Sat May 24 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- complete rework of the specfile
* Wed May 14 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- Update for > 1-beta13
* Sat Mar 08 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- added missing doc-files
* Wed Jan 15 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- removed man3 manpages in devel-filelist
* Tue Dec 24 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- Update for libxine 1.0beta1 added pkgconfig-directory
* Wed Dec 11 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- Update for libxine 1.0beta0, fonts-directory has been changed
* Sat Dec 07 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- added translation for finnish by Tuukka Pasanen <illuusio@mailcity.com>
- some updates to german and english descriptions
- added post-directory to file-list
* Sat Nov 09 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- Final changes for libxine 1.0alpha1
* Mon Nov 04 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- another change to make it run with next version
* Sat Nov 02 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- Changes for next xine version
* Sun Oct 27 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- Update of the german descriptions.
* Thu Jun 06 2002 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- ability to pass args to configure. Fix vidix/dhahelper inclusion.
* Mon May 27 2002 Matthias Dahl <matthew2k@web.de>
- added passing of build parameter to configure
* Sun May 26 2002 Matthias Dahl <matthew2k@web.de>
- added german translations by Manfred Tremmel <Manfred.Tremmel@iiv.de>
- added fixes (missing -l cs) by Manfred Tremmel <Manfred.Tremmel@iiv.de>
* Sat May 18 2002 Matthias Dahl <matthew2k@web.de>
- added czech translations by valtri@atlas.cz
* Thu May 16 2002 Matthias Dahl <matthew2k@web.de>
- replaced %configure because it was causing trouble on certain configurations
* Sat May 11 2002 Matthias Dahl <matthew2k@web.de>
- reworked/revamped spec file, still needs some tuning (BuildPreReq, ...)
* Thu May 2 2002 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- sync with new logo stuff.
* Wed May 1 2002 Matthias Dahl <matthew2k@web.de>
- added cinepak, cyuv and msvc decode plugins
- commented out sdl related parts because this is currently broken in xine-lib
- added 'cs,pl_PL' translation catalogs
* Sun Mar 31 2002 Matthias Dahl <matthew2k@web.de>
- added mms input plugin, spucc decoder and missing xine_logo.zyuy2.
- commented out video fill decoder for now as it seems to be no longer built
* Wed Feb 6 2002 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- added 'de,fr,pt_BR' translation catalogs.
* Sat Dec 26 2001 Matthias Dahl <matthew2k@web.de>
- added sputext decode plugin and fonts.
* Sat Dec 8 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- ASF plugin is optional.
* Thu Dec 6 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- Add cda plugins.
* Wed Nov 14 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- fixed dxr3 header files inclusion, aalib deps: thanks to Andrew Meredith <andrew@anvil.org>.
* Mon Oct 29 2001 Matthias Dahl <matthew2k@web.de>
- added http input plugin
* Thu Oct 18 2001 Matthias Dahl <matthew2k@web.de>
- added asf demuxer plugin
* Sun Oct 14 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- move vorbis in separate package. Add DivX4 decoder plugin.
* Wed Oct 10 2001 Matthias Dahl <matthew2k@web.de>
- added vorbis files and missing man pages to filelist.
* Thu Sep 27 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- Add desktop stuff from patches by Miguel Freitas <miguel@cetuc.puc-rio.br>
- Fixed xine.m4 installation from Andrew Meredith <andrew@anvil.org>
* Fri Sep 21 2001 Matthias Dahl <matthew2k@web.de>
- added two missing files (xine-config man page and xine.m4)
* Sun Sep 16 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- Merge patch from Jos�Carlos Monteiro <jcm@netcabo.pt>:
- Filelist and other minor updates,
- Fixed some SuSE compatibility issues,
- Added Portuguese summary.
* Sun Sep 16 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- Add missing files.
* Sun Aug 19 2001 Matthias Dahl <matthew2k@web.de>
- The usual update to the filelist :)
- temporarily removed mpg123 decoder plugin from filelist cause it is not
built with the recent CVS tree
* Thu Jul 26 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- Made oss, aa, xv, esd, w32dll, documentation as separate packages.
* Thu Jul 26 2001 Matthias Dahl <matthew2k@web.de>
- added seperate arts package and one missing demuxer plugin to filelist
* Wed Jul 18 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- list all plugins to avoid *strange* inclusion ;-).
* Sun Jun 10 2001 Matthias Dahl <matthew2k@web.de>
- updated filelist
- re-activated execution of /sbin/ldconfig as post install script
* Thu Mar 28 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- add korean summary, patch from Louis JANG <louis@ns.mizi.com>
* Thu Jan 11 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- patch from Sung-Hyun Nam <namsh@lgic.co.kr> applied.
* Fri Oct 17 2000 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- first spec file.
--- NEW FILE: vga.xinefont.gz ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: Makefile.am ---
include $(top_srcdir)/misc/Makefile.common
SUBDIRS = fonts
EXTRA_DIST = build_rpms.sh \
cdda_server.c \
SlackBuild.in \
SlackBuild \
vga.xinefont.gz \
xine-fontconv.c \
xine-lib.spec.in \
xine-lib.spec \
libxine.pc.in \
libdvdcss-1.2.6-network.patch \
Makefile.common
bin_SCRIPTS = xine-config
pkgconfigdir=$(libdir)/pkgconfig
pkgconfig_DATA=libxine.pc
xine-fontconv: xine-fontconv.c
$(CC) -W -Wall -g -o xine-fontconv xine-fontconv.c -lz `freetype-config --cflags` `freetype-config --libs`
cdda_server: cdda_server.c
$(CC) -W -Wall -g -o cdda_server cdda_server.c -ldl
--- NEW FILE: Makefile.common ---
LIBTOOL = $(SHELL) $(top_builddir)/libtool-nofpic
XINE_LIB = $(top_builddir)/src/xine-engine/libxine.la
$(XINE_LIB):
@cd $(top_srcdir)/src/xine-engine && $(MAKE)
install-data-hook:
@if test $$MAKELEVEL -le 4 ; then \
if test -x "$(top_srcdir)/post-install.sh" ; then \
$(top_srcdir)/post-install.sh ; \
fi \
fi
pass1:
@$(MAKE) MULTIPASS_CFLAGS="$(PASS1_CFLAGS)"
pass2:
@$(MAKE) MULTIPASS_CFLAGS="$(PASS2_CFLAGS)"
debug:
@$(MAKE) CFLAGS="$(DEBUG_CFLAGS)"
install-debug: debug
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
@list='$(SUBDIRS)'; for subdir in $$list; do \
(cd $$subdir && $(MAKE) $@) || exit; \
done;
$(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
$(install_sh) -d $(DESTDIR)$(includedir)/xine
@list='$(include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/xine/$$p"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/xine/$$p; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
list='$(include_HEADERS)'; for p in $$list; do \
rm -f $(DESTDIR)$(includedir)/xine/$$p; \
done
uninstall-hook:
@if echo '$(libdir)' | egrep ^'$(XINE_PLUGINDIR)' >/dev/null; then \
list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p="`echo $$p | sed -e 's/\.la$$/\.so/g;s|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(libdir)/$$p"; \
rm -f $(DESTDIR)$(libdir)/$$p; \
done; \
fi
mostlyclean-generic:
-rm -f *~ \#* .*~ .\#*
maintainer-clean-generic:
-@echo "This command is intended for maintainers to use;"
-@echo "it deletes files that may require special tools to rebuild."
-rm -f Makefile.in
--- NEW FILE: xine-fontconv.c ---
/*
* Copyright (C) 2001-2003 the xine project
*
* This file is part of xine, a free video player.
*
* xine 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.
*
* xine 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-1307, USA
*
* OSD stuff (text and graphic primitives)
*
* xine-fontconv.c
*
* converts ttf fonts to xine osd fonts
*
* compile:
* gcc -o xine-fontconv xine-fontconv.c `freetype-config --cflags --libs` -lz
*
* usage:
* xine-fontconv font.ttf fontname [encoding1 [encoding2 [...]]]
*
* begin : Sat Dec 1 2001
* copyright : (C) 2001 by Miguel Freitas
* unicode stuff : (C) 2003 by Frantisek Dvorak
*/
#include <sys/param.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include <zlib.h>
#include <iconv.h>
#ifndef OLD_FREETYPE2
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_GLYPH_H
#else /* freetype 2.0.1 */
#include <freetype/freetype.h>
#include <freetype/ftglyph.h>
#endif
/* we want UCS-2 encoding in the machine endian */
#if BYTE_ORDER == BIG_ENDIAN
# define UCS2_ENCODING "UCS-2BE"
#else
# define UCS2_ENCODING "UCS-2LE"
#endif
#ifndef MAX
# define MAX (a, b) ((a) > (b)? (a) : (b))
#endif
#define f266ToInt(x) (((x)+32)>>6) /* round fractional fixed point */
/* coordinates are in 26.6 pixels (i.e. 1/64th of pixels)*/
#define f266CeilToInt(x) (((x)+63)>>6) /* ceiling */
#define f266FloorToInt(x) ((x)>>6) /* floor */
/*
#define LOG 1
*/
/* xine stuff */
typedef struct osd_fontchar_s osd_fontchar_t;
typedef struct osd_font_s osd_font_t;
typedef unsigned short uint16_t;
typedef unsigned char uint8_t;
struct osd_fontchar_s {
uint16_t code;
uint16_t width;
uint16_t height;
uint8_t *bmp;
};
struct osd_font_s {
char name[40];
uint16_t version;
uint16_t size;
uint16_t num_fontchars;
osd_fontchar_t *fontchar;
osd_font_t *next;
};
/* list */
typedef struct item_s item_t;
struct item_s {
uint16_t code;
item_t *next;
};
osd_fontchar_t fontchar;
osd_font_t font;
static int gzwrite_i16(gzFile *fp, uint16_t number) {
return gzputc(fp, number & 0xFF) != -1 &&
gzputc(fp, (number >> 8) & 0xFF) != -1;
}
/* search the item with 'code' in the sorted list */
item_t *list_search(item_t *list, uint16_t code, item_t **parent) {
item_t *item;
/* searching */
item = list;
while(item && item->code < code) {
list = item;
item = item->next;
}
/* parent (or future parent) */
if (parent) *parent = list == item ? NULL : list;
if (item && item->code == code) return item;
else return NULL;
}
/* add new number into sorted list, returns if code is there already */
int list_insert(item_t **list, uint16_t code) {
item_t *item, *parent;
if ((item = list_search(*list, code, &parent)) == NULL) {
/* insert new item */
if ((item = malloc(sizeof(item_t))) == NULL) {
printf("Insufficient memory\n");
abort();
}
item->code = code;
if (parent) {
item->next = parent->next;
parent->next = item;
} else {
item->next = *list;
*list = item;
}
return 0;
} else {
/* item is there already */
return 1;
}
}
/* free the list */
void list_free(item_t *list) {
item_t *item;
while(list != NULL) {
item = list;
list = list->next;
free(item);
}
}
/*
* generate sorted list with unicodes in all given pages,
* returns number of unicodes in the list
*/
uint16_t generate_unicodes_list(item_t **list, char **pages, int number) {
int page;
uint16_t codes_count = 0; /* unicode counter */
int32_t z; /* index in the codepage */
iconv_t cd; /* iconv conversion descriptor */
*list = NULL;
/* process all given codepages */
for (page = 0; page < number; page++) {
/* prepare encoding */
if ((cd = iconv_open(UCS2_ENCODING, pages[page])) == (iconv_t)-1) {
printf("Unsupported encoding \"%s\"\n", pages[page]);
continue;
}
printf("Used encoding \"%s\"\n", pages[page]);
/* add new unicodes into list */
for (z = 32; z < 0xFFFF; z++) {
uint16_t unicode;
char *inbuf = (char *)&z;
char *outbuf = (char *)&unicode;
size_t inbytesleft = z <= 0xFF ? 1 : 2;
size_t outbytesleft = 2;
size_t count;
/* get unicode value from index 'z' in this codepage 'pages[i]' */
count = iconv(cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
if (count == (size_t)-1 || inbytesleft != 0) {
/* unused index 'z' in this codepage */
continue;
}
if (!list_insert(list, unicode)) codes_count++;
}
iconv_close(cd);
}
return codes_count;
}
#ifdef LOG
void print_bitmap (FT_Bitmap *bitmap) {
int x,y;
for( y = 0; y < bitmap->rows; y++ ) {
for( x = 0; x < bitmap->width; x++ ) {
if( bitmap->buffer[y*bitmap->width+x] > 1 )
printf("%02x ", bitmap->buffer[y*bitmap->width+x] );
else
printf(" ");
}
printf("\n");
}
}
#endif
FT_Bitmap *create_bitmap (int width, int height) {
FT_Bitmap * bitmap;
#ifdef LOG
printf("Bitmap char %d %d\n",width,height);
#endif
bitmap = malloc( sizeof( FT_Bitmap ) );
bitmap->rows = height;
bitmap->width = width;
bitmap->buffer = malloc(width*height);
memset( bitmap->buffer, 0, width*height );
return bitmap;
}
void destroy_bitmap (FT_Bitmap * bitmap) {
free(bitmap->buffer);
free(bitmap);
}
/*
This function is called to blend a slightly deslocated
version of the bitmap. This will produce the border effect.
Note that the displacement may be smaller than 1 pixel
as the bitmap is generated in freetype 1/64 units.
This border is antialiased to the background.
*/
void add_border_bitmap( FT_Bitmap *dst, FT_Bitmap *src, int left, int top )
{
int x,y;
int x1, y1;
int dstpos, srcpos;
for( y = 0; y < src->rows; y++ ) {
for( x = 0; x < src->width; x++ ) {
srcpos = y * src->width + x;
x1 = x + left;
if( x1 < 0 || x1 >= dst->width )
continue;
y1 = y + top;
if( y1 < 0 || y1 >= dst->rows )
continue;
dstpos = y1 * dst->width + x1;
src->buffer[srcpos] /= 51;
if( src->buffer[srcpos] > dst->buffer[dstpos] )
dst->buffer[dstpos] = src->buffer[srcpos];
}
}
}
/*
Blend the final version of bitmap (the foreground color) over the
already generated border. It will be antialiased to the border.
Final palette will be:
0: not used by font, always transparent
1: font background, usually transparent, may be used to implement
translucid boxes where the font will be printed.
2-5: transition between background and border (usually only alpha
value changes).
6: font border. if the font is to be displayed without border this
will probably be adjusted to font background or near.
7-9: transition between border and foreground
10: font color (foreground)
*/
void add_final_bitmap( FT_Bitmap *dst, FT_Bitmap *src, int left, int top )
{
int x,y;
int x1, y1;
int dstpos, srcpos;
for( y = 0; y < src->rows; y++ ) {
for( x = 0; x < src->width; x++ ) {
srcpos = y * src->width + x;
x1 = x + left;
if( x1 < 0 || x1 >= dst->width )
continue;
y1 = y + top;
if( y1 < 0 || y1 >= dst->rows )
continue;
dstpos = y1 * dst->width + x1;
src->buffer[srcpos] /= 52;
if( src->buffer[srcpos] )
dst->buffer[dstpos] = src->buffer[srcpos] + 5;
}
}
for( y = 0; y < dst->rows; y++ ) {
for( x = 0; x < dst->width; x++ ) {
dstpos = y * dst->width + x;
dst->buffer[dstpos]++;
}
}
}
void render_font (FT_Face face, char *fontname, int size, int thickness,
item_t *unicodes) {
char filename[1024];
FT_Bitmap *out_bitmap;
gzFile *fp;
int error;
int error_counter;
int glyph_index;
FT_Glyph glyph;
FT_BitmapGlyph glyph_bitmap;
FT_Vector origin;
int max_bearing_y = 0;
int i;
int converted;
item_t *item, *error_unicodes;
static int border_pos[9][2] = {
{-1,0},{1,0},{0,-1},{0,1},
{-1,-1},{1,-1},{-1,1},{1,1}, {0,0}
};
/*
* generate filename, open file
*/
snprintf (filename, sizeof(filename), "%s-%d.xinefont.gz", fontname, size);
fp = gzopen(filename,"w");
if (!fp) {
printf ("error opening output file %s\n", filename);
return;
}
/*
* set up font
*/
strncpy(font.name, fontname, sizeof(font.name));
font.name[sizeof(font.name) - 1] = '\0';
/* changes from version 1 to version 2:
* 'code' in characters is defined as little endian 16-bit unicode
* characters are sorted by 'code'
*/
font.version = 2;
font.num_fontchars = 0;
font.size = size;
error = FT_Set_Pixel_Sizes( face, /* handle to face object */
0, /* pixel_width */
size ); /* pixel_height */
if (error) {
printf("error setting size\n");
return;
}
if( !thickness )
thickness = size * 64 / 30;
/*
* calc max bearing y.
* this is needed to align all bitmaps by the upper position.
*/
error_counter = 0;
error_unicodes = NULL;
for (item = unicodes; item; item = item->next) {
glyph_index = FT_Get_Char_Index( face, item->code);
if (!glyph_index) {
error_counter++;
list_insert(&error_unicodes, item->code);
continue;
}
error = FT_Load_Glyph (face, /* handle to face object */
glyph_index, /* glyph index */
FT_LOAD_DEFAULT ); /* load flags */
if (error) {
error_counter++;
list_insert(&error_unicodes, item->code);
continue;
}
#ifdef LOG
printf("bearing_y %ld\n",face->glyph->metrics.horiBearingY);
#endif
if( (face->glyph->metrics.horiBearingY >> 6) > max_bearing_y )
max_bearing_y = (face->glyph->metrics.horiBearingY >> 6);
font.num_fontchars++;
}
printf("max_bearing_y: %d\n", max_bearing_y + f266CeilToInt(thickness));
gzwrite(fp, font.name, sizeof(font.name));
gzwrite_i16(fp, font.version);
gzwrite_i16(fp, font.size);
gzwrite_i16(fp, font.num_fontchars);
for (item = unicodes; item; item = item->next) {
converted = 0;
for( i=0; i < 9; i++ ) {
glyph_index = FT_Get_Char_Index( face, item->code);
if (glyph_index) {
error = FT_Load_Glyph( face, /* handle to face object */
glyph_index, /* glyph index */
FT_LOAD_DEFAULT ); /* load flags */
if (!error) {
error = FT_Get_Glyph( face->glyph, &glyph );
if( i == 0 ) {
out_bitmap = create_bitmap( f266CeilToInt(thickness + MAX(face->glyph->metrics.horiAdvance, face->glyph->metrics.width + face->glyph->metrics.horiBearingX)),
f266CeilToInt((max_bearing_y<<6) - face->glyph->metrics.horiBearingY +
face->glyph->metrics.height + thickness) );
}
origin.x = thickness + border_pos[i][0]*thickness;
origin.y = thickness + border_pos[i][1]*thickness;
error = FT_Glyph_Transform(glyph, NULL, &origin) ||
FT_Glyph_To_Bitmap( &glyph, ft_render_mode_normal, NULL, 1);
if (error) {
printf("error generating bitmap [U+%04X]\n", item->code);
destroy_bitmap(out_bitmap);
return;
}
glyph_bitmap = (FT_BitmapGlyph)glyph;
if( i < 8 )
add_border_bitmap( out_bitmap, &glyph_bitmap->bitmap, glyph_bitmap->left,
max_bearing_y - glyph_bitmap->top );
else
add_final_bitmap( out_bitmap, &glyph_bitmap->bitmap, glyph_bitmap->left,
max_bearing_y - glyph_bitmap->top );
converted = 1;
FT_Done_Glyph( glyph );
}
}
}
if( converted ) {
#ifdef LOG
printf("[U+%04X] bitmap width: %d height: %d\n", item->code, out_bitmap->width, out_bitmap->rows );
/*
print_bitmap(out_bitmap);
*/
#endif
fontchar.code = item->code;
fontchar.width = out_bitmap->width;
fontchar.height = out_bitmap->rows;
gzwrite_i16 (fp, fontchar.code);
gzwrite_i16 (fp, fontchar.width);
gzwrite_i16 (fp, fontchar.height);
gzwrite (fp, out_bitmap->buffer, out_bitmap->width*out_bitmap->rows);
destroy_bitmap(out_bitmap);
}
}
gzclose(fp);
if (error_counter) {
printf("error: %d characters couldn't read: ", error_counter);
/* this unicodes wasn't readed from .ttf font */
item = error_unicodes;
while(item) {
printf("U+%04X ", item->code);
item = item->next;
}
printf("\n");
list_free(error_unicodes);
}
printf ("generated %s (%d characters)\n", filename, font.num_fontchars);
}
int main(int argc, char *argv[]) {
int error;
int len;
FT_Library library;
FT_Face face;
int thickness = 0;
char *encoding = "iso-8859-1";
item_t *unicodes = NULL; /* unicode list */
#ifdef LOG
item_t *item;
#endif
uint16_t count;
/*
* command line parsing
*/
if (argc < 3) {
printf ("usage: %s font.ttf fontname [encoding1 [encoding2 [...]]]\n", argv[0]);
exit (1);
}
len = strlen (argv[1]);
if (strncasecmp (&argv[1][len-4],".ttf",3)) {
printf ("font name must have .ttf suffix (is %s)\n", &argv[1][len-4]);
exit (1);
}
error = FT_Init_FreeType( &library );
if( error ) {
printf("error initializing freetype\n");
return 1;
}
error = FT_New_Face( library,
argv[1],
0,
&face );
if (error) {
printf("error loading font\n");
return 1;
}
error = FT_Select_Charmap( face, ft_encoding_unicode);
if (error) {
printf("error selecting unicode charmap\n");
return 1;
}
if (argc == 3) {
count = generate_unicodes_list(&unicodes, &encoding, 1);
} else {
count = generate_unicodes_list(&unicodes, argv + 3, argc - 3);
}
#ifdef LOG
printf("Prepared %d unicode values: ", count);
for (item = unicodes; item; item = item->next) printf("U+%04X ", item->code);
printf("\n");
#else
printf("Prepared %d unicode values.\n", count);
#endif
if (count) {
render_font (face, argv[2], 16, thickness, unicodes);
render_font (face, argv[2], 20, thickness, unicodes);
render_font (face, argv[2], 24, thickness, unicodes);
render_font (face, argv[2], 32, thickness, unicodes);
render_font (face, argv[2], 48, thickness, unicodes);
render_font (face, argv[2], 64, thickness, unicodes);
} else
printf("No font generated\n");
list_free(unicodes);
FT_Done_Face(face);
FT_Done_FreeType(library);
/*
* some rgb -> yuv conversion,
* can be used to calc new palettes
*/
/*
{
float f;
for (f=1.0; f<6.0; f+=1.0) {
float R=f*40.0;
float G=f*40.0;
float B=f*42.0;
float Y, Cb, Cr;
Y = 0.29900 * R + 0.58700 * G + 0.11400 * B ;
Cb = -0.16874 * R - 0.33126 * G + 0.50000 * B + 128.0;
Cr = 0.50000 * R - 0.41869 * G - 0.08131 * B + 128.0;
printf ("CLUT_Y_CR_CB_INIT(0x%x, 0x%x, 0x%x),\n", (int) Y, (int) Cr, (int) Cb);
}
}
*/
return 0;
}
--- NEW FILE: libxine.pc.in ---
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: libxine
Description: The xine engine library
Version: @XINE_MAJOR@.@XINE_MINOR@.@XINE_SUB@
Requires:
Libs: -L${libdir} -lxine @ZLIB_LIBS_CONFIG@ @NET_LIBS@ @THREAD_LIBS_CONFIG@ @LIBICONV@
Cflags: -I${includedir} @THREAD_CFLAGS_CONFIG@
--- NEW FILE: xine-config.in ---
#!/bin/sh
#
#
prefix=@XINE_CONFIG_PREFIX@
exec_prefix=@exec_prefix@
exec_prefix_set=no
usage()
{
cat <<EOF
Usage: xine-config [OPTIONS] [LIBRARIES]
Options:
[--prefix[=DIR]]
[--exec-prefix[=DIR]]
[--version]
[--libs]
[--acflags]
[--cflags]
[--plugindir]
[--datadir]
[--scriptdir]
[--localedir]
[--objcflags]
EOF
exit $1
}
if test $# -eq 0; then
usage 1 1>&2
fi
while test $# -gt 0; do
case "$1" in
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) optarg= ;;
esac
case $1 in
--prefix=*)
prefix=$optarg
if test $exec_prefix_set = no ; then
exec_prefix=$optarg
fi
;;
--prefix)
echo_prefix=yes
;;
--exec-prefix=*)
exec_prefix=$optarg
exec_prefix_set=yes
;;
--exec-prefix)
echo_exec_prefix=yes
;;
--version)
echo @XINE_MAJOR@.@XINE_MINOR@.@XINE_SUB@
;;
--acflags)
echo_acflags=yes
;;
--cflags)
echo_cflags=yes
;;
--libs)
echo_libs=yes
;;
--plugindir)
echo_plugindir=yes
;;
--datadir)
echo_datadir=yes
;;
--scriptdir)
echo_scriptdir=yes
;;
--localedir)
echo_localedir=yes
;;
--objcflags)
echo_objcflags=yes
;;
*)
usage 1 1>&2
;;
esac
shift
done
if test "$echo_prefix" = "yes"; then
echo $prefix
fi
if test "$echo_exec_prefix" = "yes"; then
echo $exec_prefix
fi
if test "$echo_acflags" = "yes"; then
echo "@XINE_ACFLAGS@"
fi
if test "$echo_cflags" = "yes"; then
echo -I@includedir@ @THREAD_CFLAGS_CONFIG@
fi
if test "$echo_libs" = "yes"; then
echo -L@libdir@ -lxine @ZLIB_LIBS_CONFIG@ @NET_LIBS@ @THREAD_LIBS_CONFIG@ @LIBICONV@ @RT_LIBS@
fi
if test "$echo_plugindir" = "yes"; then
echo "@XINE_PLUGINPATH@"
fi
if test "$echo_datadir" = "yes"; then
echo "@XINE_DATADIR@"
fi
if test "$echo_scriptdir" = "yes"; then
echo "@XINE_SCRIPTPATH@"
fi
if test "$echo_localedir" = "yes"; then
echo "@XINE_LOCALEPATH@"
fi
if test "$echo_objcflags" = "yes"; then
echo "@OBJCFLAGS@"
fi
--- NEW FILE: xine-lib.spec ---
%define shortname libxine
%define name libxine1
%define version 1.0
%define dirversion 1.0.0
%define release 0
%define major 1
%define libname %{shortname}%{major}
# Build separat packages:
# 1 create a sparate package
# 0 include files in main package
%define BUILD_AA 0
%define BUILD_ALSA09 0
%define BUILD_ARTS 0
%define BUILD_DEVEL 1
%define BUILD_DVB 0
%define BUILD_DVD 0
%define BUILD_DXR3 0
%define BUILD_ESD 0
%define BUILD_FLAC 0
%define BUILD_GNOME_VFS 0
%define BUILD_OGG 0
%define BUILD_OPENGL 0
%define BUILD_SDL 0
%define BUILD_DIRECTFB 0
%define BUILD_SYNCFB 0
%define BUILD_W32DLL 0
%define BUILD_XVMC 0
%define BUILD_STK 0
Name: %{name}
Summary: A portable video/audio library for unix-like systems.
Summary(cs): Přenositelná video a audio knihovna pro unixovské systémy
Summary(de): Eine portabele Audio-/Video-Bibliothek für unixartige Systeme.
Summary(fi): Joustava video- ja ääniohjelmointikirjasto Unix-tyylisille käyttöjärjestelmille.
Version: %{version}
Release: %{release}
License: GPL
Group: Development/Libraries
URL: http://xinehq.de
Source: http://xinehq.de/files/xine-lib-1.0.tar.gz
Packager: Manfred Tremmel <Manfred.Tremmel@iiv.de>
Obsoletes: xine
Obsoletes: xine-lib
Obsoletes: xine-lib-oss
Obsoletes: xine-lib-xv
Obsoletes: libxine0
Obsoletes: %{shortname}
Obsoletes: xine-vcdx
Provides: xine
Provides: xine-lib
Provides: %{shortname} = %{version}-%{release}
Provides: xine-vcdx
BuildRoot: %{_tmppath}/%{name}-buildroot
%description
libxine is the beating heart of xine (a free gpl-licensed video player for
unix-like systems) which among others provides support for decoding (and
playing back) of many today available audio/video codecs, like mpeg-4 (DivX),
mpeg-2 (DVD, SVCD), mpeg-1 (VCD), Quicktime and RealMedia just to name a few.
This library contains (and uses) numerous processor specific optimizations to
provide a smooth playback and to minimize the overall demand of CPU power.
Don't hesitate to use libxine in your own projects as long as your usage
complies to the GPL. More information about GPL-license can be found at
http://www.gnu.org/licenses/gpl.html
%description -l cs
libxine je tepající srdce xine (svobodného videopřehrávače pod licencí GPL pro
unixovské systémy). Mimo jiné poskytuje podporu pro dekódování (a přehrávání)
mnoha dnes dostupnými audio a video kodeky jako jsou např. mpeg-4 (DivX),
mpeg-2 (DVD, SVCD), mpeg-1 (VCD), Quicktime a RealMedia. Tato knihovna používá
četné procesorově závislé optimalizace k dosažení plynulého přehrávání a
zmenšení celkového nároku na výkon procesoru.
Dokud to bude ve shodě s GPL, neváhejte použít libxine ve vašich vlastních
projektech. Více informací o GPL licenci můžete nalézt na
http://www.gnu.org/licenses/gpl.html.
%description -l de
libxine ist das Herzstück von xine (einem freien, GPL lizensiertem Audio- und
Video-Abspielprogramm für unixartige Systeme). libxine stellt die Funktionen
zur Dekodierung und Wiedergabe vieler aktueller Audio- und Videocodecs zur
Verfügung, wie z.B. MPEG-4 (DivX), MPEG-2 (DVD, SVCD) und MPEG-1 (VCD),
Quicktime und RealMedia um nur einige zu nennen.
Die Bibliothek enthält und benutzt eine Vielzahl von prozessorspezifischen
Optimierungen, um eine flüssige Wiedergabe mit minimaler Prozessorbelastung
gewährleisten zu könnnen.
Zögern Sie nicht libxine in Ihren eigenen Projekten zu nutzen. Beachten Sie
hierzu jedoch die in der GPL Lizenz vereinbarten Bestimmungen. Weitere
Informationen zur GPL-Lizenz finden Sie unter http://www.gnu.org/licenses/gpl.html
%description -l fi
libxine on xinen sydän (vapaa GPL-linsensoitu videosoitinohjelma Unix-tyylisille
käyttöjärjestelmille), joka muun muassa tarjoaa mahdollisuudet pakatun videon
ja äänen purkamiseen (sekä näyttämiseen) suurimmalla osalla nykyaikaista äänen-
ja kuvanpakkausformaateista.
Tällaisia ovat mpeg-4 (DivX;-)), mpeg-2 (DVD, SVCD), mpeg-1 (VCD) muutamia
mainitaksemme. xinen purkukirjasto käyttää monia matalan tason prosessoripohjaisia
optimisaatiomenetelmiä tarjotakseen sulavan kuvantoistokokemuksen. Tämä on tarpeen
myös minimoimaan tarvittavaa prosessoritehoa.
Olet tervetullut käyttämään libxine:a omissa projekteissasi kunhan ne ovat GPL-
lisenssin kanssa yhteensopivia. lisätietoja GPL-lisenssistä löytyy osoitteesta:
http://www.gnu.org/licenses/gpl.html
%if %BUILD_DEVEL
%package devel
Summary: Header files and documentation to develope programs with libxine.
Summary(cs): Hlavičkové soubory a dokumentace pro vývoj programů, které používají libxine
Summary(de): Headerdateien und Dokumentationen, um Programme mit libxine entwickeln zu können.
Summary(fi): Header-tiedostot ja dokumentaatio, joita tarvitset kehittäessäsi ohjelmia libxine:n kanssa.
Group: Development/Libraries
Obsoletes: xine-lib-devel
Obsoletes: xine-devel
Obsoletes: libxine0-devel
Provides: %{shortname}-devel = %{version}-%{release}
Provides: xine-devel
Requires: %{libname} = %{version}-%{release}
%description devel
This package contains header files and documentation required to develope
programs with libxine.
libxine is the beating heart of xine (a free gpl-licensed video player for
unix-like systems) which among others provides support for decoding (and
playing back) of many today available audio/video codecs, like mpeg-4 (DivX),
mpeg-2 (DVD, SVCD), mpeg-1 (VCD), Quicktime and RealMedia just to name a few.
This library contains (and uses) numerous processor specific optimizations to
provide a smooth playback and to minimize the overall demand of CPU power.
Don't hesitate to use libxine in your own projects as long as your usage
complies to the GPL. More information about GPL-license can be found at
http://www.gnu.org/licenses/gpl.html
%description devel -l cs
Tento balíček obsahuje hlavičkové soubory a dokumentaci potřebnou pro vývoj
programů, které používají libxine.
libxine je tepající srdce xine (svobodného videopřehrávače pod licencí GPL pro
unixovské systémy). Mimo jiné poskytuje podporu pro dekódování (a přehrávání)
mnoha dnes dostupnými audio a video kodeky jako jsou např. mpeg-4 (DivX),
mpeg-2 (DVD, SVCD), mpeg-1 (VCD), Quicktime a RealMedia. Tato knihovna používá
četné procesorově závislé optimalizace k dosažení plynulého přehrávání a
zmenšení celkového nároku na výkon procesoru.
Dokud to bude ve shodě s GPL, neváhejte použít libxine ve vašich vlastních
projektech. Více informací o GPL licenci můžete nalézt na
http://www.gnu.org/licenses/gpl.html.
%description devel -l de
Dieses Paket enthält die Headerdateien und Dokumentationen, um Programme
mit libxine entwickeln zu können.
libxine ist das Herzstück von xine (einem freien, GPL lizensiertem Audio- und
Video-Abspielprogramm für unixartige Systeme). libxine stellt die Funktionen
zur Dekodierung und Wiedergabe vieler aktueller Audio- und Videocodecs zur
Verfügung, wie z.B. MPEG-4 (DivX), MPEG-2 (DVD, SVCD) und MPEG-1 (VCD),
Quicktime und RealMedia um nur einige zu nennen.
Die Bibliothek enthält und benutzt eine Vielzahl von prozessorspezifischen
Optimierungen, um eine flüssige Wiedergabe mit minimaler Prozessorbelastung
gewährleisten zu könnnen.
Zögern Sie nicht libxine in Ihren eigenen Projekten zu nutzen. Beachten Sie
hierzu jedoch die in der GPL Lizenz vereinbarten Bestimmungen. Weitere
Informationen zur GPL-Lizenz finden Sie unter http://www.gnu.org/licenses/gpl.html
%description devel -l fi
libxine on xinen sydän (vapaa GPL-linsensoitu videosoitinohjelma Unix-tyylisille
käyttöjärjestelmille), joka muun muassa tarjoaa mahdollisuudet pakatun videon
ja äänen purkamiseen (sekä näyttämiseen) suurimmalla osalla nykyaikaista äänen-
ja kuvanpakkausformaateista.
Tällaisia ovat mpeg-4 (DivX;-)), mpeg-2 (DVD, SVCD), mpeg-1 (VCD) muutamia
mainitaksemme. xinen purkukirjasto käyttää monia matalan tason prosessoripohjaisia
optimisaatiomenetelmiä tarjotakseen sulavan kuvantoistokokemuksen. Tämä on tarpeen
myös minimoimaan tarvittavaa prosessoritehoa.
Olet tervetullut käyttämään libxine:a omissa projekteissasi kunhan ne ovat GPL-
lisenssin kanssa yhteensopivia. lisätietoja GPL-lisenssistä löytyy osoitteesta:
http://www.gnu.org/licenses/gpl.html
%endif
%if %BUILD_ALSA09
%package alsa09
Summary: libxine sound output plugin for alsa >= 0.9
Summary(cs): Zvukový výstupní modul libxine pro ALSA >= 0.9
Summary(de): libxine Soundausgabeplguin für Alsa >= 0.9
Summary(fi): libxine-Ddnilisdke uudelle Linux:n ddniarkkitehtuurille (ALSA >= 0.9)
Group: Development/Libraries
Obsoletes: xine-lib-alsa09
Obsoletes: libxine0-alsa09
Requires: %{libname} = %{version}-%{release}
%description alsa09
libxine sound output plugin for alsa >= 0.9
%description alsa09 -l cs
Zvukový výstupní modul libxine pro ALSA >= 0.9.
%description alsa09 -l de
libxine Soundausgabe Plugin für alsa >= 0.9
%description alsa09 -l fi
libxine-ddnilisdke uudelle Linux:n ddniarkkitehtuurille (ALSA >= 0.9)
%endif
%if %BUILD_ARTS
%package arts
Summary: libxine sound output plugin for arts (KDE-soundserver)
Summary(cs): Zvukový výstupní modul libxine pro ARTS (zvukový server KDE)
Summary(de): libxine Soundausgabeplugin für arts (KDE-Soundserver)
Summary(fi): libxine-Ddnilisdke Arts ddnipalvelimelle (KDE:n ddnipalvelin)
Group: Development/Libraries
Obsoletes: xine-lib-arts
Obsoletes: libxine0-arts
Requires: %{libname} = %{version}-%{release}
%description arts
libxine sound output plugin for arts (KDE-soundserver)
%description arts -l cs
Zvukový výstupní modul libxine pro ARTS (zvukový server KDE).
%description arts -l de
libxine Soundausgabeplugin für arts (KDE-Soundserver)
%description arts -l fi
libxine-Ddnilisdke Arts ddnipalvelimelle (KDE:n ddnipalvelin)
%endif
%if %BUILD_ESD
%package esd
Summary: libxine sound output plugin for enlightmend sound daemon
Summary(cs): Zvukový výstupní modul libxine pro Enlightmend Sound Daemon
Summary(de): libxine Soundausgabeplugin für den Enlightmend Sound Daemon
Summary(fi): libxine-ddnilisdke Enlightmend ddnipalvelimelle
Group: Development/Libraries
Obsoletes: xine-lib-esd
Obsoletes: libxine0-esd
Requires: %{libname} = %{version}-%{release}
%description esd
libxine sound output plugin for enlightmend sound daemon (Gnome and Enlightment)
%description esd -l cs
Zvukový výstupní modul libxine pro Enlightmend Sound Daemon.
%description esd -l de
libxine Soundausgabeplugin für den Enlightmend Sound Daemon (Gnome und Enlightment)
%description esd -l fi
libxine-ddnilisdke Enlightmend ddnipalvelimelle
%endif
%if %BUILD_SDL
%package sdl
Summary: libxine video output plugin for SDL-library (Simple DirectMedia Layer)
Summary(cs): Videovýstupní modul libxine pro knihovnu SDL (Simple DirectMedia Layer)
Summary(de): libxine Videoausgabeplguin für SDL-Bibliothek (Simple DirectMedia Layer)
Summary(fi): libxine-Videolisdke SDL grafiikkakirjastolle (Simple DirectMedia Layer)
Group: Development/Libraries
Obsoletes: xine-lib-sdl
Obsoletes: libxine0-sdl
Requires: %{libname} = %{version}-%{release}
%description sdl
libxine video output plugin for SDL-library (Simple DirectMedia Layer)
%description sdl -l cs
Videovýstupní modul libxine pro knihovnu SDL (Simple DirectMedia Layer).
%description sdl -l de
libxine Videoausgabeplguin für SDL-Bibliothek (Simple DirectMedia Layer)
%description sdl -l fi
libxine-Videolisdke SDL-grafiikkakirjastolle (Simple DirectMedia Layer)
%endif
%if %BUILD_AA
%package aa
Summary: libxine video output plugin for aa-library (ASCII Art)
Summary(cs): Videovýstupní modul libxine pro knihovnu aa (ASCII Art)
Summary(de): libxine Videoausgabeplugin für aa-Bibliothek (ASCII Art)
Summary(fi): libxine-Videolisdke aa-grafiikkakirjastolle (ASCII Art)
Group: Development/Libraries
Obsoletes: xine-lib-aa
Obsoletes: libxine0-aa
Obsoletes: xine-extra
Provides: xine-extra
Requires: %{libname} = %{version}-%{release}
%description aa
libxine video output plugin for aa-library (ASCII Art)
%description aa -l cs
Videovýstupní modul libxine pro knihovnu aa (ASCII Art).
%description aa -l de
libxine Videoausgabeplugin für aa-Bibliothek (ASCII Art)
%description aa -l fi
libxine-Videolisdke aa-grafiikkakirjastolle (ASCII Art)
%endif
%if %BUILD_OPENGL
%package opengl
Summary: libxine video output plugin using OpenGL (3D graphic cards)
Summary(cs): Videovýstupní modul libxine používající OpenGL (3D grafické karty)
Summary(de): libxine Videoausgabeplugin per OpenGL (3D Grafikkarte)
Group: Development/Libraries
Obsoletes: xine-lib-opengl
Obsoletes: libxine0-opengl
Requires: %{libname} = %{version}-%{release}
%description opengl
libxine video output plugin using OpenGL (3D graphic cards)
%description opengl -l cs
Videovýstupní modul libxine, který používá OpenGL (3D grafické karty).
%description opengl -l de
libxine Videoausgabeplugin per OpenGL (3D Grafikkarte)
%endif
%if %BUILD_SYNCFB
%package syncfb
Summary: libxine video output plugin using synchroniced framebuffer (Matrox cards)
Summary(cs): Videovýstupní modul libxine používající framebuffer (karty Matrox)
Summary(de): libxine Videoausgabeplugin per synchronisiertem Framebuffer (Matrox Karten)
Summary(fi): libxine-Videolisdke Matrox-ndyttvkorttien synkronisoitua ndyttvmuistia varten.
Group: Development/Libraries
Obsoletes: libxine0-syncfb
Requires: %{libname} = %{version}-%{release}
%description syncfb
libxine video output plugin using synchroniced framebuffer (Matrox cards)
%description syncfb -l cs
Videovýstupní modul libxine, který používá synchronizovaný framebuffer (karty
Matrox).
%description syncfb -l de
libxine Videoausgabeplugin per synchronisiertem Framebuffer (Matrox Karten)
%description syncfb -l fi
libxine-Videolisdke Matrox-ndyttvkorttien synkronisoitua ndyttvmuistia varten.
%endif
%if %BUILD_DVD
%package dvd
Summary: libxine input plugin for playing video-dvd's with dvd-navigation
Summary(cs): Vstupní modul libxine na přehrávání VideoDVD s DVD navigací
Summary(de): libxine Inputplugin zum abspielen von Video-DVDs mit DVD-Navigation
Summary(fi): libxine-Lukulisdke, jolla kdyttdjd voi soittaa DVD-levyjd
Group: Development/Libraries
Obsoletes: xine-dvdnav
Requires: %{libname} = %{version}-%{release}
%description dvd
libxine input plugin for playing video-dvd's with dvd-navigation
%description dvd -l cs
Vstupní modul libxine na přehrávání VideoDVD s DVD navigací.
%description dvd -l de
libxine Inputplugin zum abspielen von Video-DVDs mit DVD-Navigation
%description dvd -l fi
libxine-Lukulisdke, jolla kdyttdjd voi soittaa DVD-levyjd
%endif
%if %BUILD_DVB
%package dvb
Summary: libxine input plugin for DigitalTV devices
Summary(cs): Vstupní modul libxine pro karty digitální TV
Summary(de): libxine Einabeplugin für digitale TV-Karten
Summary(fi): libxine-Lukulisdke, jolla kdyttdjd voi katsella DigitalTV-korttien ohjelmia
Group: Development/Libraries
Requires: %{libname} = %{version}-%{release}
%description dvb
libxine input plugin for Digital TV (Digital Video Broadcast - DVB) devices
e.g. Hauppauge WinTV Nova supported by DVB drivers from Convergence
%description dvb -l cs
Vstupní modul libxine pro karty digitální televize (Digital Video Broadcast -
DVB) jako je např. Hauppauge WinTV Nova podporovaná ovladači DVB od
Convergence.
%description dvb -l de
libxine Eingabeplugin für digitale TV-Karten (Digital Video Broadcast - DVB)
z.B. wird die Hauppauge WinTV Nova von Convergence unterstützt.
%description dvb -l fi
libxine-Lukulisdke, jolla kdyttdjd voi katsella DigitalTV-korttien ohjelmia
Esimerkiksi Haupaugen WinTV kortit ovat tuettuja DVB ajureilla.
%endif
%if %BUILD_GNOME_VFS
%package gnome-vfs
Summary: libxine input plugin for totem (a gnome frontend)
Summary(cs): Vstupní modul libxine pro totem (frontend GNOME)
Summary(de): libxine Einabeplugin für totem (ein Gnome Frontend)
Summary(fi): libxine-Lukulisdke Totem ohjelmaa varten, joka on libxine:n Gnome2 kdyttvliittymd
Group: Development/Libraries
Requires: %{libname} = %{version}-%{release}
%description gnome-vfs
libxine input plugin for totem (a gnome frontend)
%description gnome-vfs -l cs
Vstupní modul libxine pro totem (frontend GNOME).
%description gnome-vfs -l de
libxine Einabeplugin für totem (ein Gnome Frontend)
%description gnome-vfs -l fi
libxine-Lukulisdke Totem ohjelmaa varten, joka on libxine Gnome2 kdyttvliittymd
%endif
%if %BUILD_FLAC
%package flac
Summary: libxine sound input plugin for flac-files (Free Lossless Audio Codec)
Summary(cs): Zvukový modul libxine pro dekódování souborů FLAC (Free Lossless Audio Codec)
Summary(de): libxine Soundeinabeplugin für flac-Dateien (Free Lossless Audio Codec)
Summary(fi): libxine-Ddnilisdke flac-tiedostojen toistamiseen (Free Lossless Audio Codec)
Group: Development/Libraries
Requires: %{libname} = %{version}-%{release}
%description flac
libxine sound input plugin for flac-files (Free Lossless Audio Codec)
%description flac -l cs
Zvukový modul libxine pro dekódování souborů FLAC (Free Lossless Audio Codec).
%description flac -l de
libxine Soundeinabeplugin für flac-Dateien (Free Lossless Audio Codec == Freier, verlustfreier Audio-Codec)
%description flac -l fi
libxine-Ddnilisdke flac-tiedostojen toistamiseen (Free Lossless Audio Codec)
%endif
%if %BUILD_OGG
%package ogg
Summary: libxine sound/video input plugin for ogg/ogm-files
Summary(cs): Zvukový modul libxine pro dekódování souborů OGG a OGM
Summary(de): libxine Sound-/Videoeinabeplugin für ogg/ogm-Dateien
Summary(fi): libxine-Ddni/Videolisdke Ogg/Ogm tiedostojen toistamiseen
Group: Development/Libraries
Requires: %{libname} = %{version}-%{release}
Obsoletes: xine-lib-oggvorbis
Obsoletes: %{libname}-oggvorbis
Obsoletes: %{libname}-oggtheora
Provides: xine-lib-oggvorbis
Provides: %{libname}-oggvorbis
Provides: %{libname}-oggtheora
%description ogg
libxine sound/video input plugin for ogg/ogm-files
%description ogg -l cs
Zvukový modul libxine pro dekódování souborů OGG a OGM.
%description ogg -l de
libxine Sound-/Videoeinabeplugin für ogg/ogm-Dateien
%description ogg -l fi
libxine-Ddni/Videolisdke Ogg/Ogm tiedostojen toistamiseen
%endif
%if %BUILD_DIRECTFB
%package directfb
Summary: libxine video output plugin using libdirectfb
Summary(cs): Videovýstupní modul libxine používající libdirectfb
Summary(de): libxine Videoausgabeplugin per libdirectfb
Group: Development/Libraries
Requires: %{libname} = %{version}-%{release}
%description directfb
libxine video output plugin using libdirectfb
%description directfb -l cs
Videovýstupní modul libxine, který používá libdirectfb.
%description directfb -l de
libxine Videoausgabeplugin per libdirectfb
%endif
%if %BUILD_STK
%package stk
Summary: libxine video output plugin using libstk
Summary(cs): Videovýstupní modul libxine používající libstk
Summary(de): libxine Videoausgabeplugin per libstk
Group: Development/Libraries
Requires: %{libname} = %{version}-%{release}
%description stk
libxine video output plugin using libstk (Set-top Toolkit)
%description stk -l cs
Videovýstupní modul libxine, který používá libstk.
%description stk -l de
libxine Videoausgabeplugin per libstk (Set-top Toolkit)
%endif
%if %BUILD_DXR3
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
%package dxr3
Summary: libxine video output plugin using mpeg2 decoding cards with dxr3 decoder-chip
Summary(cs): Videovýstupní modul libxine používající karty s čipem DXR3
Summary(de): libxine Videoausgabeplugin, nutzt MPEG2-decoder-Karten mit dxr3 Decoder-Chip
Summary(fi): libxine-Videolisdke MPEG2-videopurkukorteille, joissa on DXR3 purkusiru
Group: Development/Libraries
Obsoletes: xine-lib-dxr3
Obsoletes: libxine0-dxr3
Requires: %{libname} = %{version}-%{release}
%description dxr3
libxine video output plugin using mpeg2 decoding cards with dxr3 decoder-chip
%description dxr3 -l cs
Videovýstupní modul libxine používající karty, které dekódují MPEG2 pomocí čipu
DXR3.
%description dxr3 -l de
libxine Videoausgabeplugin, nutzt MPEG2-decoder-Karten mit dxr3 Decoder-Chip
%description dxr3 -l fi
libxine-Videolisdke MPEG2-videopurkukorteille, joissa on DXR3 purkusiru
%endif
%endif
%if %BUILD_XVMC
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
%package xvmc
Summary: libxine video output plugin using XVideo-extension with motion compensation
Summary(cs): Videovýstupní modul libxine používající rozšíření XVideo MC
Summary(de): libxine Videoausgabeplugin per XVideo-Erweiterung mit Motion Compensation
Group: Development/Libraries
Obsoletes: libxine0-xvmc
Autoreqprov: Off
Requires: %{libname} = %{version}-%{release}
%description xvmc
libxine video output plugin using XVideo-extension with motion compensation
%description xvmc -l cs
Videovýstupní modul libxine, který používá rozšíření XVideo s kompenzací pohybu.
%description xvmc -l de
libxine Videoausgabeplugin per XVideo-Erweiterung mit Motion Compensation
%endif
%endif
%if %BUILD_W32DLL
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon
%package w32dll
Summary: libxine decoding plugin using win32 dlls for native not supported formats
Summary(cs): Dekódovací modul libxine, který používá DLL knihovny WIN32
Summary(de): libxine Dekodierplugin, nutzt Win32 dlls für natvie nicht unterstützte Formate
Summary(fi): libxine-Purkulisdke, joka mahdollistaa Win32 DLL:n kdytvn.
Group: Development/Libraries
Obsoletes: xine-lib-w32dll
Obsoletes: libxine0-w32dll
Requires: %{libname} = %{version}-%{release}
%description w32dll
libxine decoding plugin using win32 dlls for native not supported formats
%description w32dll -l cs
Dekódovací modul libxine, který používá DLL knihovny WIN32 pro formáty
nepodporované přímo.
%description w32dll -l de
libxine Dekodierplugin, nutzt Win32 dlls für native nicht unterstützte Formate
%description w32dll -l fi
libxine-Purkulisdke, joka mahdollistaa Win32 DLL:n kdytvn.
%endif
%endif
%prep
%setup -q -n xine-lib-1.0
%build
export CFLAGS="${RPM_OPT_FLAGS}"
if [ ! -f configure ]; then
NO_CONFIGURE=1 ./autogen.sh
fi
#
# currently we do not use %%configure as it seems to cause trouble with
# certain automake produced configure scripts - depending on automake version.
# Use BUILD_ARGS envvar to pass extra parameters to configure (like --enable-dha-mod/etc...)
#
./configure --build=%{_target_platform} --prefix=%{_prefix} \
--exec-prefix=%{_exec_prefix} --bindir=%{_bindir} \
--sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \
--datadir=%{_datadir} --includedir=%{_includedir} \
--libdir=%{_libdir} --libexecdir=%{_libexecdir} \
--localstatedir=%{_localstatedir} \
--sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
--infodir=%{_infodir} \
--with-internal-vcdlibs
# Error in libfaad when compiling with mmx or sse enabled, remove it
mv src/libfaad/Makefile src/libfaad/Makefile_save
cat src/libfaad/Makefile_save | sed -e "s/-mmmx/-mno-mmx/g" -e "s/-msse/-mno-sse/g" > src/libfaad/Makefile
make
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=%{?buildroot:%{buildroot}} LIBRARY_PATH=%{?buildroot:%{buildroot}}%{_libdir} install
cd ${RPM_BUILD_ROOT}
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_zw
%if %BUILD_DEVEL
echo "%doc README TODO AUTHORS COPYING ChangeLog" >> ${RPM_BUILD_DIR}/filelist_libxine1_zw
%else
echo "%doc README TODO AUTHORS COPYING ChangeLog doc/hackersguide/*.sgml doc/hackersguide/*.fig doc/hackersguide/README" >> ${RPM_BUILD_DIR}/filelist_libxine1_zw
%endif
find . -type f | sed 's,^\.%{_datadir}/doc,\%doc %{_datadir}/doc,' | sed 's,^\.,,' >> ${RPM_BUILD_DIR}/filelist_libxine1_zw
find . -type l | sed 's,^\.%{_datadir}/doc,\%doc %{_datadir}/doc,' | sed 's,^\.,,' >> ${RPM_BUILD_DIR}/filelist_libxine1_zw
grep -v "/man/" ${RPM_BUILD_DIR}/filelist_libxine1_zw | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
grep "/man/" ${RPM_BUILD_DIR}/filelist_libxine1_zw | sed -e 's/$/\*/g' | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_zw
%if %BUILD_DEVEL
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_devel
echo "%doc doc/hackersguide/*.sgml doc/hackersguide/*.fig doc/hackersguide/README" >> ${RPM_BUILD_DIR}/filelist_libxine1_devel
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "/include/|dhahelper\.o|libxine*\.(so|la)$|\.m4$" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_devel
grep -v -E "/include/|dhahelper\.o|libxine*\.(so|la)$|\.m4$" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_ALSA09
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_alsa09
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_ao_out_alsa\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_alsa09
grep -v "xineplug_ao_out_alsa\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_ARTS
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_arts
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_ao_out_arts\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_arts
grep -v "xineplug_ao_out_arts\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_ESD
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_esd
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_ao_out_esd\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_esd
grep -v "xineplug_ao_out_esd\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_DXR3
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_dxr3
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "dxr3" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_dxr3
grep -v "dxr3" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%endif
%if %BUILD_SDL
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_sdl
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_vo_out_sdl\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_sdl
grep -v "xineplug_vo_out_sdl\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_AA
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_aa
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_vo_out_aa\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_aa
grep -v "xineplug_vo_out_aa\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_OPENGL
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_opengl
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_vo_out_opengl\.|README.opengl" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_opengl
grep -v -E "xineplug_vo_out_opengl\.|README.opengl" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_SYNCFB
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_syncfb
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_vo_out_syncfb\.|README\.syncfb" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_syncfb
grep -v -E "xineplug_vo_out_syncfb\.|README\.syncfb" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_DIRECTFB
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_directfb
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_vo_out_directfb\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_directfb
grep -v -E "xineplug_vo_out_directfb\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_STK
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_stk
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_vo_out_stk\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_stk
grep -v -E "xineplug_vo_out_stk\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_XVMC
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_xvmc
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_vo_out_x[x|v]mc\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_xvmc
grep -v "xineplug_vo_out_x[x|v]mc\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%endif
%if %BUILD_W32DLL
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_w32dll
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_decode_qt\.|xineplug_decode_w32dll\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_w32dll
grep -v -E "xineplug_decode_qt\.|xineplug_decode_w32dll\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%endif
%if %BUILD_DVB
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_dvb
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_inp_dvb\.|README\.dvb" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_dvb
grep -v -E "xineplug_inp_dvb\.|README\.dvb" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_DVD
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_dvd
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_inp_dvd\.|README\.network_dvd" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_dvd
grep -v -E "xineplug_inp_dvd\.|README\.network_dvd" ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_GNOME_VFS
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_gnome_vfs
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_inp_gnome_vfs\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_gnome_vfs
grep -v "xineplug_inp_gnome_vfs\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_FLAC
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_flac
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep "xineplug_flac\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_flac
grep -v "xineplug_flac\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%if %BUILD_OGG
echo "%defattr(-,root,root)" > ${RPM_BUILD_DIR}/filelist_libxine1_ogg
mv ${RPM_BUILD_DIR}/filelist_libxine1 ${RPM_BUILD_DIR}/filelist_libxine1_old
grep -E "xineplug_decode_vorbis\.|xineplug_dmx_ogg\.|xineplug_decode_theora\.|xineplug_decode_speex\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - >> ${RPM_BUILD_DIR}/filelist_libxine1_ogg
grep -v -E "xineplug_decode_vorbis\.|xineplug_dmx_ogg\.|xineplug_decode_theora\.|xineplug_decode_speex\." ${RPM_BUILD_DIR}/filelist_libxine1_old | cat - > ${RPM_BUILD_DIR}/filelist_libxine1
rm ${RPM_BUILD_DIR}/filelist_libxine1_old
%endif
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files -f ../filelist_libxine1
%if %BUILD_DEVEL
%files devel -f ../filelist_libxine1_devel
%endif
%if %BUILD_ALSA09
%files alsa09 -f ../filelist_libxine1_alsa09
%endif
%if %BUILD_ARTS
%files arts -f ../filelist_libxine1_arts
%endif
%if %BUILD_ESD
%files esd -f ../filelist_libxine1_esd
%endif
%if %BUILD_DXR3
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
%files dxr3 -f ../filelist_libxine1_dxr3
%endif
%endif
%if %BUILD_SDL
%files sdl -f ../filelist_libxine1_sdl
%endif
%if %BUILD_AA
%files aa -f ../filelist_libxine1_aa
%endif
%if %BUILD_OPENGL
%files opengl -f ../filelist_libxine1_opengl
%endif
%if %BUILD_SYNCFB
%files syncfb -f ../filelist_libxine1_syncfb
%endif
%if %BUILD_DIRECTFB
%files directfb -f ../filelist_libxine1_directfb
%endif
%if %BUILD_STK
%files stk -f ../filelist_libxine1_stk
%endif
%if %BUILD_XVMC
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon x86_64 amd64 ia32e
%files xvmc -f ../filelist_libxine1_xvmc
%endif
%endif
%if %BUILD_W32DLL
%ifarch i386 i486 i586 i686 i786 i868 i986 k6 k7 athlon
%files w32dll -f ../filelist_libxine1_w32dll
%endif
%endif
%if %BUILD_DVB
%files dvb -f ../filelist_libxine1_dvb
%endif
%if %BUILD_DVD
%files dvd -f ../filelist_libxine1_dvd
%endif
%if %BUILD_GNOME_VFS
%files gnome-vfs -f ../filelist_libxine1_gnome_vfs
%endif
%if %BUILD_FLAC
%files flac -f ../filelist_libxine1_flac
%endif
%if %BUILD_OGG
%files ogg -f ../filelist_libxine1_ogg
%endif
%changelog
* Tue Dec 07 2004 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- included xxmc video out plugin into xvmc sub-rpm
* Sat Sep 11 2004 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- added missing Requires-Statements in the subpackages
* Fri Sep 03 2004 František Dvořák <valtri@users.sourceforge.net>
- Czech translation update
* Thu Sep 02 2004 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- konverted to UTF8
- some fixes for non IA32 systems (especialy Athlon64/Opteron)
* Sat May 01 2004 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- activated opengl plugin
* Tue Apr 06 2004 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- removed xvid modules from -devel package and put it back
to main package.
* Fri Feb 13 2004 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- added new sub-rpm for stk videoout plugin
* Fri Nov 21 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- use internal vcdlibs to keep dependencies low
* Sun Oct 19 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- added separate directfb-package to solve dependendies
* Tue Oct 07 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- activated separte xvmc package, when this is wanted.
* Sun Jul 20 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- made ogg-package out of oggvorbis, oggtheora and the new
oggspeex xine-plugins
* Sat May 24 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- complete rework of the specfile
* Wed May 14 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- Update for > 1-beta13
* Sat Mar 08 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- added missing doc-files
* Wed Jan 15 2003 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- removed man3 manpages in devel-filelist
* Tue Dec 24 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- Update for libxine 1.0beta1 added pkgconfig-directory
* Wed Dec 11 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- Update for libxine 1.0beta0, fonts-directory has been changed
* Sat Dec 07 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- added translation for finnish by Tuukka Pasanen <illuusio@mailcity.com>
- some updates to german and english descriptions
- added post-directory to file-list
* Sat Nov 09 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- Final changes for libxine 1.0alpha1
* Mon Nov 04 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- another change to make it run with next version
* Sat Nov 02 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- Changes for next xine version
* Sun Oct 27 2002 Manfred Tremmel <Manfred.Tremmel@iiv.de>
- Update of the german descriptions.
* Thu Jun 06 2002 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- ability to pass args to configure. Fix vidix/dhahelper inclusion.
* Mon May 27 2002 Matthias Dahl <matthew2k@web.de>
- added passing of build parameter to configure
* Sun May 26 2002 Matthias Dahl <matthew2k@web.de>
- added german translations by Manfred Tremmel <Manfred.Tremmel@iiv.de>
- added fixes (missing -l cs) by Manfred Tremmel <Manfred.Tremmel@iiv.de>
* Sat May 18 2002 Matthias Dahl <matthew2k@web.de>
- added czech translations by valtri@atlas.cz
* Thu May 16 2002 Matthias Dahl <matthew2k@web.de>
- replaced %configure because it was causing trouble on certain configurations
* Sat May 11 2002 Matthias Dahl <matthew2k@web.de>
- reworked/revamped spec file, still needs some tuning (BuildPreReq, ...)
* Thu May 2 2002 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- sync with new logo stuff.
* Wed May 1 2002 Matthias Dahl <matthew2k@web.de>
- added cinepak, cyuv and msvc decode plugins
- commented out sdl related parts because this is currently broken in xine-lib
- added 'cs,pl_PL' translation catalogs
* Sun Mar 31 2002 Matthias Dahl <matthew2k@web.de>
- added mms input plugin, spucc decoder and missing xine_logo.zyuy2.
- commented out video fill decoder for now as it seems to be no longer built
* Wed Feb 6 2002 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- added 'de,fr,pt_BR' translation catalogs.
* Sat Dec 26 2001 Matthias Dahl <matthew2k@web.de>
- added sputext decode plugin and fonts.
* Sat Dec 8 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- ASF plugin is optional.
* Thu Dec 6 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- Add cda plugins.
* Wed Nov 14 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- fixed dxr3 header files inclusion, aalib deps: thanks to Andrew Meredith <andrew@anvil.org>.
* Mon Oct 29 2001 Matthias Dahl <matthew2k@web.de>
- added http input plugin
* Thu Oct 18 2001 Matthias Dahl <matthew2k@web.de>
- added asf demuxer plugin
* Sun Oct 14 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- move vorbis in separate package. Add DivX4 decoder plugin.
* Wed Oct 10 2001 Matthias Dahl <matthew2k@web.de>
- added vorbis files and missing man pages to filelist.
* Thu Sep 27 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- Add desktop stuff from patches by Miguel Freitas <miguel@cetuc.puc-rio.br>
- Fixed xine.m4 installation from Andrew Meredith <andrew@anvil.org>
* Fri Sep 21 2001 Matthias Dahl <matthew2k@web.de>
- added two missing files (xine-config man page and xine.m4)
* Sun Sep 16 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- Merge patch from Jos�Carlos Monteiro <jcm@netcabo.pt>:
- Filelist and other minor updates,
- Fixed some SuSE compatibility issues,
- Added Portuguese summary.
* Sun Sep 16 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- Add missing files.
* Sun Aug 19 2001 Matthias Dahl <matthew2k@web.de>
- The usual update to the filelist :)
- temporarily removed mpg123 decoder plugin from filelist cause it is not
built with the recent CVS tree
* Thu Jul 26 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- Made oss, aa, xv, esd, w32dll, documentation as separate packages.
* Thu Jul 26 2001 Matthias Dahl <matthew2k@web.de>
- added seperate arts package and one missing demuxer plugin to filelist
* Wed Jul 18 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- list all plugins to avoid *strange* inclusion ;-).
* Sun Jun 10 2001 Matthias Dahl <matthew2k@web.de>
- updated filelist
- re-activated execution of /sbin/ldconfig as post install script
* Thu Mar 28 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- add korean summary, patch from Louis JANG <louis@ns.mizi.com>
* Thu Jan 11 2001 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- patch from Sung-Hyun Nam <namsh@lgic.co.kr> applied.
* Fri Oct 17 2000 Daniel Caujolle-Bert <f1rmb@users.sourceforge.net>
- first spec file.
--- NEW FILE: Makefile.in ---
# Makefile.in generated by automake 1.9.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/SlackBuild.in $(srcdir)/build_rpms.sh.in \
$(srcdir)/libxine.pc.in $(srcdir)/relchk.sh.in \
$(srcdir)/xine-config.in $(srcdir)/xine-lib.spec.in \
$(top_srcdir)/misc/Makefile.common
subdir = misc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/_xine.m4 $(top_srcdir)/m4/aa.m4 \
$(top_srcdir)/m4/alsa.m4 $(top_srcdir)/m4/arts.m4 \
$(top_srcdir)/m4/as.m4 $(top_srcdir)/m4/caca.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/directx.m4 \
$(top_srcdir)/m4/dl.m4 $(top_srcdir)/m4/dvdnav.m4 \
$(top_srcdir)/m4/esd.m4 $(top_srcdir)/m4/ffmpeg.m4 \
$(top_srcdir)/m4/freetype2.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/irixal.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/libFLAC.m4 $(top_srcdir)/m4/libfame.m4 \
$(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/opengl.m4 \
$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/sdl.m4 $(top_srcdir)/m4/speex.m4 \
$(top_srcdir)/m4/theora.m4 $(top_srcdir)/m4/vorbis.m4 \
$(top_srcdir)/m4/xv.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = SlackBuild build_rpms.sh libxine.pc relchk.sh \
xine-config xine-lib.spec
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
SCRIPTS = $(bin_SCRIPTS)
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
pkgconfigDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgconfig_DATA)
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
AAINFO = @AAINFO@
AALIB_CFLAGS = @AALIB_CFLAGS@
AALIB_CONFIG = @AALIB_CONFIG@
AALIB_LIBS = @AALIB_LIBS@
ACLOCAL = @ACLOCAL@
ACLOCAL_DIR = @ACLOCAL_DIR@
ALLOCA = @ALLOCA@
ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@
ALSA_STATIC_LIB = @ALSA_STATIC_LIB@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
ARTS_CFLAGS = @ARTS_CFLAGS@
ARTS_CONFIG = @ARTS_CONFIG@
ARTS_LIBS = @ARTS_LIBS@
AS = @AS@
ASFLAGS = @ASFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_ASF_FALSE = @BUILD_ASF_FALSE@
BUILD_ASF_TRUE = @BUILD_ASF_TRUE@
BUILD_DHA_KMOD_FALSE = @BUILD_DHA_KMOD_FALSE@
BUILD_DHA_KMOD_TRUE = @BUILD_DHA_KMOD_TRUE@
BUILD_FAAD_FALSE = @BUILD_FAAD_FALSE@
BUILD_FAAD_TRUE = @BUILD_FAAD_TRUE@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CACA_CFLAGS = @CACA_CFLAGS@
CACA_CONFIG = @CACA_CONFIG@
CACA_LIBS = @CACA_LIBS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCAS = @CCAS@
CCASCOMPILE = @CCASCOMPILE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEBUG_CFLAGS = @DEBUG_CFLAGS@
DEFS = @DEFS@
DEPCOMP = @DEPCOMP@
DEPDIR = @DEPDIR@
DEPMOD = @DEPMOD@
DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
DIRECTFB_LIBS = @DIRECTFB_LIBS@
DIRECTX_AUDIO_LIBS = @DIRECTX_AUDIO_LIBS@
DIRECTX_CPPFLAGS = @DIRECTX_CPPFLAGS@
DIRECTX_VIDEO_LIBS = @DIRECTX_VIDEO_LIBS@
DLLTOOL = @DLLTOOL@
DVDNAV_CFLAGS = @DVDNAV_CFLAGS@
DVDNAV_CONFIG = @DVDNAV_CONFIG@
DVDNAV_LIBS = @DVDNAV_LIBS@
DYNAMIC_LD_LIBS = @DYNAMIC_LD_LIBS@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_VCD_FALSE = @ENABLE_VCD_FALSE@
ENABLE_VCD_TRUE = @ENABLE_VCD_TRUE@
ESD_CFLAGS = @ESD_CFLAGS@
ESD_CONFIG = @ESD_CONFIG@
ESD_LIBS = @ESD_LIBS@
EXEEXT = @EXEEXT@
EXTRA_X_CFLAGS = @EXTRA_X_CFLAGS@
EXTRA_X_LIBS = @EXTRA_X_LIBS@
F77 = @F77@
FFLAGS = @FFLAGS@
FFMPEG_CPPFLAGS = @FFMPEG_CPPFLAGS@
FFMPEG_LIBS = @FFMPEG_LIBS@
FIG2DEV = @FIG2DEV@
FREETYPE_CONFIG = @FREETYPE_CONFIG@
FT2_CFLAGS = @FT2_CFLAGS@
FT2_LIBS = @FT2_LIBS@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLUT_LIBS = @GLUT_LIBS@
GLU_LIBS = @GLU_LIBS@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNOME_VFS_CFLAGS = @GNOME_VFS_CFLAGS@
GNOME_VFS_LIBS = @GNOME_VFS_LIBS@
GOOM_LIBS = @GOOM_LIBS@
HAVE_AA_FALSE = @HAVE_AA_FALSE@
HAVE_AA_TRUE = @HAVE_AA_TRUE@
HAVE_ALSA09_FALSE = @HAVE_ALSA09_FALSE@
HAVE_ALSA09_TRUE = @HAVE_ALSA09_TRUE@
HAVE_ALSA_FALSE = @HAVE_ALSA_FALSE@
HAVE_ALSA_TRUE = @HAVE_ALSA_TRUE@
HAVE_ARMV4L_FALSE = @HAVE_ARMV4L_FALSE@
HAVE_ARMV4L_TRUE = @HAVE_ARMV4L_TRUE@
HAVE_ARTS_FALSE = @HAVE_ARTS_FALSE@
HAVE_ARTS_TRUE = @HAVE_ARTS_TRUE@
HAVE_BSDI_CDROM = @HAVE_BSDI_CDROM@
HAVE_CACA_FALSE = @HAVE_CACA_FALSE@
HAVE_CACA_TRUE = @HAVE_CACA_TRUE@
HAVE_CDROM_IOCTLS_FALSE = @HAVE_CDROM_IOCTLS_FALSE@
HAVE_CDROM_IOCTLS_TRUE = @HAVE_CDROM_IOCTLS_TRUE@
HAVE_COREAUDIO_FALSE = @HAVE_COREAUDIO_FALSE@
HAVE_COREAUDIO_TRUE = @HAVE_COREAUDIO_TRUE@
HAVE_DARWIN_CDROM = @HAVE_DARWIN_CDROM@
HAVE_DIRECTFB_FALSE = @HAVE_DIRECTFB_FALSE@
HAVE_DIRECTFB_TRUE = @HAVE_DIRECTFB_TRUE@
HAVE_DIRECTX_FALSE = @HAVE_DIRECTX_FALSE@
HAVE_DIRECTX_TRUE = @HAVE_DIRECTX_TRUE@
HAVE_DVDNAV_FALSE = @HAVE_DVDNAV_FALSE@
HAVE_DVDNAV_TRUE = @HAVE_DVDNAV_TRUE@
HAVE_DXR3_FALSE = @HAVE_DXR3_FALSE@
HAVE_DXR3_TRUE = @HAVE_DXR3_TRUE@
HAVE_ESD_FALSE = @HAVE_ESD_FALSE@
HAVE_ESD_TRUE = @HAVE_ESD_TRUE@
HAVE_FB_FALSE = @HAVE_FB_FALSE@
HAVE_FB_TRUE = @HAVE_FB_TRUE@
HAVE_FFMMX_FALSE = @HAVE_FFMMX_FALSE@
HAVE_FFMMX_TRUE = @HAVE_FFMMX_TRUE@
HAVE_FFMPEG_FALSE = @HAVE_FFMPEG_FALSE@
HAVE_FFMPEG_TRUE = @HAVE_FFMPEG_TRUE@
HAVE_FIG2DEV_FALSE = @HAVE_FIG2DEV_FALSE@
HAVE_FIG2DEV_TRUE = @HAVE_FIG2DEV_TRUE@
HAVE_FLAC_FALSE = @HAVE_FLAC_FALSE@
HAVE_FLAC_TRUE = @HAVE_FLAC_TRUE@
HAVE_FREEBSD_CDROM = @HAVE_FREEBSD_CDROM@
HAVE_GNOME_VFS_FALSE = @HAVE_GNOME_VFS_FALSE@
HAVE_GNOME_VFS_TRUE = @HAVE_GNOME_VFS_TRUE@
HAVE_IRIXAL_FALSE = @HAVE_IRIXAL_FALSE@
HAVE_IRIXAL_TRUE = @HAVE_IRIXAL_TRUE@
HAVE_LIBFAME_FALSE = @HAVE_LIBFAME_FALSE@
HAVE_LIBFAME_TRUE = @HAVE_LIBFAME_TRUE@
HAVE_LIBMNG_FALSE = @HAVE_LIBMNG_FALSE@
HAVE_LIBMNG_TRUE = @HAVE_LIBMNG_TRUE@
HAVE_LIBPNG_FALSE = @HAVE_LIBPNG_FALSE@
HAVE_LIBPNG_TRUE = @HAVE_LIBPNG_TRUE@
HAVE_LIBRTE_FALSE = @HAVE_LIBRTE_FALSE@
HAVE_LIBRTE_TRUE = @HAVE_LIBRTE_TRUE@
HAVE_LIBSMBCLIENT_FALSE = @HAVE_LIBSMBCLIENT_FALSE@
HAVE_LIBSMBCLIENT_TRUE = @HAVE_LIBSMBCLIENT_TRUE@
HAVE_LINUX_CDROM = @HAVE_LINUX_CDROM@
HAVE_LINUX_FALSE = @HAVE_LINUX_FALSE@
HAVE_LINUX_TRUE = @HAVE_LINUX_TRUE@
HAVE_MACOSX_VIDEO_FALSE = @HAVE_MACOSX_VIDEO_FALSE@
HAVE_MACOSX_VIDEO_TRUE = @HAVE_MACOSX_VIDEO_TRUE@
HAVE_MLIB_FALSE = @HAVE_MLIB_FALSE@
HAVE_MLIB_TRUE = @HAVE_MLIB_TRUE@
HAVE_OPENGL_FALSE = @HAVE_OPENGL_FALSE@
HAVE_OPENGL_TRUE = @HAVE_OPENGL_TRUE@
HAVE_OSS_FALSE = @HAVE_OSS_FALSE@
HAVE_OSS_TRUE = @HAVE_OSS_TRUE@
HAVE_POLYPAUDIO_FALSE = @HAVE_POLYPAUDIO_FALSE@
HAVE_POLYPAUDIO_TRUE = @HAVE_POLYPAUDIO_TRUE@
HAVE_SDL_FALSE = @HAVE_SDL_FALSE@
HAVE_SDL_TRUE = @HAVE_SDL_TRUE@
HAVE_SGMLTOOLS_FALSE = @HAVE_SGMLTOOLS_FALSE@
HAVE_SGMLTOOLS_TRUE = @HAVE_SGMLTOOLS_TRUE@
HAVE_SOLARIS_CDROM = @HAVE_SOLARIS_CDROM@
HAVE_SPEEX_FALSE = @HAVE_SPEEX_FALSE@
HAVE_SPEEX_TRUE = @HAVE_SPEEX_TRUE@
HAVE_STK_FALSE = @HAVE_STK_FALSE@
HAVE_STK_TRUE = @HAVE_STK_TRUE@
HAVE_SUNAUDIO_FALSE = @HAVE_SUNAUDIO_FALSE@
HAVE_SUNAUDIO_TRUE = @HAVE_SUNAUDIO_TRUE@
HAVE_SUNDGA_FALSE = @HAVE_SUNDGA_FALSE@
HAVE_SUNDGA_TRUE = @HAVE_SUNDGA_TRUE@
HAVE_SUNFB_FALSE = @HAVE_SUNFB_FALSE@
HAVE_SUNFB_TRUE = @HAVE_SUNFB_TRUE@
HAVE_SYNCFB_FALSE = @HAVE_SYNCFB_FALSE@
HAVE_SYNCFB_TRUE = @HAVE_SYNCFB_TRUE@
HAVE_THEORA_FALSE = @HAVE_THEORA_FALSE@
HAVE_THEORA_TRUE = @HAVE_THEORA_TRUE@
HAVE_V4L_FALSE = @HAVE_V4L_FALSE@
HAVE_V4L_TRUE = @HAVE_V4L_TRUE@
HAVE_VCDNAV_FALSE = @HAVE_VCDNAV_FALSE@
HAVE_VCDNAV_TRUE = @HAVE_VCDNAV_TRUE@
HAVE_VIDIX_FALSE = @HAVE_VIDIX_FALSE@
HAVE_VIDIX_TRUE = @HAVE_VIDIX_TRUE@
HAVE_VLDXVMC_FALSE = @HAVE_VLDXVMC_FALSE@
HAVE_VLDXVMC_TRUE = @HAVE_VLDXVMC_TRUE@
HAVE_VORBIS_FALSE = @HAVE_VORBIS_FALSE@
HAVE_VORBIS_TRUE = @HAVE_VORBIS_TRUE@
HAVE_W32DLL_FALSE = @HAVE_W32DLL_FALSE@
HAVE_W32DLL_TRUE = @HAVE_W32DLL_TRUE@
HAVE_WIN32_CDROM = @HAVE_WIN32_CDROM@
HAVE_X11_FALSE = @HAVE_X11_FALSE@
HAVE_X11_TRUE = @HAVE_X11_TRUE@
HAVE_XVMC_FALSE = @HAVE_XVMC_FALSE@
HAVE_XVMC_TRUE = @HAVE_XVMC_TRUE@
HAVE_XV_FALSE = @HAVE_XV_FALSE@
HAVE_XV_TRUE = @HAVE_XV_TRUE@
HAVE_XXMC_FALSE = @HAVE_XXMC_FALSE@
HAVE_XXMC_TRUE = @HAVE_XXMC_TRUE@
HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@
HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@
HOST_OS_DARWIN_FALSE = @HOST_OS_DARWIN_FALSE@
HOST_OS_DARWIN_TRUE = @HOST_OS_DARWIN_TRUE@
INCLUDED_INTL_FALSE = @INCLUDED_INTL_FALSE@
INCLUDED_INTL_TRUE = @INCLUDED_INTL_TRUE@
INCLUDES = @INCLUDES@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_M4_FALSE = @INSTALL_M4_FALSE@
INSTALL_M4_TRUE = @INSTALL_M4_TRUE@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLDIR = @INTLDIR@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
IRIXAL_CFLAGS = @IRIXAL_CFLAGS@
IRIXAL_LIBS = @IRIXAL_LIBS@
IRIXAL_STATIC_LIB = @IRIXAL_STATIC_LIB@
KSTAT_LIBS = @KSTAT_LIBS@
LDFLAGS = @LDFLAGS@
LIBCDIO_CFLAGS = @LIBCDIO_CFLAGS@
LIBCDIO_LIBS = @LIBCDIO_LIBS@
LIBFAME_CFLAGS = @LIBFAME_CFLAGS@
LIBFAME_CONFIG = @LIBFAME_CONFIG@
LIBFAME_LIBS = @LIBFAME_LIBS@
LIBFFMPEG_CFLAGS = @LIBFFMPEG_CFLAGS@
LIBFLAC_CFLAGS = @LIBFLAC_CFLAGS@
LIBFLAC_LIBS = @LIBFLAC_LIBS@
LIBICONV = @LIBICONV@
LIBISO9660_LIBS = @LIBISO9660_LIBS@
LIBMODPLUG_CFLAGS = @LIBMODPLUG_CFLAGS@
LIBMODPLUG_LIBS = @LIBMODPLUG_LIBS@
LIBMPEG2_CFLAGS = @LIBMPEG2_CFLAGS@
LIBNAME = @LIBNAME@
LIBOBJS = @LIBOBJS@
LIBPNG_CONFIG = @LIBPNG_CONFIG@
LIBS = @LIBS@
LIBSMBCLIENT_LIBS = @LIBSMBCLIENT_LIBS@
LIBSTK_CFLAGS = @LIBSTK_CFLAGS@
LIBSTK_LIBS = @LIBSTK_LIBS@
LIBTOOL = $(SHELL) $(top_builddir)/libtool-nofpic
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIBVCDINFO_LIBS = @LIBVCDINFO_LIBS@
LIBVCD_CFLAGS = @LIBVCD_CFLAGS@
LIBVCD_LIBS = @LIBVCD_LIBS@
LIBVCD_SYSDEP = @LIBVCD_SYSDEP@
LINUX_CDROM_TIMEOUT = @LINUX_CDROM_TIMEOUT@
LINUX_INCLUDE = @LINUX_INCLUDE@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MKNOD = @MKNOD@
MLIB_CFLAGS = @MLIB_CFLAGS@
MLIB_LIBS = @MLIB_LIBS@
MNG_LIBS = @MNG_LIBS@
MSGFMT = @MSGFMT@
NET_LIBS = @NET_LIBS@
OBJC = @OBJC@
OBJCDEPMODE = @OBJCDEPMODE@
OBJCFLAGS = @OBJCFLAGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OGG_CFLAGS = @OGG_CFLAGS@
OGG_LIBS = @OGG_LIBS@
OPENGL_CFLAGS = @OPENGL_CFLAGS@
OPENGL_LIBS = @OPENGL_LIBS@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PASS1_CFLAGS = @PASS1_CFLAGS@
PASS2_CFLAGS = @PASS2_CFLAGS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PNG_CFLAGS = @PNG_CFLAGS@
PNG_LIBS = @PNG_LIBS@
POFILES = @POFILES@
POLYPAUDIO_CFLAGS = @POLYPAUDIO_CFLAGS@
POLYPAUDIO_LIBS = @POLYPAUDIO_LIBS@
POSUB = @POSUB@
PPC_ARCH_FALSE = @PPC_ARCH_FALSE@
PPC_ARCH_TRUE = @PPC_ARCH_TRUE@
RANLIB = @RANLIB@
RT_LIBS = @RT_LIBS@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CONFIG = @SDL_CONFIG@
SDL_LIBS = @SDL_LIBS@
SET_MAKE = @SET_MAKE@
SGMLTOOLS = @SGMLTOOLS@
SHELL = @SHELL@
SPEC_VERSION = @SPEC_VERSION@
SPEEX_CFLAGS = @SPEEX_CFLAGS@
SPEEX_LIBS = @SPEEX_LIBS@
STATIC = @STATIC@
STRIP = @STRIP@
SUNDGA_CFLAGS = @SUNDGA_CFLAGS@
SUNDGA_LIBS = @SUNDGA_LIBS@
TAR_NAME = @TAR_NAME@
THEORAENC_LIBS = @THEORAENC_LIBS@
THEORAFILE_LIBS = @THEORAFILE_LIBS@
THEORA_CFLAGS = @THEORA_CFLAGS@
THEORA_LIBS = @THEORA_LIBS@
THREAD_CFLAGS = @THREAD_CFLAGS@
THREAD_CFLAGS_CONFIG = @THREAD_CFLAGS_CONFIG@
THREAD_INCLUDES = @THREAD_INCLUDES@
THREAD_LIBS = @THREAD_LIBS@
THREAD_LIBS_CONFIG = @THREAD_LIBS_CONFIG@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
VORBISENC_LIBS = @VORBISENC_LIBS@
VORBISFILE_LIBS = @VORBISFILE_LIBS@
VORBIS_CFLAGS = @VORBIS_CFLAGS@
VORBIS_LIBS = @VORBIS_LIBS@
W32DLL_DEP = @W32DLL_DEP@
W32_NO_OPTIMIZE = @W32_NO_OPTIMIZE@
WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
WIN32_FALSE = @WIN32_FALSE@
WIN32_TRUE = @WIN32_TRUE@
XGETTEXT = @XGETTEXT@
XINE_ACFLAGS = @XINE_ACFLAGS@
XINE_BIN_AGE = @XINE_BIN_AGE@
XINE_BUILD_CC = @XINE_BUILD_CC@
XINE_BUILD_DATE = @XINE_BUILD_DATE@
XINE_BUILD_OS = @XINE_BUILD_OS@
XINE_CONFIG_PREFIX = @XINE_CONFIG_PREFIX@
XINE_DATADIR = @XINE_DATADIR@
XINE_FONTDIR = @XINE_FONTDIR@
XINE_FONTPATH = @XINE_FONTPATH@
XINE_IFACE_AGE = @XINE_IFACE_AGE@
XINE_LOCALEDIR = @XINE_LOCALEDIR@
XINE_LOCALEPATH = @XINE_LOCALEPATH@
XINE_MAJOR = @XINE_MAJOR@
XINE_MINOR = @XINE_MINOR@
XINE_PLUGINDIR = @XINE_PLUGINDIR@
XINE_PLUGINPATH = @XINE_PLUGINPATH@
XINE_PLUGIN_MIN_SYMS = @XINE_PLUGIN_MIN_SYMS@
XINE_SCRIPTPATH = @XINE_SCRIPTPATH@
XINE_SUB = @XINE_SUB@
XVMC_LIB = @XVMC_LIB@
XV_LIB = @XV_LIB@
XXMC_LIB = @XXMC_LIB@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZLIB_INCLUDES = @ZLIB_INCLUDES@
ZLIB_LIBS = @ZLIB_LIBS@
ZLIB_LIBS_CONFIG = @ZLIB_LIBS_CONFIG@
ac_ct_AR = @ac_ct_AR@
ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DLLTOOL = @ac_ct_DLLTOOL@
ac_ct_F77 = @ac_ct_F77@
ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__fastdepOBJC_FALSE = @am__fastdepOBJC_FALSE@
am__fastdepOBJC_TRUE = @am__fastdepOBJC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
w32_path = @w32_path@
XINE_LIB = $(top_builddir)/src/xine-engine/libxine.la
SUBDIRS = fonts
EXTRA_DIST = build_rpms.sh \
cdda_server.c \
SlackBuild.in \
SlackBuild \
vga.xinefont.gz \
xine-fontconv.c \
xine-lib.spec.in \
xine-lib.spec \
libxine.pc.in \
libdvdcss-1.2.6-network.patch \
Makefile.common
bin_SCRIPTS = xine-config
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libxine.pc
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu misc/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu misc/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
SlackBuild: $(top_builddir)/config.status $(srcdir)/SlackBuild.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
build_rpms.sh: $(top_builddir)/config.status $(srcdir)/build_rpms.sh.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
libxine.pc: $(top_builddir)/config.status $(srcdir)/libxine.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
relchk.sh: $(top_builddir)/config.status $(srcdir)/relchk.sh.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
xine-config: $(top_builddir)/config.status $(srcdir)/xine-config.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
xine-lib.spec: $(top_builddir)/config.status $(srcdir)/xine-lib.spec.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
@list='$(bin_SCRIPTS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f $$d$$p; then \
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
$(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
else :; fi; \
done
uninstall-binSCRIPTS:
@$(NORMAL_UNINSTALL)
@list='$(bin_SCRIPTS)'; for p in $$list; do \
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
rm -f "$(DESTDIR)$(bindir)/$$f"; \
done
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgconfigdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdir)"
@list='$(pkgconfig_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
$(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
done
uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
@list='$(pkgconfig_DATA)'; for p in $$list; do \
f=$(am__strip_dir) \
echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
done
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
$(mkdir_p) $(distdir)/../misc
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(SCRIPTS) $(DATA)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am: install-pkgconfigDATA
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-exec-am: install-binSCRIPTS
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-binSCRIPTS uninstall-info-am \
uninstall-pkgconfigDATA
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean clean-generic clean-libtool clean-recursive ctags \
ctags-recursive distclean distclean-generic distclean-libtool \
distclean-recursive distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-binSCRIPTS \
install-data install-data-am install-data-hook install-exec \
install-exec-am install-info install-info-am install-man \
install-pkgconfigDATA install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive \
mostlyclean mostlyclean-generic mostlyclean-libtool \
mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am uninstall-binSCRIPTS uninstall-hook \
uninstall-info-am uninstall-pkgconfigDATA
$(XINE_LIB):
@cd $(top_srcdir)/src/xine-engine && $(MAKE)
install-data-hook:
@if test $$MAKELEVEL -le 4 ; then \
if test -x "$(top_srcdir)/post-install.sh" ; then \
$(top_srcdir)/post-install.sh ; \
fi \
fi
pass1:
@$(MAKE) MULTIPASS_CFLAGS="$(PASS1_CFLAGS)"
pass2:
@$(MAKE) MULTIPASS_CFLAGS="$(PASS2_CFLAGS)"
debug:
@$(MAKE) CFLAGS="$(DEBUG_CFLAGS)"
install-debug: debug
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
@list='$(SUBDIRS)'; for subdir in $$list; do \
(cd $$subdir && $(MAKE) $@) || exit; \
done;
$(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
$(install_sh) -d $(DESTDIR)$(includedir)/xine
@list='$(include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/xine/$$p"; \
$(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/xine/$$p; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
list='$(include_HEADERS)'; for p in $$list; do \
rm -f $(DESTDIR)$(includedir)/xine/$$p; \
done
uninstall-hook:
@if echo '$(libdir)' | egrep ^'$(XINE_PLUGINDIR)' >/dev/null; then \
list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p="`echo $$p | sed -e 's/\.la$$/\.so/g;s|^.*/||'`"; \
echo " rm -f $(DESTDIR)$(libdir)/$$p"; \
rm -f $(DESTDIR)$(libdir)/$$p; \
done; \
fi
mostlyclean-generic:
-rm -f *~ \#* .*~ .\#*
maintainer-clean-generic:
-@echo "This command is intended for maintainers to use;"
-@echo "it deletes files that may require special tools to rebuild."
-rm -f Makefile.in
xine-fontconv: xine-fontconv.c
$(CC) -W -Wall -g -o xine-fontconv xine-fontconv.c -lz `freetype-config --cflags` `freetype-config --libs`
cdda_server: cdda_server.c
$(CC) -W -Wall -g -o cdda_server cdda_server.c -ldl
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
--- NEW FILE: build_rpms.sh.in ---
#!/bin/sh
#DATE=`date +%y%m%d`
DATE=1
PKGNAME=libxine1
# Some rpm checks
RPMVERSION=`rpm --version | tr [A-Z] [a-z] | sed -e 's/[a-z]//g' -e 's/\.//g' -e 's/ //g'`
# rpm version 4 return 40
if [ `expr $RPMVERSION` -lt 100 ]; then
RPMVERSION=`expr $RPMVERSION \* 10`
fi
if [ `expr $RPMVERSION` -lt 400 ]; then
RPM_BA="rpm -ba -ta ./@PACKAGE@-@VERSION@.tar.gz"
RPM_BB="rpm -bb -ta ./@PACKAGE@-@VERSION@.tar.gz"
elif [ `expr $RPMVERSION` -lt 420 ]; then
RPM_BA="rpm -ta ./@PACKAGE@-@VERSION@.tar.gz -ba"
RPM_BB="rpm -ta ./@PACKAGE@-@VERSION@.tar.gz -bb"
else
RPM_BA="rpmbuild -ta ./@PACKAGE@-@VERSION@.tar.gz -ba"
RPM_BB="rpmbuild -ta ./@PACKAGE@-@VERSION@.tar.gz -bb"
fi
##VERSION="@XINE_MAJOR@.@XINE_MINOR@.@XINE_SUB@"
echo "Creating tarball..."
rm -f config.cache && ./autogen.sh && make dist
rm -rf rpms
mkdir rpms
echo "*****************************************************"
echo
echo "building rpm for @PACKAGE@ @VERSION@"
echo
echo "current architecture:pentium"
echo "rpms will be copied to ./rpms directory"
echo
echo "*****************************************************"
export XINE_BUILD=i586-pc-linux-gnu
eval $RPM_BA
mv /usr/src/redhat/SRPMS/libxine-@SPEC_VERSION@-$DATE.src.rpm ./rpms/
mv /usr/src/redhat/RPMS/i386/$PKGNAME-@SPEC_VERSION@-$DATE.i386.rpm ./rpms/$PKGNAME-@SPEC_VERSION@-$DATE.i586.rpm
mv /usr/src/redhat/RPMS/i386/$PKGNAME-devel-@SPEC_VERSION@-$DATE.i386.rpm ./rpms/$PKGNAME-devel-@SPEC_VERSION@-$DATE.i586.rpm
echo "*****************************************************"
echo
echo "building rpm for @PACKAGE@ @VERSION@"
echo
echo "current architecture:pentiumpro"
echo "rpms will be copied to ./rpms directory"
echo
echo "*****************************************************"
export XINE_BUILD=i686-pc-linux-gnu
eval $RPM_BB
mv /usr/src/redhat/RPMS/i386/$PKGNAME-@SPEC_VERSION@-$DATE.i386.rpm ./rpms/$PKGNAME-@SPEC_VERSION@-$DATE.i686.rpm
echo "*****************************************************"
echo
echo "building rpm for @PACKAGE@ @VERSION@"
echo
echo "current architecture:k6"
echo "rpms will be copied to ./rpms directory"
echo
echo "*****************************************************"
export XINE_BUILD=k6-pc-linux-gnu
eval $RPM_BB
mv /usr/src/redhat/RPMS/i386/$PKGNAME-@SPEC_VERSION@-$DATE.i386.rpm ./rpms/$PKGNAME-@SPEC_VERSION@-$DATE.k6.rpm
echo "*****************************************************"
echo
echo "building rpm for @PACKAGE@ @VERSION@"
echo
echo "current architecture:k7"
echo "rpms will be copied to ./rpms directory"
echo
echo "*****************************************************"
export XINE_BUILD=athlon-pc-linux-gnu
eval $RPM_BB
mv /usr/src/redhat/RPMS/i386/$PKGNAME-@SPEC_VERSION@-$DATE.i386.rpm ./rpms/$PKGNAME-@SPEC_VERSION@-$DATE.k7.rpm
echo "Done."
--- NEW FILE: SlackBuild.in ---
#!/bin/sh
#
# This script generate some valid Slackware packages
#
#
# Some variables.
#
CWD=`pwd`
PACKAGE=@PACKAGE@.tgz
SLCK=$CWD/slack
PREFIX=${PREFIX:-"@prefix@"}
PKG=$CWD/slktmp
TMPBUILD=$CWD/tmpbuild
#DOINSTDIR=/install
#
# Create the post-install script
#
do_install_sh() {
cat > doinst.sh <<EOF
/sbin/ldconfig
EOF
}
#
# Create package description for pkgtool.
#
do_descr() {
cat > package_descriptions << EOF
@PACKAGE@: @PACKAGE@ @SPEC_VERSION@.
@PACKAGE@:
@PACKAGE@: xine-lib is the beating heart of xine (a free gpl-licensed
@PACKAGE@: video player for unix-like systems) which among others provides
@PACKAGE@: support for decoding (and playing back) of many today available
@PACKAGE@: audio/video codecs, like mpeg-4 (DivX), mpeg-2 (DVD, SVCD),
@PACKAGE@: mpeg-1 (VCD), Quicktime and RealMedia just to name a few.
@PACKAGE@: This library contains (and uses) numerous processor specific
@PACKAGE@: optimizations to provide a smooth playback and to minimize the
@PACKAGE@: overall demand of CPU power.
@PACKAGE@:
@PACKAGE@: Don't hesitate to use %{name} in your own projects as long as
@PACKAGE@: your usage complies to the GPL. More information about
@PACKAGE@: GPL-license can be found at http://www.gnu.org/licenses/gpl.html
@PACKAGE@:
@PACKAGE@:
EOF
}
#
# Building binaries process, then install and move package in right place
#
do_build() {
cd $CWD
rm -rf $TMPBUILD
mkdir -p $TMPBUILD
cd $TMPBUILD && tar -xzf $CWD/@TAR_NAME@.tar.gz
do_install_sh;
cd @TAR_NAME@
DIE=1
echo "./configure --prefix=$PREFIX $CONFIG_OPT && make && make install-strip DESTDIR=$PKG LIBRARY_PATH=$TMPBUILD/@TAR_NAME@/src/xine-engine/.libs" && \
./configure --prefix=$PREFIX $CONFIG_OPT && make && make install-strip DESTDIR=$PKG LIBRARY_PATH=$TMPBUILD/@TAR_NAME@/src/xine-engine/.libs && \
mkdir -p $PKG/install && cp $TMPBUILD/doinst.sh $PKG/install && \
cd $PKG && \
echo "n" | /sbin/makepkg $PACKAGE && \
mv $PACKAGE $SLCK && \
cd $SLCK && DIE=0
do_descr
}
#
# Cleaning building directory
#
do_clean() {
rm -rf $TMPBUILD
rm -f $PACKAGE package_descriptions
rm -rf $PKG
cd $CWD
}
#
# Build for PPro
#
build_pentiumpro() {
echo "*****************************************************"
echo
echo "building slack for @PACKAGE@ @VERSION@"
echo
echo "current architecture:pentiumpro"
echo "slackware package will be copied to ./slack directory"
echo
echo "*****************************************************"
rm -rf $PKG
export XINE_BUILD=i686-pc-linux-gnu
do_build
if test "$DIE" -eq 0; then
tar -czvf @PACKAGE@-@VERSION@-i686.tar.gz $PACKAGE package_descriptions
fi
do_clean
}
#
# Build for Pentium
#
build_pentium() {
echo "*****************************************************"
echo
echo "building slack for @PACKAGE@ @VERSION@"
echo
echo "current architecture:pentium"
echo "slackware package will be copied to ./slack directory"
echo
echo "*****************************************************"
rm -rf $PKG
export XINE_BUILD=i586-pc-linux-gnu
do_build
if test "$DIE" -eq 0; then
tar -czvf @PACKAGE@-@VERSION@-i586.tar.gz $PACKAGE package_descriptions
fi
do_clean
}
#
# Build for K6
#
build_k6() {
echo "*****************************************************"
echo
echo "building slack for @PACKAGE@ @VERSION@"
echo
echo "current architecture:k6"
echo "slackware package will be copied to ./slack directory"
echo
echo "*****************************************************"
rm -rf $PKG
export XINE_BUILD=k6-pc-linux-gnu
do_build
if test "$DIE" -eq 0; then
tar -czvf @PACKAGE@-@VERSION@-k6.tar.gz $PACKAGE package_descriptions
fi
do_clean
}
#
# Build for K7
#
build_k7() {
echo "*****************************************************"
echo
echo "building slack for @PACKAGE@ @VERSION@"
echo
echo "current architecture:k7"
echo "slackware package will be copied to ./slack directory"
echo
echo "*****************************************************"
rm -rf $PKG
export XINE_BUILD=athlon-pc-linux-gnu
do_build
if test "$DIE" -eq 0; then
tar -czvf @PACKAGE@-@VERSION@-k7.tar.gz $PACKAGE package_descriptions
fi
do_clean
}
#
# Main function
#
main() {
rm -rf $SLCK
mkdir -p $SLCK
rm -f config.cache && ./autogen.sh && make dist
build_pentiumpro
build_pentium
build_k6
build_k7
mv -f $CWD/@TAR_NAME@.tar.gz $SLCK
}
#
# Handle arguments if available.
#
build_arch() {
rm -rf $SLCK
mkdir -p $SLCK
rm -f config.cache && ./autogen.sh && make dist
$barch
mv -f $CWD/@TAR_NAME@.tar.gz $SLCK
}
case "$1" in
pentiumpro | ppro | i686 | 686)
barch=build_pentiumpro
build_arch
;;
pentium | i586 | 586)
barch=build_pentium
build_arch
;;
k6)
barch=build_k6
build_arch
;;
k7 | athlon)
barch=build_k7
build_arch
;;
*)
main
;;
esac
--- NEW FILE: relchk.sh.in ---
#!/bin/sh
##
## A simple compare directory content utility.
##
topdir="`pwd`"
distdir="@TAR_NAME@"
log="$topdir/dist-log"
logerror="$topdir/dist-errors"
getdir() {
for file in `ls`; do
if test -d $file -a $file != "CVS" -a $file != $distdir -a $file != "autom4te.cache"; then
(cd $file && getdir) || (cd ..)
else
if test ! -d $file -a \
$file != $log -a \
$file != $logerror -a \
$file != ${0##*/} -a \
$file != "$distdir.tar.gz" -a \
$file != "config.status"; then
orifile=`pwd`/$file
distfile=$topdir/$distdir${orifile##*$topdir}
echo -e "check:\t$orifile\nand\t$distfile" >> $log
if test ! -e $distfile; then
missingfile=${orifile##$topdir}
echo "${missingfile#/} is missing in tarball" >> $logerror
fi
fi
fi
done
}
main() {
rm -f $log $logerror
make config.status && make dist && mv $distdir.tar.gz $distdir.tmp.tar.gz && \
cp config.status config.tmp.status && make clean && make distclean && \
mv $distdir.tmp.tar.gz $distdir.tar.gz && mv config.tmp.status config.status && \
tar -xzf $distdir.tar.gz
echo "Check is running, be patient..."
getdir
rm -rf $distdir
rm -f $distdir.tar.gz
./config.status --recheck
./config.status
echo " * Log is ${log##*/}"
echo " * Error log is ${logerror##*/}"
}
main
--- NEW FILE: libdvdcss-1.2.6-network.patch ---
diff -u --new-file libdvdcss-1.2.6/src/Makefile.am libdvdcss-1.2.6-network/src/Makefile.am
--- libdvdcss-1.2.6/src/Makefile.am 2003-03-10 12:57:09.000000000 -0500
+++ libdvdcss-1.2.6-network/src/Makefile.am 2003-05-06 15:59:47.000000000 -0400
@@ -4,6 +4,7 @@
libdvdcss_la_SOURCES = \
libdvdcss.c libdvdcss.h \
+ network.c network.h \
device.c device.h \
css.c css.h csstables.h \
ioctl.c ioctl.h \
diff -u --new-file libdvdcss-1.2.6/src/libdvdcss.c libdvdcss-1.2.6-network/src/libdvdcss.c
--- libdvdcss-1.2.6/src/libdvdcss.c 2003-02-01 16:24:49.000000000 -0500
+++ libdvdcss-1.2.6-network/src/libdvdcss.c 2003-05-06 16:28:21.000000000 -0400
@@ -125,6 +125,9 @@
#include "libdvdcss.h"
#include "ioctl.h"
#include "device.h"
+#include "network.h"
+
+#define MAX_ERR_MSG 300
/**
* \brief Symbol for version checks.
@@ -204,6 +207,10 @@
}
}
+ dvdcss->i_socket_fd = dvdcss_network_connect( dvdcss->psz_device );
+ if( dvdcss->i_socket_fd != -1 )
+ return dvdcss;
+
/*
* Find method from DVDCSS_METHOD environment variable
*/
@@ -439,6 +446,16 @@
*/
extern char * dvdcss_error ( dvdcss_t dvdcss )
{
+ if( dvdcss->i_socket_fd != -1 )
+ {
+ static char buf[MAX_ERR_MSG];
+
+ if( dvdcss_network_command( dvdcss->i_socket_fd, buf, "dvd_error") < 0 )
+ return "(network error)";
+ else
+ return buf;
+ }
+
return dvdcss->psz_error;
}
@@ -468,6 +485,12 @@
*/
extern int dvdcss_seek ( dvdcss_t dvdcss, int i_blocks, int i_flags )
{
+ if( dvdcss->i_socket_fd != -1 )
+ {
+ return dvdcss_network_command( dvdcss->i_socket_fd, NULL,
+ "dvd_seek %d %d", i_blocks, i_flags);
+ }
+
/* title cracking method is too slow to be used at each seek */
if( ( ( i_flags & DVDCSS_SEEK_MPEG )
&& ( dvdcss->i_method != DVDCSS_METHOD_TITLE ) )
@@ -512,6 +535,12 @@
{
int i_ret, i_index;
+ if( dvdcss->i_socket_fd != -1 )
+ {
+ return dvdcss_network_command( dvdcss->i_socket_fd, p_buffer,
+ "dvd_read %d %d", i_blocks, i_flags);
+ }
+
i_ret = dvdcss->pf_read( dvdcss, p_buffer, i_blocks );
if( i_ret <= 0
@@ -588,6 +617,12 @@
void *iov_base;
size_t iov_len;
+ if( dvdcss->i_socket_fd != -1 )
+ {
+ printf("error: network dvdcss_readv not implemented\n");
+ return -1;
+ }
+
i_ret = dvdcss->pf_readv( dvdcss, _p_iovec, i_blocks );
if( i_ret <= 0
@@ -642,20 +677,28 @@
dvd_title_t *p_title;
int i_ret;
- /* Free our list of keys */
- p_title = dvdcss->p_titles;
- while( p_title )
+ if( dvdcss->i_socket_fd != -1 )
{
- dvd_title_t *p_tmptitle = p_title->p_next;
- free( p_title );
- p_title = p_tmptitle;
+ close(dvdcss->i_socket_fd);
}
+ else
+ {
- i_ret = _dvdcss_close( dvdcss );
+ /* Free our list of keys */
+ p_title = dvdcss->p_titles;
+ while( p_title )
+ {
+ dvd_title_t *p_tmptitle = p_title->p_next;
+ free( p_title );
+ p_title = p_tmptitle;
+ }
- if( i_ret < 0 )
- {
- return i_ret;
+ i_ret = _dvdcss_close( dvdcss );
+
+ if( i_ret < 0 )
+ {
+ return i_ret;
+ }
}
free( dvdcss->psz_device );
@@ -670,6 +713,11 @@
#undef dvdcss_title
extern int dvdcss_title ( dvdcss_t dvdcss, int i_block )
{
+ if( dvdcss->i_socket_fd != -1 )
+ {
+ return dvdcss_network_command( dvdcss->i_socket_fd, NULL,
+ "dvd_title %d", i_block);
+ }
return _dvdcss_title( dvdcss, i_block );
}
diff -u --new-file libdvdcss-1.2.6/src/libdvdcss.h libdvdcss-1.2.6-network/src/libdvdcss.h
--- libdvdcss-1.2.6/src/libdvdcss.h 2002-12-19 10:36:04.000000000 -0500
+++ libdvdcss-1.2.6-network/src/libdvdcss.h 2003-04-29 05:31:04.000000000 -0400
@@ -34,6 +34,7 @@
int i_fd;
int i_read_fd;
int i_pos;
+ int i_socket_fd;
/* File handling */
int ( * pf_seek ) ( dvdcss_t, int );
diff -u --new-file libdvdcss-1.2.6/src/network.c libdvdcss-1.2.6-network/src/network.c
--- libdvdcss-1.2.6/src/network.c 1969-12-31 19:00:00.000000000 -0500
+++ libdvdcss-1.2.6-network/src/network.c 2003-05-06 16:28:04.000000000 -0400
@@ -0,0 +1,331 @@
+/***************************************************************************
+ network.c - description
+ -------------------
+ begin : Wed Mar 19 2003
+ copyright : (C) 2003 by miguel
+ email : miguel@miguel
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <unistd.h>
+#include <string.h>
+#include <signal.h>
+#include <errno.h>
+#include <sys/time.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <netdb.h>
+
+
+#define _BUFSIZ 300
+
+static int host_connect_attempt (struct in_addr ia, int port)
+{
+ int s;
+ struct sockaddr_in sin;
+
+ s=socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
+
+ if (s==-1) {
+ printf("network: failed to open socket\n");
+ return -1;
+ }
+
+ sin.sin_family = AF_INET;
+ sin.sin_addr = ia;
+ sin.sin_port = htons(port);
+
+ if (connect(s, (struct sockaddr *)&sin, sizeof(sin))==-1 && errno != EINPROGRESS) {
+ printf("network: cannot connect to host\n");
+ close(s);
+ return -1;
+ }
+
+ return s;
+}
+
+static int host_connect (const char *host, int port)
+{
+ struct hostent *h;
+ int i;
+ int s;
+
+ h=gethostbyname(host);
+ if (h==NULL) {
+ printf("network: unable to resolve >%s<\n", host);
+ return -1;
+ }
+
+ for(i=0; h->h_addr_list[i]; i++) {
+ struct in_addr ia;
+ memcpy(&ia, h->h_addr_list[i], 4);
+ s=host_connect_attempt(ia, port);
+ if(s != -1) {
+ signal( SIGPIPE, SIG_IGN );
+ return s;
+ }
+ }
+
+ printf("network: unable to connect to >%s<\n", host);
+ return -1;
+}
+
+
+static int parse_url (char *urlbuf, char** host, int *port) {
+ char *start = NULL;
+ char *portcolon = NULL;
+
+ if (host != NULL)
+ *host = NULL;
+
+ if (port != NULL)
+ *port = 0;
+
+ start = strstr(urlbuf, "://");
+ if (start != NULL)
+ start += 3;
+ else
+ start = urlbuf;
+
+ while( *start == '/' )
+ start++;
+
+ portcolon = strchr(start, ':');
+
+ if (host != NULL)
+ *host = start;
+
+ if (portcolon != NULL)
+ {
+ *portcolon = '\0';
+
+ if (port != NULL)
+ *port = atoi(portcolon + 1);
+ }
+
+ return 0;
+}
+
+static int sock_check_opened(int socket) {
+ fd_set readfds, writefds, exceptfds;
+ int retval;
+ struct timeval timeout;
+
+ for(;;) {
+ FD_ZERO(&readfds);
+ FD_ZERO(&writefds);
+ FD_ZERO(&exceptfds);
+ FD_SET(socket, &exceptfds);
+
+ timeout.tv_sec = 0;
+ timeout.tv_usec = 0;
+
+ retval = select(socket + 1, &readfds, &writefds, &exceptfds, &timeout);
+
+ if(retval == -1 && (errno != EAGAIN && errno != EINTR))
+ return 0;
+
+ if (retval != -1)
+ return 1;
+ }
+
+ return 0;
+}
+
+/*
+ * read binary data from socket
+ */
+static int sock_data_read (int socket, char *buf, int nlen) {
+ int n, num_bytes;
+
+ if((socket < 0) || (buf == NULL))
+ return -1;
+
+ if(!sock_check_opened(socket))
+ return -1;
+
+ num_bytes = 0;
+
+ while (num_bytes < nlen) {
+
+ n = read (socket, &buf[num_bytes], nlen - num_bytes);
+
+ /* read errors */
+ if (n < 0) {
+ if(errno == EAGAIN) {
+ fd_set rset;
+ struct timeval timeout;
+
+ FD_ZERO (&rset);
+ FD_SET (socket, &rset);
+
+ timeout.tv_sec = 30;
+ timeout.tv_usec = 0;
+
+ if (select (socket+1, &rset, NULL, NULL, &timeout) <= 0) {
+ printf ("network: timeout on read\n");
+ return 0;
+ }
+ continue;
+ }
+ printf ("network: read error %d\n", errno);
+ return 0;
+ }
+
+ num_bytes += n;
+
+ /* end of stream */
+ if (!n) break;
+ }
+
+ return num_bytes;
+}
+
+/*
+ * read a line (\n-terminated) from socket
+ */
+static int sock_string_read(int socket, char *buf, int len) {
+ char *pbuf;
+ int r, rr;
+ void *nl;
+
+ if((socket < 0) || (buf == NULL))
+ return -1;
+
+ if(!sock_check_opened(socket))
+ return -1;
+
+ if (--len < 1)
+ return(-1);
+
+ pbuf = buf;
+
+ do {
+
+ if((r = recv(socket, pbuf, len, MSG_PEEK)) <= 0)
+ return -1;
+
+ if((nl = memchr(pbuf, '\n', r)) != NULL)
+ r = ((char *) nl) - pbuf + 1;
+
+ if((rr = read(socket, pbuf, r)) < 0)
+ return -1;
+
+ pbuf += rr;
+ len -= rr;
+
+ } while((nl == NULL) && len);
+
+ if (pbuf > buf && *(pbuf-1) == '\n'){
+ *(pbuf-1) = '\0';
+ }
+ *pbuf = '\0';
+ return (pbuf - buf);
+}
+
+/*
+ * Write to socket.
+ */
+static int sock_data_write(int socket, char *buf, int len) {
+ ssize_t size;
+ int wlen = 0;
+
+ if((socket < 0) || (buf == NULL))
+ return -1;
+
+ if(!sock_check_opened(socket))
+ return -1;
+
+ while(len) {
+ size = write(socket, buf, len);
+
+ if(size <= 0)
+ return -1;
+
+ len -= size;
+ wlen += size;
+ buf += size;
+ }
+
+ return wlen;
+}
+
+int dvdcss_network_command( int socket, char *data_buf, char *msg, ...)
+{
+ char buf[_BUFSIZ];
+ va_list args;
+ int ret, n;
+
+ va_start(args, msg);
+ vsnprintf(buf, _BUFSIZ - 1, msg, args);
+ va_end(args);
+
+ /* Each line sent is '\n' terminated */
+ if((buf[strlen(buf)] == '\0') && (buf[strlen(buf) - 1] != '\n'))
+ strcat(buf, "\n");
+
+ if( sock_data_write(socket, buf, strlen(buf)) < (int)strlen(buf) )
+ {
+ printf("network: error writing to socket\n");
+ return -1;
+ }
+
+ if( sock_string_read(socket, buf, _BUFSIZ) <= 0 )
+ {
+ printf("network: error reading from socket\n");
+ return -1;
+ }
+
+ sscanf(buf, "%d %d", &ret, &n );
+
+ if( n ) {
+ if( !data_buf ) {
+ printf("network: protocol error, data returned but no buffer provided.\n");
+ return -1;
+ }
+ if( sock_data_read(socket, data_buf, n) < n )
+ return -1;
+ }
+
+ return ret;
+}
+
+int dvdcss_network_connect( char *url )
+{
+ char *host;
+ int port;
+ int fd;
+
+ url = strdup(url);
+ parse_url(url, &host, &port);
+
+ if( !host || !strlen(host) || !port )
+ {
+ free(url);
+ return -1;
+ }
+
+ fd = host_connect( host, port );
+ free(url);
+
+ if( fd != -1 ) {
+ if( dvdcss_network_command(fd, NULL, "dvd_open") < 0 ) {
+ close(fd);
+ return -1;
+ }
+ }
+ return fd;
+}
diff -u --new-file libdvdcss-1.2.6/src/network.h libdvdcss-1.2.6-network/src/network.h
--- libdvdcss-1.2.6/src/network.h 1969-12-31 19:00:00.000000000 -0500
+++ libdvdcss-1.2.6-network/src/network.h 2003-05-06 16:26:15.000000000 -0400
@@ -0,0 +1,20 @@
+/***************************************************************************
+ network.h - description
+ -------------------
+ begin : Wed Mar 19 2003
+ copyright : (C) 2003 by miguel
+ email : miguel@miguel
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+int dvdcss_network_connect( char *url );
+
+int dvdcss_network_command( int socket, char *data_buf, char *msg, ...);