From: lekma Date: Wed, 30 Sep 2015 14:02:44 +0000 (+0200) Subject: Makefile(s): fix libmfx support X-Git-Tag: v4.2.1~2013 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d58eeb96b710c3dceffd0dabd05efd298bfa5c21;p=thirdparty%2Ftvheadend.git Makefile(s): fix libmfx support --- diff --git a/Makefile b/Makefile index 87afe178e..41a00b368 100644 --- a/Makefile +++ b/Makefile @@ -85,12 +85,21 @@ LDFLAGS += -lx265 endif endif LDFLAGS += ${LDFLAGS_FFDIR}/libvpx.a +CONFIG_LIBMFX_VA_LIBS = ifeq ($(CONFIG_LIBMFX),yes) +CONFIG_LIBMFX_VA_LIBS += -lva +ifeq ($(CONFIG_VA_DRM),yes) +CONFIG_LIBMFX_VA_LIBS += -lva-drm +endif +ifeq ($(CONFIG_VA_X11),yes) +CONFIG_LIBMFX_VA_LIBS += -lva-x11 +endif ifeq ($(CONFIG_LIBMFX_STATIC),yes) -LDFLAGS += ${LDFLAGS_FFDIR}/libmfx.a -lstdc++ -lva-drm -lva +LDFLAGS += ${LDFLAGS_FFDIR}/libmfx.a -lstdc++ else LDFLAGS += -lmfx endif +LDFLAGS += ${CONFIG_LIBMFX_VA_LIBS} endif endif @@ -660,6 +669,7 @@ ${ROOTDIR}/libav_static/build/ffmpeg/lib/libavcodec.a: Makefile.ffmpeg CONFIG_LIBX265_STATIC=$(CONFIG_LIBX265_STATIC) \ CONFIG_LIBMFX=$(CONFIG_LIBMFX) \ CONFIG_LIBMFX_STATIC=$(CONFIG_LIBMFX_STATIC) \ + CONFIG_LIBMFX_VA_LIBS="$(CONFIG_LIBMFX_VA_LIBS)" \ $(MAKE) -f Makefile.ffmpeg build # Static HDHOMERUN library diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg index fd04d4ccf..5753c043f 100644 --- a/Makefile.ffmpeg +++ b/Makefile.ffmpeg @@ -53,7 +53,7 @@ ECFLAGS = -I$(LIBAVDIR)/build/ffmpeg/include ELIBS = -L$(LIBAVDIR)/build/ffmpeg/lib -ldl EXTRAENV = -CONFIGURE = TVHEADEND_LIBAV_BUILD=$(LIBAVDIR)/ffmpeg \ +CONFIGURE = TVHEADEND_LIBAV_BUILD=$(LIBAVDIR)/build/ffmpeg \ PKG_CONFIG=$(ROOTDIR)/support/pkg-config.ffmpeg ./configure FFMPEG = ffmpeg-2.8 @@ -136,6 +136,8 @@ EXTLIBS += libmfx DECODERS += mpeg2_qsv h264_qsv hevc_qsv ENCODERS += mpeg2_qsv h264_qsv hevc_qsv +ELIBS += $(CONFIG_LIBMFX_VA_LIBS) + endif ifeq (yes,$(CONFIG_LIBMFX_STATIC)) @@ -149,8 +151,9 @@ $(LIBAVDIR)/$(LIBMFX)/.tvh_build: \ $(LIBAVDIR)/$(LIBMFX)/.tvh_download cd $(LIBAVDIR)/$(LIBMFX) && autoreconf -i cd $(LIBAVDIR)/$(LIBMFX) && ./configure \ - --with-libva_drm \ - --prefix=/ffmpeg + --prefix=/ffmpeg \ + --enable-static \ + --disable-shared DESTDIR=$(LIBAVDIR)/build \ $(MAKE) -C $(LIBAVDIR)/$(LIBMFX) install @touch $@ @@ -185,7 +188,7 @@ $(LIBAVDIR)/$(LIBOGG)/.tvh_build: \ $(LIBAVDIR)/$(YASM)/.tvh_build \ $(LIBAVDIR)/$(LIBOGG)/.tvh_download cd $(LIBAVDIR)/$(LIBOGG) && $(CONFIGURE) \ - --prefix=/ffmpeg \ + --prefix=/ffmpeg \ --enable-static \ --disable-shared DESTDIR=$(LIBAVDIR)/build \ @@ -267,8 +270,6 @@ endif ifeq (yes,$(CONFIG_LIBX265_STATIC)) -ELIBS += -lva-drm -lva - $(LIBAVDIR)/$(LIBX265)/.tvh_download: $(call DOWNLOAD,$(LIBX265_URL),$(LIBAVDIR)/$(LIBX265_TB),$(LIBX265_SHA1)) $(call UNTAR,$(LIBX265_TB),z) diff --git a/configure b/configure index f6c0e02fc..5bd995722 100755 --- a/configure +++ b/configure @@ -39,7 +39,7 @@ OPTIONS=( "libx265:no" "libx265_static:yes" "libmfx:no" - "libmfx_static:no" + "libmfx_static:yes" "inotify:auto" "epoll:auto" "uriparser:auto" @@ -400,9 +400,27 @@ if enabled libffmpeg_static; then fi # libmfx - if enabled libmfxdis; then - check_cc_lib libva-drm || die "libva-drm not found" - check_cc_lib mfx || die "libmfx not found" + if enabled libmfx; then + check_cc_lib va || die "libva not found" + check_cc_lib va-drm va_drm || disable va_drm + check_cc_lib va-x11 va_x11 || disable va_x11 + if disabled va_drm && disabled va_x11; then + die "neither libva-drm nor libva-x11 was found" + fi + if enabled libmfx_static; then + check_bin autoreconf ||\ + die "autoreconf not found (needed for building libmfx)" + check_bin libtool ||\ + die "libtool not found (needed for building libmfx)" + check_bin libtoolize ||\ + die "libtoolize not found (needed for building libmfx)" + check_cc_lib stdc++ stdcpp ||\ + die "libstdc++ not found (needed for building libmfx)" + else + check_cc_lib mfx || die "libmfx not found" + fi + else + disable libmfx_static fi else