-__deps__ := YASM FDKAAC LIBVPX LAME LIBOPUS LIBSPEEX
+__deps__ := YASM FDKAAC LIBVPX LAME LIBOPUS LIBSPEEX XZ
ifeq (1,$(FEATURE.qsv))
__deps__ += LIBMFX
endif
--disable-decoder=wmv3_crystalhd \
--disable-bzlib \
--disable-zlib \
+ --enable-lzma \
--cc="$(FFMPEG.GCC.gcc)" \
--extra-ldflags="$(call fn.ARGS,FFMPEG.GCC,*archs *sysroot *minver ?extra) -L$(call fn.ABSOLUTE,$(CONTRIB.build/)lib)"
--- /dev/null
+$(eval $(call import.MODULE.defs,XZ,xz))
+$(eval $(call import.CONTRIB.defs,XZ))
+
+XZ.FETCH.url = https://download.handbrake.fr/handbrake/contrib/xz-5.2.4.tar.bz2
+XZ.FETCH.url += https://tukaani.org/xz/xz-5.2.4.tar.bz2
+XZ.FETCH.sha256 = 3313fd2a95f43d88e44264e6b015e7d03053e681860b0d5d3f9baca79c57b7bf
+
+XZ.CONFIGURE.extra = \
+ --disable-xz \
+ --disable-xzdec \
+ --disable-lzmadec \
+ --disable-lzmainfo \
+ --disable-scripts \
+ --disable-doc
+
--- /dev/null
+$(eval $(call import.MODULE.rules,XZ))
+$(eval $(call import.CONTRIB.rules,XZ))
GHB_CFLAGS="$HBINC $GHB_CFLAGS"
-HB_LIBS="-lhandbrake -lavresample -lavformat -lavfilter -lavcodec -lavutil -lswresample -lpostproc -ldvdnav -ldvdread -lmp3lame -lvorbis -lvorbisenc -logg -lsamplerate -lx264 -lswscale -ltheoraenc -ltheoradec -lvpx -lz -lbz2 -lbluray -lass -lfontconfig -lfreetype -lxml2 -ljansson -lopus -lspeex"
+HB_LIBS="-lhandbrake -lavresample -lavformat -lavfilter -lavcodec -lavutil -lswresample -lpostproc -ldvdnav -ldvdread -lmp3lame -lvorbis -lvorbisenc -logg -lsamplerate -lx264 -lswscale -ltheoraenc -ltheoradec -lvpx -lz -lbz2 -lbluray -lass -lfontconfig -lfreetype -lxml2 -ljansson -lopus -lspeex -llzma"
case $host in
*-*-mingw*)
LIBHB.GCC.l += z
endif
+ifneq ($(HAS.xz),1)
+LIBHB.dll.libs += $(CONTRIB.build/)lib/liblzma.a
+else
+ LIBHB.GCC.l += lzma
+endif
+
LIBHB.GCC.args.extra.dylib++ += -Wl,--out-implib,$(LIBHB.lib)
LIBHB.GCC.l += bcrypt ws2_32 uuid ole32
ifeq ($(HAS.dlfcn),1)
libz = LDProbe( 'static zlib', '%s -static' % Tools.gcc.pathname, '-lz', libz_test )
libz.run()
+ xz_test = """
+#include <stdio.h>
+#include <lzma.h>
+int main ()
+{
+ lzma_stream_decoder(NULL, 0, 0);
+ return 0;
+}
+"""
+ xz = LDProbe( 'static xz', '%s -static' % Tools.gcc.pathname, '-llzma', xz_test )
+ xz.run()
+
iconv_test = """
#include <stdio.h>
#include <iconv.h>
doc.add( 'HAS.bz2', 1 )
if not libz.fail:
doc.add( 'HAS.libz', 1 )
+ if not xz.fail:
+ doc.add( 'HAS.xz', 1 )
if not iconv.fail:
doc.add( 'HAS.iconv', 1 )
if not regex.fail:
$(1).CONFIGURE.env.CFLAGS = CFLAGS="-I$$(call fn.ABSOLUTE,$(CONTRIB.build/))include $$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver ?c_std ?extra *D)"
$(1).CONFIGURE.env.CXXFLAGS = CXXFLAGS="-I$$(call fn.ABSOLUTE,$(CONTRIB.build/))include $$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver ?cxx_std ?extra *D)"
endif
- $(1).CONFIGURE.env.CPPFLAGS = CPPFLAGS="-I$$(call fn.ABSOLUTE,$(CONTRIB.build/))include $$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver ?extra *D)"
+ $(1).CONFIGURE.env.CPPFLAGS = CPPFLAGS="-I$$(call fn.ABSOLUTE,$(CONTRIB.build/))include $$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver *D)"
$(1).CONFIGURE.env.LDFLAGS = LDFLAGS="-L$$(call fn.ABSOLUTE,$(CONTRIB.build/))lib $$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver ?extra.exe *D)"
$(1).CONFIGURE.env.PKG_CONFIG_PATH = PKG_CONFIG_PATH="$$(call fn.ABSOLUTE,$$(CONTRIB.build/))lib/pkgconfig"
ifneq ($(HAS.iconv),1)
MODULES += contrib/libiconv
endif
+ifneq ($(HAS.xz),1)
+ MODULES += contrib/xz
+endif
ifneq ($(HAS.libz),1)
MODULES += contrib/zlib
endif
ass avresample avformat avfilter avcodec avutil swresample postproc mp3lame dvdnav \
dvdread fribidi \
samplerate swscale vpx theoraenc theoradec vorbis vorbisenc ogg x264 \
- bluray freetype xml2 bz2 z jansson harfbuzz opus speex
+ bluray freetype xml2 bz2 z jansson harfbuzz opus speex lzma
ifeq (,$(filter $(BUILD.system),darwin cygwin mingw))
TEST.GCC.l += fontconfig