Wget $(SUBDIR)/a52dec.tar.gz : $(SUBDIR)/version_a52dec.txt ;
LibA52 $(SUBDIR)/lib/liba52.a : $(SUBDIR)/a52dec.tar.gz ;
+# FAAD2
+rule LibFaad2
+{
+ Depends $(<) : $(>) ;
+ Depends lib : $(<) ;
+}
+
+actions LibFaad2
+{
+ cd `dirname $(>)` && CONTRIB=`pwd` &&
+ rm -rf faad2 && (gzip -dc faad2.tar.gz | tar xf -) &&
+ cd faad2 && $(PATCH) -p1 < ../patch-faad2-libtool22.patch &&
+ ./bootstrap && ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared && $(MAKE) && $(MAKE) install
+}
+Wget $(SUBDIR)/faad2.tar.gz : $(SUBDIR)/version_faad2.txt ;
+LibFaad2 $(SUBDIR)/lib/libfaad.a : $(SUBDIR)/faad2.tar.gz ;
+
# libavcodec
rule LibAvCodec
{
FFMPEG_PATCH = "$(PATCH) -p0 < ../patch-ffmpeg.patch" ;
+ FFMPEG_PATCH += " && $(PATCH) -p0 < ../patch-ffmpeg-latm.patch " ;
+ FFMPEG_PATCH += " && $(PATCH) -p0 < ../patch-ffmpeg-mpegleak.patch " ;
if $(OS) = CYGWIN
{
FFMPEG_PATCH += " && $(PATCH) -p1 < ../patch-ffmpeg-cygwin.patch " ;
else if $(OS) = SOLARIS
{
FFMPEG_PATCH += " && $(PATCH) -p1 < ../patch-ffmpeg-solaris.patch " ;
- FFMPEG_OPTIONS = " --disable-mmx --extra-cflags=-fpic " ;
+ }
+
+ if $(OS) = SOLARIS
+ {
+ #
+ # Not all of ffmpeg works on Solaris - disable the bits that
+ # don't. When we get new versions of FFMPEG we can try enabling
+ # then again.
+ #
+ FFMPEG_EXTRA_OPTIONS = "--disable-vis --disable-demuxer=mpc8 --disable-vhook" ;
}
+
Depends $(<) : $(>) ;
Depends lib : $(<) ;
}
cd `dirname $(>)` && CONTRIB=`pwd` &&
rm -rf ffmpeg && (gzip -dc ffmpeg.tar.gz | tar xf -) &&
cd ffmpeg && $(FFMPEG_PATCH) &&
- ./configure --prefix=$CONTRIB --enable-gpl --enable-pthreads --enable-swscaler --disable-audio-beos --disable-shared --enable-static \
- --disable-decoders --enable-decoder=mp2 --disable-parsers --enable-parser=mpegaudio \
- --disable-encoders --enable-encoder=mpeg4 --enable-encoder=ac3 --enable-encoder=snow \
- --disable-muxers --enable-muxer=ipod --disable-demuxers --disable-protocols --disable-bsfs &&
+ ./configure --prefix=$CONTRIB --enable-gpl --enable-pthreads --enable-swscale \
+ --disable-shared --enable-static --disable-encoders \
+ --enable-encoder=mpeg4 --enable-encoder=ac3 --enable-encoder=snow \
+ --enable-libfaad --disable-ffmpeg --disable-ffserver \
+ --disable-muxers --enable-muxer=ipod --disable-bsfs \
+ --extra-cflags="-I$CONTRIB/include" \
+ --extra-ldflags="-L$CONTRIB/lib" $(FFMPEG_EXTRA_OPTIONS) &&
$(MAKE) && $(MAKE) install &&
$(STRIP) $CONTRIB/lib/libavcodec.a
}
LibAvUtil $(SUBDIR)/lib/libavformat.a : $(SUBDIR)/lib/libavcodec.a ;
LibAvUtil $(SUBDIR)/lib/libswscale.a : $(SUBDIR)/lib/libavcodec.a ;
-# CSS doesn't work on Cygwin/Windows as of now, so don't use it.
-if $(OS) != CYGWIN
+# HandBrake does not include a DVD decrypting library,
+# so if a user requests it, let them download and compile it from a 3rd party
+if $(CSS) = 1
{
# libdvdcss
# We need libdvdcss.so for libdvdread's configure to work...
actions LibDvdCss
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
- rm -rf libdvdcss && (gzip -dc libdvdcss.tar.gz | tar xf - ) &&
- cd libdvdcss &&
+ rm -rf libdvdcss-1.2.9 && (gzip -dc libdvdcss.tar.gz | tar xf - ) &&
+ cd libdvdcss-1.2.9 &&
./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache && $(MAKE) && $(MAKE) install &&
$(STRIP) $CONTRIB/lib/libdvdcss.a
}
{
Depends $(<) : $(>) ;
Depends lib : $(<) ;
+
+ if $(OS) = MACOSX
+ {
+ DVDREAD_PATCH = "$(PATCH) -p0 < ../patch-libdvdread-css-vlc-dylib.patch &&" ;
+ }
+
}
-if $(OS) != CYGWIN
+if $(CSS) = 1 # Include CSS support in libdvdread if requested
{
actions LibDvdRead
{
else {
# Cygwin/Windows doesn't use CSS as of now, so don't include it on the
# configure line.
+ # MacOSX uses a dylib for CSS, so it doesn't need including there either.
actions LibDvdRead
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
- rm -rf libdvdread && (gzip -dc libdvdread.tar.gz | tar xf - ) &&
- cd libdvdread &&
+ rm -rf libdvdread && (gzip -dc libdvdread.tar.gz | tar xf - ) &&
+ cd libdvdread && $(DVDREAD_PATCH)
./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared &&
$(MAKE) && $(MAKE) install &&
$(STRIP) $CONTRIB/lib/libdvdread.a
{
Depends $(<) : $(>) ;
Depends lib : $(<) ;
+ if $(OS) = CYGWIN
+ {
+ CYGWIN_PATCH = "$(PATCH) -p1 < ../patch-faac-cygwin.patch &&" ;
+ }
}
actions LibFaac
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
- rm -rf faac && (gzip -dc faac.tar.gz | tar xf - ) && cd faac &&
- ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared --enable-static &&
+ rm -rf faac && (gzip -dc faac.tar.gz | tar xf - ) && cd faac && $(CYGWIN_PATCH) ./bootstrap &&
+ ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared --enable-static --without-mp4v2 &&
$(MAKE) && $(MAKE) install &&
$(STRIP) $CONTRIB/lib/libfaac.a
}
LIBMP4V2_PATCH += "$(PATCH) -p1 < ../patch_mpeg4ip_cygwin.patch && " ;
}
LIBMP4V2_PATCH += "$(PATCH) -p1 < ../patch-mpeg4ip.patch && " ;
+ LIBMP4V2_PATCH += "$(PATCH) -p1 < ../patch-mpeg4ip-nasm-2.00-configure.patch && " ;
+ LIBMP4V2_PATCH += "$(PATCH) -p1 < ../patch-mpeg4ip-ac3.patch && " ;
+ LIBMP4V2_PATCH += "$(PATCH) -p1 < ../patch-mpeg4ip-colr.patch && " ;
Depends $(<) : $(>) ;
Depends lib : $(<) ;
}
{
cd `dirname $(>)` && CONTRIB=`pwd` &&
rm -rf mpeg2dec && (gzip -dc mpeg2dec.tar.gz | tar xf - ) &&
- cd mpeg2dec && $(PATCH) -p1 < ../patch-libmpeg2.patch &&
- ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared --disable-sdl &&
+ cd mpeg2dec &&
+ ./configure --prefix=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared --disable-sdl --without-x &&
$(MAKE) && $(MAKE) install &&
$(STRIP) $CONTRIB/lib/libmpeg2.a
}
}
LibVorbisEnc $(SUBDIR)/lib/libvorbisenc.a : $(SUBDIR)/lib/libvorbis.a ;
+# libtheora
+rule LibTheora
+{
+ Depends $(<) : $(>) ;
+ Depends lib : $(<) ;
+}
+actions LibTheora
+{
+ cd `dirname $(>)` && CONTRIB=`pwd` && rm -rf libtheora &&
+ (gzip -dc libtheora.tar.gz | tar xf - ) && cd libtheora &&
+ HAVE_PKG_CONFIG="no" && export HAVE_PKG_CONFIG &&
+ ./configure --prefix=$CONTRIB --with-ogg=$CONTRIB --with-vorbis=$CONTRIB --cache-file=$CONTRIB/config.cache --disable-shared \
+ --disable-oggtest --disable-vorbistest --disable-sdltest --disable-examples &&
+ $(MAKE) && $(MAKE) install &&
+ $(STRIP) $CONTRIB/lib/libtheora.a
+}
+Wget $(SUBDIR)/libtheora.tar.gz : $(SUBDIR)/version_libtheora.txt ;
+LibTheora $(SUBDIR)/lib/libtheora.a : $(SUBDIR)/libtheora.tar.gz ;
+
# libx264
rule LibX264
{
{
LIBX264_PATCH += " $(PATCH) -p1 < ../patch-x264-solaris.patch && " ;
}
-# AQ is temporarily disabled LIBX264_PATCH += "$(PATCH) -p0 < ../patch-x264-aq.patch && " ;
LIBX264_PATCH += "$(PATCH) -p0 < ../patch-x264-idr.patch && " ;
- LIBX264_PATCH += "$(PATCH) -p0 < ../patch-x264-vbv-2pass.patch && " ;
- Depends $(<) : $(>) ;
+ Depends $(<) : $(>) ;
Depends lib : $(<) ;
}
actions LibX264
{
LIBXVIDCORE_PATCH = "$(PATCH) -p1 < ../patch-xvidcore-cygwin.patch && " ;
}
+ LIBXVIDCORE_PATCH += "$(PATCH) -p1 < ../patch-xvidcore-nasm-2.00-configure.patch && " ;
+ LIBXVIDCORE_PATCH += "$(PATCH) -p1 < ../patch-xvidcore-fdct.patch && " ;
Depends $(<) : $(>) ;
Depends lib : $(<) ;
}