X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=contrib%2FJamfile;h=9bd41485bb4ed71420f4f64e4279e8dcfebe23bb;hb=71cf1adb20ac9c309e47ed2eac6b464a196b054d;hp=54e2865338019c70c4c748b995007daca32dbc1f;hpb=7b4b8d3c9ce263e64a2f6185504856628bd69b00;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/contrib/Jamfile b/contrib/Jamfile index 54e28653..9bd41485 100644 --- a/contrib/Jamfile +++ b/contrib/Jamfile @@ -57,10 +57,29 @@ actions LibA52 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 " ; @@ -68,8 +87,18 @@ rule LibAvCodec 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 : $(<) ; } @@ -78,10 +107,13 @@ actions LibAvCodec 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 } @@ -101,8 +133,9 @@ LibAvUtil $(SUBDIR)/lib/libavutil.a : $(SUBDIR)/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... @@ -114,8 +147,8 @@ if $(OS) != CYGWIN 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 } @@ -145,8 +178,14 @@ rule LibDvdRead { 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 { @@ -161,11 +200,12 @@ if $(OS) != CYGWIN 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 @@ -179,12 +219,16 @@ rule LibFaac { 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 } @@ -217,6 +261,9 @@ rule LibMp4v2 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 : $(<) ; } @@ -261,8 +308,8 @@ actions LibMpeg2 { 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 } @@ -334,6 +381,25 @@ actions LibVorbisEnc } 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 { @@ -346,10 +412,8 @@ 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 @@ -375,6 +439,8 @@ rule LibXvidCore { 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 : $(<) ; }