xine-lib/xine-lib-cleanup-sources.sh

65 lines
1.8 KiB
Bash
Raw Normal View History

#!/bin/bash
if [ -z "$1" -o $# -ne 1 ]; then
echo "Usage: $0 <xine-version>"
exit 2
fi
version=$1
tarball="xine-lib-$version.tar.gz"
dir="xine-lib-$version"
modtarball="xine-lib-$version-pruned.tar.bz2"
if [ ! -f $tarball ]; then
echo "Can't find $tarball !"
exit 1
fi
echo "Uncompressing $tarball..."
rm -rf $dir
tar -xzf $tarball
cd $dir
# Main libraries
for remove in libfaad libffmpeg libmad libmpeg2 dxr3 libspudec libxineadec libspucmml libspucc liba52 libdts; do
echo "removing src/$remove..."
rm -rf src/$remove
sed -i -e "/$remove/d" src/Makefile.am
sed -i -e "/^src\/$remove/d" configure.ac
done
# Input plugin libraries
for remove in libdvdnav vcd; do
echo "removing src/input/$remove..."
rm -rf src/input/$remove
sed -i -e "s/SUBDIRS = \(.*\)${remove}\(.*\)/SUBDIRS = \1\2/g" src/input/Makefile.am
sed -i -e "/^src\/input\/$remove/d" configure.ac
done
# Input plugins
for p in dvd vcd mms; do
echo "removing $p input plugin..."
# Remove sources
for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do
if [ "`grep -c $sourcefile src/input/Makefile.am`" -le 1 ]; then # if this file is only used for this plugin
rm -f src/input/$sourcefile
fi
done
# Remove from Makefile
sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am
done
# Demuxers
for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do
echo "removing $p demuxer..."
[ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c
sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am
done
echo "removing planar and deinterlace postprocessors..."
sed -i -e 's/planar//g;s/deinterlace//g' src/post/Makefile.am # fails to build
# All clean !
cd ..
echo "Generating $modtarball..."
tar -cjf $modtarball $dir
rm -rf $dir